微信公眾號 | strongerHuang
全球RTOS有上百款,但市面上常用的差不多也就10款左右。
首先問下大家,你們最常用哪款RTOS?今天給大家整理下市面上常見RTOS的一些特點。
一、FreeRTOS
官網地址:https://www.freertos.org/
源碼地址:https://github.com/FreeRTOS
1、開源免費
FreeRTOS 內核以及其他組件庫,遵循 MIT 開源許可。
官方還提供了兩個基于FreeRTOS內核的商業(yè)授權版本:?OpenRTOS和 SafeRTOS.
更多細節(jié)可以參看: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,這些年發(fā)展也很快,官方提供了專業(yè)大量的學習資料,關鍵還是中文版本的,特別適合國人學習。
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是瑞三開源,但商業(yè)付費,2016年被Silicon Labs收購之后不久開啟了免費商用。
2、源碼規(guī)范、結構清晰、注釋明了
μCOS是我見過所有RTOS內核源碼中最規(guī)范的一款,即便是新手,只要你C語言基礎扎實,看懂其內核源碼都相對比較容易。
想要深入理解RTOS底層機制的同學,可以試著閱讀μCOS內核源碼。
3、輕量化
μCOS支持市面上絕大多數MCU,包括很多8位的資源緊張的MCU(比如早期的51單片機)。
μCOS的配置文件分類明確,描述也非常清晰,裁剪系統(tǒng)非常方便。
四、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 基金會之前是遵循微軟的一種“簡單協(xié)議”。
2、安全認證ThreadX擁有許多難以獲得的信息安全和安全認證,獲取ThreadX安全許可協(xié)議需額外支付費用。
3、發(fā)展迅速ThreadX在2019年微軟收購之后,微軟對其投入也是巨大,組件也是在迅速壯大。
托管至 Eclipse 基金會,推出ThreadX聯盟等這一系列操作,能肉眼可見ThreadX發(fā)展之迅速。
五、Zephyr
Zephyr是一款年輕一點的RTOS,但近幾年在快速發(fā)展,特別是近兩年動作之大。
前不久發(fā)布的V4.1還與老牌的FreeRTOS進行PK:Zephyr和FreeRTOS性能對比。
官網:https://zephyrproject.org/
源碼地址:https://github.com/zephyrproject-rtos
1、開源免費Zephyr遵循 Apache-2.0開源許可。2、資料豐富
如果你有關注Zephyr,你會發(fā)現它這幾年的發(fā)展速度真的很快。有一個原因就是資料豐富。
https://docs.zephyrproject.org/latest/introduction/index.html
3、支持多種架構
Zephyr不但能款平臺開發(fā),它還支持多種處理器架構。
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
有接觸小米物聯網相關開發(fā)的朋友應該知道NuttX,早在2018年的時候,我接觸一個無人機項目的時候,了解了NuttX這款系統(tǒng)。
官網: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?歡迎留言區(qū)討論。