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

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

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

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

無(wú)論是stm32和51單片機(jī)工程師轉(zhuǎn)過(guò)來(lái)學(xué)習(xí)操作系統(tǒng)都需一個(gè)認(rèn)識(shí)的過(guò)程的,RT-thread是一個(gè)輕量級(jí)的操作系統(tǒng),很小,但是也是一個(gè)操作系統(tǒng)。主要優(yōu)勢(shì)有這些:

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

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

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

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

快速啟動(dòng):上電即啟動(dòng),毫秒級(jí)啟動(dòng)時(shí)間,真正零等待開(kāi)機(jī)。

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

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

開(kāi)放平臺(tái):獨(dú)立第三方開(kāi)放平臺(tái),支持各類,第三方軟件包和SDK,擴(kuò)展系統(tǒng)功能

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

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

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

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

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

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

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

它具體包括以下部分:

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

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

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

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

3、為什么要學(xué)習(xí)RT-Thread?

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

所以在物聯(lián)網(wǎng)的爆發(fā)興起下,嵌入式工程師掌握使用1-2種RTOS作為知識(shí)儲(chǔ)備是很有必要,說(shuō)不定哪一天項(xiàng)目中就會(huì)使用到了。同時(shí),一些著名的嵌入式專家也給出建議學(xué)習(xí)RTOS的觀點(diǎn),因?yàn)槟壳皝?lái)說(shuō),使用RTOS的人和場(chǎng)景也越來(lái)越多了。

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

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

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

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

RT-Thread 分支與版本介紹

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

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

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

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

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

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

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

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

RT-Thread 移植到 STM32

基于RT_Thread連接中國(guó)移動(dòng)onenet平臺(tái)的RGB三色燈項(xiàng)目原理圖

RT-Thread常見(jiàn)函數(shù)

RT-Thread移植到STM32F1步驟

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

請(qǐng)問(wèn)大家有用GD32F303移植過(guò)RT_Thread或FreeRTOS嗎

STM32F107移植RT_THREAD問(wèn)題

新唐單片機(jī)與RT_Thread

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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