當前位置:首頁 > 技術(shù)學院 > 技術(shù)解析
[導(dǎo)讀]RT-Thread 是一款主要由中國開源社區(qū)主導(dǎo)開發(fā)的開源實時操作系統(tǒng)(許可證GPLv2)。實時線程操作系統(tǒng)不僅僅是一個單一的實時操作系統(tǒng)內(nèi)核,它也是一個完整的應(yīng)用系統(tǒng),包含了實時、嵌入式系統(tǒng)相關(guān)的各個組件:TCP/IP協(xié)議棧,libc接口,圖形用戶界面等。

RT-Thread 是一款主要由中國開源社區(qū)主導(dǎo)開發(fā)的開源實時操作系統(tǒng)(許可證GPLv2)。實時線程操作系統(tǒng)不僅僅是一個單一的實時操作系統(tǒng)內(nèi)核,它也是一個完整的應(yīng)用系統(tǒng),包含了實時、嵌入式系統(tǒng)相關(guān)的各個組件:TCP/IP協(xié)議棧,libc接口,圖形用戶界面等。

作為一名 RTOS 的初學者,也許你對 RT-Thread 還比較陌生。然而,隨著你的深入接觸,你會逐漸發(fā)現(xiàn) RT-Thread 的魅力和它相較于其他同類型 RTOS 的種種優(yōu)越之處。RT-Thread 是一款完全由國內(nèi)團隊開發(fā)維護的嵌入式實時操作系統(tǒng)(RTOS),具有完全的自主知識產(chǎn)權(quán)。經(jīng)過近 12 個年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個功能強大、組件豐富的物聯(lián)網(wǎng)操作系統(tǒng)。

1、RT-Thread 操作系統(tǒng)有哪些優(yōu)勢?

無論是stm32和51單片機工程師轉(zhuǎn)過來學習操作系統(tǒng)都需一個認識的過程的,RT-thread是一個輕量級的操作系統(tǒng),很小,但是也是一個操作系統(tǒng)。主要優(yōu)勢有這些:

跨芯片平臺:支持所有主流微控制器,解決設(shè)備碎片化問題。

實時操作系統(tǒng)內(nèi)核:完全自主開發(fā),硬實時,精致,高效,高度可定制。

云端一體化:設(shè)備端和云端一體化設(shè)計,輕松接入各類主流物聯(lián)網(wǎng)設(shè)備云平臺。

超低功耗設(shè)計:最大限度的降低系統(tǒng)功耗,針對不同應(yīng)用場景,采用自動功耗控制策略。

快速啟動:上電即啟動,毫秒級啟動時間,真正零等待開機。

安全性設(shè)計:層次化的系統(tǒng)安全架構(gòu),提供各類安全機制,保障應(yīng)用和系統(tǒng)安全。

智能AI引擎:集成音頻,圖像相關(guān)的各類算法和智能引擎。

開放平臺:獨立第三方開放平臺,支持各類,第三方軟件包和SDK,擴展系統(tǒng)功能

開發(fā)者說,RT-Thread是最簡潔,優(yōu)雅的開源操作系統(tǒng)之一,簡單易用。

RT-Thread 主要采用 C 語言編寫,淺顯易懂,方便移植。它把面向?qū)ο蟮脑O(shè)計方法應(yīng)用到實時系統(tǒng)設(shè)計中,使得代碼風格優(yōu)雅、架構(gòu)清晰、系統(tǒng)模塊化并且可裁剪性非常好。針對資源受限的微控制器(MCU)系統(tǒng),可通過方便易用的工具,裁剪出僅需要 3KB Flash、1.2KB RAM 內(nèi)存資源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份發(fā)布的一個極簡版內(nèi)核);而對于資源豐富的物聯(lián)網(wǎng)設(shè)備,RT-Thread 又能使用在線的軟件包管理工具,配合系統(tǒng)配置工具實現(xiàn)直觀快速的模塊化裁剪,無縫地導(dǎo)入豐富的軟件功能包,實現(xiàn)類似 Android 的圖形界面及觸摸滑動效果、智能語音交互效果等復(fù)雜功能。

相較于 Linux 操作系統(tǒng),RT-Thread 體積小,成本低,功耗低、啟動快速,除此以外 RT-Thread 還具有實時性高、占用資源小等特點,非常適用于各種資源受限(如成本、功耗限制等)的場合。雖然 32 位 MCU 是它的主要運行平臺,實際上很多帶有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列級別 CPU 的應(yīng)用處理器在特定應(yīng)用場合也適合使用 RT-Thread。

RT-Thread 系統(tǒng)完全開源,3.1.0 及以前的版本遵循 GPL V2 + 開源許可協(xié)議。從 3.1.0 以后的版本遵循 Apache License 2.0 開源許可協(xié)議,可以免費在商業(yè)產(chǎn)品中使用,并且不需要公開私有代碼。

2、RT-Thread 的架構(gòu)

近年來,物聯(lián)網(wǎng)(Internet Of Things,IoT)概念廣為普及,物聯(lián)網(wǎng)市場發(fā)展迅猛,嵌入式設(shè)備的聯(lián)網(wǎng)已是大勢所趨。終端聯(lián)網(wǎng)使得軟件復(fù)雜性大幅增加,傳統(tǒng)的 RTOS 內(nèi)核已經(jīng)越來越難滿足市場的需求,在這種情況下,物聯(lián)網(wǎng)操作系統(tǒng)(IoT OS)的概念應(yīng)運而生。物聯(lián)網(wǎng)操作系統(tǒng)是指以操作系統(tǒng)內(nèi)核(可以是 RTOS、Linux 等)為基礎(chǔ),包括如文件系統(tǒng)、圖形庫等較為完整的中間件組件,具備低功耗、安全、通信協(xié)議支持和云端連接能力的軟件平臺,RT-Thread 就是一個 IoT OS。

RT-Thread 與其他很多 RTOS 如 FreeRTOS、uC/OS 的主要區(qū)別之一是,它不僅僅是一個實時內(nèi)核,還具備豐富的中間層組件,如下圖所示。

它具體包括以下部分:

內(nèi)核層:RT-Thread 內(nèi)核,是 RT-Thread 的核心部分,包括了內(nèi)核系統(tǒng)中對象的實現(xiàn),例如多線程及其調(diào)度、信號量、郵箱、消息隊列、內(nèi)存管理、定時器等;libcpu/BSP(芯片移植相關(guān)文件 / 板級支持包)與硬件密切相關(guān),由外設(shè)驅(qū)動和 CPU 移植構(gòu)成。

組件與服務(wù)層:組件是基于 RT-Thread 內(nèi)核之上的上層軟件,例如虛擬文件系統(tǒng)、FinSH 命令行界面、網(wǎng)絡(luò)框架、設(shè)備框架等。采用模塊化設(shè)計,做到組件內(nèi)部高內(nèi)聚,組件之間低耦合。

RT-Thread 軟件包:運行于 RT-Thread 物聯(lián)網(wǎng)操作系統(tǒng)平臺上,面向不同應(yīng)用領(lǐng)域的通用軟件組件,由描述信息、源代碼或庫文件組成。RT-Thread 提供了開放的軟件包平臺,這里存放了官方提供或開發(fā)者提供的軟件包,該平臺為開發(fā)者提供了眾多可重用軟件包的選擇,這也是 RT-Thread 生態(tài)的重要組成部分。軟件包生態(tài)對于一個操作系統(tǒng)的選擇至關(guān)重要,因為這些軟件包具有很強的可重用性,模塊化程度很高,極大的方便應(yīng)用開發(fā)者在最短時間內(nèi),打造出自己想要的系統(tǒng)。RT-Thread 已經(jīng)支持的軟件包數(shù)量已經(jīng)達到 60+,如下舉例:

物聯(lián)網(wǎng)相關(guān)的軟件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。腳本語言相關(guān)的軟件包:目前支持 JerryScript、MicroPython。多媒體相關(guān)的軟件包:Openmv、mupdf。工具類軟件包:CmBacktrace、EasyFlash、EasyLogger、SystemView。系統(tǒng)相關(guān)的軟件包:RTGUI、Persimmon UI、lwext4、partition、SQLite 等等。外設(shè)庫與驅(qū)動類軟件包:RealTek RTL8710BN SDK。

3、為什么要學習RT-Thread?

當然,RTOS不僅此而已,除了實時,從本質(zhì)上來說,它還是一款操作系統(tǒng)。因此在廠商的“精心呵護”之下,普遍來說RTOS都擁有著極小的體積、極低的功耗和快速的啟動速度,提供非常豐富的組件、工具鏈和社區(qū)。在物聯(lián)網(wǎng)爆發(fā)式發(fā)展下,RTOS是必備的。為何這么說?如果沒有RTOS,設(shè)備便是處于“裸奔”的狀態(tài),這樣的狀態(tài)性能是無法最大化利用的。而反觀招聘網(wǎng)站,RTOS幾乎成了“必修課”。

所以在物聯(lián)網(wǎng)的爆發(fā)興起下,嵌入式工程師掌握使用1-2種RTOS作為知識儲備是很有必要,說不定哪一天項目中就會使用到了。同時,一些著名的嵌入式專家也給出建議學習RTOS的觀點,因為目前來說,使用RTOS的人和場景也越來越多了。

4、如何選擇合適的 RT-Thread 版本進行開發(fā)?

RT-Thread 是以 Apache License v2 開源許可發(fā)布的物聯(lián)網(wǎng)操作系統(tǒng)。RT-Thread 有十多年的歷史,在開發(fā)過程中也放在 Github 上由大家協(xié)同開發(fā),并發(fā)布一個個版本,導(dǎo)致了不同人群面對多樣的版本無從下手,此文檔將說明如何選擇一個合適自己的版本進行開發(fā)。

RT-Thread 的版本 / 分支有以下幾種可供選擇:

開發(fā)分支(master 主分支)、長期支持分支(lts-v3.1.x 分支)、發(fā)布版本(release),推薦用戶使用已發(fā)布的版本。

RT-Thread 分支與版本介紹

分支情況:迄今為止,RT-Thread 已經(jīng)存在的分支有:stable-v1.2.x(已不維護)stable-v2.0.x(已不維護)stable-v2.1.x(已不維護)stable-v3.0.x(已不維護)lts-v3.1.x(長期支持、維護)master(master 主分支是 RT-Thread 開發(fā)分支,一直活躍)

當有較大的版本變化時(如 3.0.x 更新為 3.1.x,或者是主版本變化時),此時會在 master 分支上建立一個新分支對舊版本進行維護。版本發(fā)布:RT-Thread 已發(fā)布版本眾多,如 3.1.1、3.1.2、4.0.0 發(fā)布版等等。新版本是基于 master 主分支或者基于正在維護的分支進行發(fā)布的。例如長期支持分支 lts-v3.1.x,最新發(fā)布版是 3.1.2,之后還可能會發(fā)布 3.1.3、3.1.4、... 等版本,但是該分支上不會發(fā)布 3.2.x 版本。例如當前 master 分支的版本是 4.0.1,最新發(fā)布版本是 4.0.0,之后也可能會發(fā)布 4.0.1、4.0.2、... 等版本。若待到有較大版本變化時,比如發(fā)布 4.1.0 時,此時就會建立 4.0.x 分支,對 4.0.x 進行維護。

開發(fā)分支(GitHub master 主分支)

開發(fā)分支是 RT-Thread 團隊在開發(fā)中過程中提交的代碼的分支,位于 GitHub master 分支。該分支會一直更新迭代、優(yōu)化功能,并且更新頻率非常高。做產(chǎn)品 / 項目:開發(fā)中的分支不穩(wěn)定,不適合做產(chǎn)品或者用于項目中。學習 / 研究:由于更新速度快,適合有較多經(jīng)驗的 RT-Thread 開發(fā)者研究嘗鮮。代碼貢獻:可以提交代碼或者修補 Bug,歡迎廣大開發(fā)者 為 RT-Thread 貢獻代碼,成為 RT-Thread 貢獻者

長期支持分支(GitHub lts-v3.1.x 分支)

長期支持分支位于 GitHub lts-v3.1.x 分支,是 3.1.x 版本的維護分支,主要在于修復(fù) Bug 以及 BSP 的更新。由于從 4.0.0 開始,增加了較多特性,如 SMP、lwp等,對于 3.1.x 來說有非常大的變化,所以對 3.1.x 會做長期的支持。做產(chǎn)品 / 項目:開發(fā)中的分支不穩(wěn)定,不適合做產(chǎn)品或者用于項目中學習 / 研究:適合有較多經(jīng)驗的 RT-Thread 開發(fā)者

不過,RT-Thread 雖然坐擁諸多優(yōu)點,但也并非一把“萬能鑰匙”,任意場景都“一股腦”使用。雖然的確在物流網(wǎng)興起下,RT-Thread 的應(yīng)用越來越多,但許多工程師動不動就給項目給出使用RT-Thread 的方案,這在設(shè)計中是很大的一個誤區(qū)。一般來說,是否使用RT-Thread 取決于任務(wù)的數(shù)量和復(fù)雜程度。從方案來說,問題簡單化才是一切的核心。

【更多關(guān)于RT-Thread 操作系統(tǒng)相關(guān)閱讀】

RT-Thread 移植到 STM32

基于RT_Thread連接中國移動onenet平臺的RGB三色燈項目原理圖

RT-Thread常見函數(shù)

RT-Thread移植到STM32F1步驟

我畢業(yè)設(shè)計制作的FPV機器人系統(tǒng)采用(openwrt+rt_thread)

請問大家有用GD32F303移植過RT_Thread或FreeRTOS嗎

STM32F107移植RT_THREAD問題

新唐單片機與RT_Thread

RT_Thread在LPC2378上的移植與應(yīng)用

gd32f103 RT_THREAD系統(tǒng)掛起和恢復(fù)線程,掛起可以,恢復(fù)不行

領(lǐng)導(dǎo)讓我找個國產(chǎn)的操作系統(tǒng),大家?guī)臀冶缺饶募覐?/span>

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉