福州企業(yè)網(wǎng)站推廣網(wǎng)絡(luò)營(yíng)銷推廣方式
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ò)16個(gè)年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個(gè)功能強(qiáng)大、組件豐富的物聯(lián)網(wǎng)操作系統(tǒng)。
RT-Thread概述
RT-Thread,全稱是Real Time-Thread,顧名思義,它是一個(gè)嵌入式實(shí)時(shí)多線程操作系統(tǒng),基本屬性之一是支持多任務(wù),允許多個(gè)任務(wù)同時(shí)運(yùn)行并不意味著處理器在同一時(shí)刻真的執(zhí)行了多個(gè)任務(wù)。
事實(shí)上,一個(gè)處理器核心在某一個(gè)時(shí)刻只能運(yùn)行一個(gè)任務(wù),由于每次對(duì)一個(gè)任務(wù)的執(zhí)行時(shí)間很短,任務(wù)與任務(wù)之間通過(guò)任務(wù)調(diào)度器進(jìn)行非??斓厍袚Q(調(diào)度器根據(jù)優(yōu)先級(jí)決定此刻該執(zhí)行的任務(wù)),給人造成多個(gè)任務(wù)在一個(gè)時(shí)刻同時(shí)運(yùn)行的錯(cuò)覺(jué)。
在RT-Thread系統(tǒng)中,任務(wù)通過(guò)線程實(shí)現(xiàn)的,RT-Thread中的線程調(diào)度器也就是以上提到的任務(wù)調(diào)度器。
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)類似Andoird的圖形界面以及觸摸滑動(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)合也適合使用。
許可協(xié)議
RT-Thread系統(tǒng)完全開(kāi)源,遵循Apache License2.0開(kāi)源許可協(xié)議,可以免費(fèi)在商業(yè)產(chǎn)品中使用,并且不需要公開(kāi)私有代碼,沒(méi)有潛在商業(yè)風(fēng)險(xiǎn)。
RT-Thread的架構(gòu)
近年來(lái),物聯(lián)網(wǎng)(Internet Of Things)概念廣為普及,嵌入式設(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)核為基礎(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)。
物聯(lián)網(wǎng)相關(guān)的軟件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。
腳本語(yǔ)言相關(guān)的軟件包:目前支持 Lua、JerryScript、MicroPython、PikaScript。
多媒體相關(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。
其他。