RT-Thread 國產RTOS系統介紹
1.寫在前面
大概是2014年9月,接過主管交接的專案,專案以STM32F103ZET6硬體平臺,而執行的實時系統(RTOS)正是RT-Thread(RTT)。也是從此時開始接觸到RTT,國人自己寫的開源系統,從此對其也是“愛不釋手”。在往後的工作中,一直在使用,特別是在後來換了份工作,在新東家裡用RTT開發了幾款產品,併成功量產上市,期間給自己也帶來了財富和才華。比較慚愧的是,在RTT伴隨著自己職業生涯的幾年裡,除了給身邊的同行、朋友推薦RTT,及在各大論壇(CSDN、21ic、opendv)推薦RTT外,暫未沒有向RTT原始碼倉庫提交過自己的程式碼,一直是作為“伸手黨”。RTT是一個開源的RTOS,其能夠快速壯大,離不開作者熊大和開源社群開發大牛的力量,所以總結下過往的使用經驗,並整理下以往的程式碼,在不違反公司制度的前提下開源提交到倉庫(GitHub),努力為RTT貢獻一份力量。恰逢最近發生比較影響比較大的事件——中美貿易戰及中興被美禁售晶片。從該事件中也暴露出我國的短板——晶片和作業系統,而晶片和作業系統都是一個長時間積累的過程,特別是作業系統,需要一個完善的生態鏈,簡單說就是需要廣大的開發者參與進來,形成一個開發生態鏈,如手機的安卓系統。故,讓更多同行知道RTT,並參與到開發中,發展屬於自己國人的作業系統。
2.官方介紹
RT-Thread是一個集實時作業系統(RTOS)核心、中介軟體元件和開發者社群於一體的技術平臺,由熊譜翔先生帶領並集合開源社群力量開發而成,RT-Thread也是一個元件完整豐富、高度可伸縮、簡易開發、超低功耗、高安全性的物聯網作業系統。RT-Thread具備一個IoT OS平臺所需的所有關鍵元件,例如GUI、網路協議棧、安全傳輸、低功耗元件等等。經過11年的累積發展,RT-Thread已經擁有一個國內最大的嵌入式開源社群,同時被廣泛應用於能源、車載、醫療、消費電子等多個行業,累積裝機量超過兩千萬臺,成為國人自主開發、國內最成熟穩定和裝機量最大的開源RTOS。
RT-Thread擁有良好的軟體生態,支援市面上所有主流的編譯工具如GCC、Keil、IAR等,工具鏈完善、友好,支援各類標準介面,如POSIX、CMSIS、C++應用環境、Javascript執行環境等,方便開發者移植各類應用程式。商用支援所有主流MCU架構,如ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,幾乎支援市場上所有主流的MCU和Wi-Fi晶片。
3.個人使用體會
1)支援的CPU眾多,支援當前應用中的主流架構的CPU,並且都移植好相關bsp包,幾乎是獲取原始碼即可執行,免去新手複雜的環境構建步驟。
2)佔用資源小,官方介紹最小配置時,核心可以到3K ROM和1K RAM 的佔用。正常使用一片STM32F103C8T6(20k RAM,64 k flash)都能跑起來。
3)支援的任務(執行緒)數量無限制,256個優先順序,支援時間片輪詢。這對處理多個任務或者對於時間片要求比較嚴格的任務非常有優勢。
4)完善的外設,如spi、i2c、uart等匯流排驅動,及TCP/IP協議棧、檔案系統、資料庫(sqlite3)等資源的支援。使用時,常用的底層不需經過大量修改,只需根據框架增加特殊的驅動,然後將主要的精力花在應用開發上。
5)Linux風格,熟悉Linux的可以很快上手。提供finsh shell、mash shell,類似Linux的命令列模式,能夠解析C程式碼,在命令終端執行程式碼,對於除錯、打log、記憶體檢視等非常有用。為了節省資源,程式碼發行時關閉finsh shell即可。
6)本人已在使用RTT的專案有3款,以及內部使用的工具2款,有帶GUI的也有隻使用核心的,產品經過長時間的連續不斷電使用,目前為止沒有發現因為是RTT的bug而導致的問題。因此RTT經過十多年的沉澱還是非常穩定的。
7)寫該文章的目的之一,就是讓嵌入式同行者知道並使用RTT,而且RTT是經過實際領域應用考驗的,打破他們在此之前對RTT穩定性的懷疑態度。
4.相關資源
[1] 官方地址:https://www.rt-thread.org/index.html
[2] 原始碼倉庫:https://github.com/RT-Thread/rt-thread
[3] 程式設計指南:http://download.rt-thread.org/download/manual/rtthread_manual.zh.pdf
---------------------
作者:Acuity-
來源:CSDN
原文:https://blog.csdn.net/qq_20553613/article/details/80008099
版權宣告:本文為博主原創文章,轉載請附上博文連結!