【01】初识ThreadX

【01】初识ThreadX简介ThreadX是一个成熟的商用硬实时嵌入式操作系统,被广泛应用于消费电子、航空航天、通信、工业控制与医疗等应用领域中,至今已服务超过62亿设备。它以轻量级的规模,提供了良好的实时性、可靠性与易用性,是嵌入式开发中不错的RTOS选择。凭借良好的发展势头,其母公司ExpressLogic于2019年被微软收购。技术上,ThreadXRTOS提供了高级调度、通信、同步、定时器、内存…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

 

简介

微内核

资料链接

入门索引


简介

ThreadX是一个成熟的商用硬实时嵌入式操作系统,被广泛应用于消费电子、航空航天、通信、工业控制与医疗等应用领域中,至今已服务超过62亿设备。它以轻量级的规模,提供了良好的实时性、可靠性与易用性,是嵌入式开发中不错的RTOS选择。凭借良好的发展势头,其母公司Express Logic于2019年被微软收购。

技术上,ThreadX RTOS提供了高级调度、通信、同步、定时器、内存管理、中断管理等基础功能。以及微内核体系结构、抢占阀值调度、事件链接、执行概要、性能指标和系统事件跟踪等高级特性。

作为一款老牌成熟商用操作系统,ThreadX提供了多种授权方案,包含Single Product、Single Product – Extended Branding、Product Family License、Microprocessor License、OEM License,甚至还有Custom License存在。并且授权后会提供完整源码,不收取运行时费用,也没有任何隐藏收费款项。


微内核

ThreadX采用微内核设计思想。所谓微内核,顾名思义就是精简的内核。将一般宏内核(例如linux kernel)中集成的系统服务层分离出来,变成可以根据需求动态加入的选件。优点是扩展性更高,资源占用更低,便于优化。缺点是标准微内核只提供了系统调度与核心功能,需要根据项目需求实现相关驱动,开发难度较大。

很重要的一点,微内核如果要对系统进行升级,只要用新模块替换旧模块即可,不需要改变整个操作系统,类似标准linux kernel的驱动模块。此外,ThreadX不像传统的内核架构那样在内核上层层叠加驱动,而是将服务直接插入核心调度。这样做能够提供更高效的上下文切换,提高服务调用性能。


资料链接

官网:https://rtos.com/solutions/threadx/real-time-operating-system/

Compatibility for POSIX:https://rtos.com/solutions/threadx/compatibility-for-posix/

API&User Guide:https://rtos.com/solutions/threadx/api/


入门索引

    ThreadX官网上提供了详细的文档、Windows下开发套件、多线程Demo。简要罗列如下:

 

  • ThreadX_User_Guide.pdf

    用户手册,入门必看。ThreadX采用picokernel”微内核”框架实现,目前最新版本为Version 5。

    没有额外说明的话,后续博文均默认参考该版本。

 

  • GUIX_User_Guide.pdf

    ThreadX提供了GUIX作为图形界面解决方案。GUIX专为嵌入式设计,原生就支持许多工业级显示需求。可以采用GUIX Studio快速开发。

 

  • GUIX_Studio_User_Guide-1.pdf

    ThreadX提供了运行于Windows环境的快速UI开发套件GUIX Studio。可以快速开发GUIX相关的图形界面程序。

 

  • FileX_User_Guide-1.pdf

    ThreadX提供了FileX作为文件系统解决方案。FileX支持FAT12、FAT16、FAT32、exFAT格式,可接入不限数量的存储设备(例如多块flash)。是一款采用连续分配实现的(ps:文件系统有三种分配方法,连续分配、链接分配和索引分配),高度优化的精简文件系统解决方案。

 

  • NetX_User_Guide-1.pdf

    ThreadX提供了NetX作为TCP/IP栈。NetX采用Piconet“微网络”框架,还实现了零拷贝机制,UDP快速寻址,BSD Socket API兼容等吸引人的特性。

 

  • NetX_Duo_User_Guide-1.pdf

    NetX Duo是基于NetX和Piconet的高性能实时网络解决方案。作为参考,其运行程序大小一般为5KB~30KB。

 

  • ThreadX_SMP_User_Guide.pdf

    ThreadX提供了SMP解决方案,同样采用picokernel”微内核”框架。作为参考,其运行程序大小一般为5KB~20KB。

 

  • USBX_Device_Stack_User_Guide-1.pdf
  • USBX_Host_Stack_User_Guide-1.pdf

    ThreadX提供了USBX作为USB框架,目前支持1.1、2.0和OTG规范(到2020.02.24为止还不支持3.0)。该框架分为设备侧与总线侧,两侧具有同样的三层结构:Controller layer | Stack layer | Class layer。

 

  • TraceX_User_Guide.pdf

    TraceX是一个运行于Windows环境的ThreadX RTOS系统分析工具。它提供了图形化的在线调试手段,便于用户分析嵌入式目标上运行的ThreadX系统事件信息,诊断系统问题,进行程序调优。

 

  • thread_metric_test_suite.zip

    官方发布的基准性能测试套件,用于测定当前ThreadX RTOS性能。

 

  • ThreadX_Demo_for_Win32.zip

    官方提供的上手Demo,一个完整的ThreadX多线程项目代码,可以在Windows环境中直接调试运行。

 

下一篇我们来搭建Windows端ThreadX学习开发环境。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215930.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月11日 下午10:22
下一篇 2025年7月11日 下午11:01


相关推荐

  • 数据库备份之我见(精华)

    数据库备份之我见(精华)

    2021年7月25日
    75
  • sql语言是编程语言吗_sql属于编程语言吗

    sql语言是编程语言吗_sql属于编程语言吗1.SQL操作的是数据   SQL是数据库的查询语言,因而可以对系统数据产生持久化影响。在常规编程中,一个错误通常只会造成程序的crash或bug,修改并重新调试往往就可以了;而在SQL中,一个不小心就可能造成系统数据的破坏和丢失。常常有新手执行SQL时,不小心遗漏了DELETE或UPDATE语句中的WHERE子句,这往往是很大的麻烦。   因此,学习和使用SQL,一开始应该养成两个习惯:

    2022年10月5日
    6
  • 随机梯度下降法介绍及其参数讲解「建议收藏」

    随机梯度下降法介绍及其参数讲解「建议收藏」随机梯度下降法算法介绍简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方。但是因为选择方向的原因,我们找到的的最低点可能不是真正的最低点。如图所示,黑线标注的路线所指的方向并不是真正的地方。既然是选择一个方向下山,那么这个方向怎么选?每次该怎么走?先说选方向,在算法中是以随机方式给出的,这也是造成有时候走不到真正最低点的原因。如果选定了方向,以后每走一步,都是选择最陡的方向,直到最低点。总结起来就一句话:随机选择一个方向,然后每次…

    2022年7月19日
    35
  • idea添加tomcat插件_tomcat配置idea

    idea添加tomcat插件_tomcat配置idea配置tomcat插件,一直报错,自己一点儿一点儿排错,一点儿一点儿,心态都要奔溃了,搜索了很多的教程都不行,花了34个小时,终于可以了,下面是错误信息,还有另一个但是我没来的及复制另一个错误信息,抱歉。错误信息:严重:Errorconfiguringapplicationlistenerofclassorg.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException:org.sp

    2022年10月10日
    6
  • new Set数组去重

    new Set数组去重利用该方法去重 script letarr 1 1 3 3 4 4 5 console log newSet arr 打印数组 1 3 4 5 script

    2025年10月2日
    7
  • centos7.6安装docker_docker自动部署多环境

    centos7.6安装docker_docker自动部署多环境前言前面一篇学了mac安装docker,这篇来学习在linux上安装docker环境准备Docker支持以下的CentOS版本,目前,CentOS仅发行版本中的内核支持Docker。Doc

    2022年7月29日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号