关注+星标公众号,不错过精彩内容
作者 | 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的配置文件分类明确,描述也非常清晰,裁剪系统非常方便。
四、ThreadXThreadX经历了几次“变更”,早在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发展之迅速。
五、ZephyrZephyr是一款年轻一点的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、标准APINuttX管理标准是 POSIX 和 ANSI 标准,还采用来自 Unix 和其他常见 RTOS的额外标准 API。3、支持平台丰富NuttX兼容多种处理器架构,涵盖了市面上大部分处理器。可以参看:https://nuttx.apache.org/docs/latest/platforms/index.html
时间有限,就分享到这里,你们最常用哪款RTOS?欢迎留言区讨论。------------ END ------------●专栏《嵌入式工具》
●专栏《嵌入式开发》
●专栏《Keil教程》
●嵌入式专栏精选教程
关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
点击“阅读原文”查看更多分享。