目录
简介
微内核
资料链接
入门索引
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采用picokernel"微内核"框架实现,目前最新版本为Version 5。
没有额外说明的话,后续博文均默认参考该版本。
ThreadX提供了GUIX作为图形界面解决方案。GUIX专为嵌入式设计,原生就支持许多工业级显示需求。可以采用GUIX Studio快速开发。
ThreadX提供了运行于Windows环境的快速UI开发套件GUIX Studio。可以快速开发GUIX相关的图形界面程序。
ThreadX提供了FileX作为文件系统解决方案。FileX支持FAT12、FAT16、FAT32、exFAT格式,可接入不限数量的存储设备(例如多块flash)。是一款采用连续分配实现的(ps:文件系统有三种分配方法,连续分配、链接分配和索引分配),高度优化的精简文件系统解决方案。
ThreadX提供了NetX作为TCP/IP栈。NetX采用Piconet“微网络”框架,还实现了零拷贝机制,UDP快速寻址,BSD Socket API兼容等吸引人的特性。
NetX Duo是基于NetX和Piconet的高性能实时网络解决方案。作为参考,其运行程序大小一般为5KB~30KB。
ThreadX提供了SMP解决方案,同样采用picokernel"微内核"框架。作为参考,其运行程序大小一般为5KB~20KB。
ThreadX提供了USBX作为USB框架,目前支持1.1、2.0和OTG规范(到2020.02.24为止还不支持3.0)。该框架分为设备侧与总线侧,两侧具有同样的三层结构:Controller layer | Stack layer | Class layer。
TraceX是一个运行于Windows环境的ThreadX RTOS系统分析工具。它提供了图形化的在线调试手段,便于用户分析嵌入式目标上运行的ThreadX系统事件信息,诊断系统问题,进行程序调优。
官方发布的基准性能测试套件,用于测定当前ThreadX RTOS性能。
官方提供的上手Demo,一个完整的ThreadX多线程项目代码,可以在Windows环境中直接调试运行。
下一篇我们来搭建Windows端ThreadX学习开发环境。