关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | strongerHuang


全球RTOS有上百款,但市面上常用的差不多也就10款左右。

首先问下大家,你们最常用哪款RTOS?
今天给大家整理下市面上常见RTOS的一些特点。

一、FreeRTOS
官网地址:

https://www.freertos.org/


源码地址:

https://github.com/FreeRTOS


1、开源免费

FreeRTOS 内核以及其他组件库,遵循 MIT 开源许可。


官方还提供了两个基于FreeRTOS内核的商业授权版本:‌OpenRTOS和 SafeRTOS.


更多细节可以参看:

https://www.freertos.org/Documentation/02-Kernel/01-About-the-FreeRTOS-kernel/04-Licensing


2、轻量化

FreeRTOS支持裁剪(通过FreeRTOSConfig.h配置文件)可以做到使用极少RAM和Flash资源。


3、学习资料丰富

FreeRTOS是目前全球市场占有率最高的一款RTOS,因此,不管是官方,还是网络上都有大量的学习资料和视频教程。


同时,官方还提供了中文网页,极大的方便了英文不是很好的国人学习FreeRTOS。


二、RT-Thread
官网地址:

https://www.rt-thread.org/


源码地址:

https://github.com/RT-Thread/rt-thread

https://gitee.com/rtthread/rt-thread


1、开源免费

RT-Thread 遵循Apache-2.0版本开源许可。


2、组件丰富

RT-Thread提供了市场上常用的一些组件,以及一套IOT链接组件。




3、学习资料丰富

RT-Thread是国内最早的一批RTOS,这些年发展也很快,官方提供了专业大量的学习资料,关键还是中文版本的,特别适合国人学习。


https://www.rt-thread.org/document/site/#/


三、μCOS
为啥还有µCOS?那是因为70 ~ 90后这一代人见证了µCOS的辉煌。估计很多95后、00后都没听过µCOS。

官网地址:

https://www.silabs.com/developers/micrium

(原:http://micrium.com)


维护网站:

www.weston-embedded.com

(这网址需要梯子才能访问)


源码地址:

https://github.com/weston-embedded


1、开源免费

µCOS内核以及其他组件库,遵循 Apache-2.0开源许可。

https://weston-embedded.com/micrium-licensing

早期的µCOS是瑞三开源,但商业付费,2016年被Silicon Labs收购之后不久开启了免费商用。

2、源码规范、结构清晰、注释明了

µCOS是我见过所有RTOS内核源码中最规范的一款,即便是新手,只要你C语言基础扎实,看懂其内核源码都相对比较容易。


想要深入理解RTOS底层机制的同学,可以试着阅读µCOS内核源码。


3、轻量化

µCOS支持市面上绝大多数MCU,包括很多8位的资源紧张的MCU(比如早期的51单片机)。



µCOS的配置文件分类明确,描述也非常清晰,裁剪系统非常方便。



四、ThreadX
ThreadX经历了几次“变更”,早在2019年,微软收购ThreadX,将其重新命名为Azure RTOS。然后,在2023年宣布将其托管至 Eclipse 基金会,更名为 Eclipse ThreadX。

官网:

https://threadx.io/


源码地址:

https://github.com/eclipse-threadx


1、开源免费
目前(2025年)ThreadX遵循比较宽松的 MIT 开源许可。

参看:

https://threadx.io/faq/


ThreadX没有托管至 Eclipse 基金会之前是遵循微软的一种“简单协议”。

2、安全认证
ThreadX拥有许多难以获得的信息安全和安全认证,获取ThreadX安全许可协议需额外支付费用。


3、发展迅速
ThreadX在2019年微软收购之后,微软对其投入也是巨大,组件也是在迅速壮大。

托管至 Eclipse 基金会,推出ThreadX联盟等这一系列操作,能肉眼可见ThreadX发展之迅速。


五、Zephyr
Zephyr是一款年轻一点的RTOS,但近几年在快速发展,特别是近两年动作之大。

前不久发布的V4.1还与老牌的FreeRTOS进行PK:Zephyr和FreeRTOS性能对比

官网:

https://zephyrproject.org/


源码地址:

https://github.com/zephyrproject-rtos


1、开源免费
Zephyr遵循 Apache-2.0开源许可。
2、资料丰富

如果你有关注Zephyr,你会发现它这几年的发展速度真的很快。有一个原因就是资料丰富。


https://docs.zephyrproject.org/latest/introduction/index.html


3、支持多种架构

Zephyr不但能款平台开发,它还支持多种处理器架构。

  • ARCv2 (EM and HS) and ARCv3 (HS6X)

  • ARMv6-M, ARMv7-M, and ARMv8-M (Cortex-M)

  • ARMv7-A and ARMv8-A (Cortex-A, 32- and 64-bit)

  • ARMv7-R, ARMv8-R (Cortex-R, 32- and 64-bit)

  • Intel x86 (32- and 64-bit)

  • MIPS (MIPS32 Release 1 specification)

  • Renesas RX

  • RISC-V (32- and 64-bit)

  • SPARC V8

  • Tensilica Xtensa


六、NuttX
有接触小米物联网相关开发的朋友应该知道NuttX,早在2018年的时候,我接触一个无人机项目的时候,了解了NuttX这款系统

官网:

https://nuttx.apache.org/


源码地址:

https://github.com/apache/nuttx


1、开源免费
NuttX遵循 Apache-2.0开源许可。
2、标准API
NuttX管理标准是 POSIX 和 ANSI 标准,还采用来自 Unix 和其他常见 RTOS的额外标准 API
3、支持平台丰富
NuttX兼容多种处理器架构,涵盖了市面上大部分处理器。
可以参看:

https://nuttx.apache.org/docs/latest/platforms/index.html

时间有限,就分享到这里,你们最常用哪款RTOS?欢迎留言区讨论。
------------ END ------------

图片

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


点击“阅读原文”查看更多分享