RTT實時操作系統(tǒng)
學習RTT的第一天
在我們進行開發(fā)任務量比較大的時候,裸機開發(fā)方式的軟件框架不清晰,對后續(xù)擴展功能極其不利;另一方面,由于軟件復雜性的增加,裸機開發(fā)對工程師的要求越來越嚴苛,過多使用中斷等因素,都會增加系統(tǒng)的不可靠性。
RT-Thread支持很多硬件平臺,并且有很好的開發(fā)環(huán)境和IDE。及有眾多技術文檔、參考設計和活躍的開發(fā)者社區(qū),這些都能幫助您快速入門和掌握 RT-Thread,開發(fā)出優(yōu)秀的產品。
RT-Thread的架構分為內核層、組件與服務層、RT-Thread 軟件包:
內核層:RT-Thread 內核,是 RT-Thread 的核心部分,包括了內核系統(tǒng)中對象的實現, 例如多線程及其調度、信號量、郵箱、消息隊列、內存管理、定時器等; libcpu/BSP(芯片移植相關文件 / 板級支持包)與硬件密切相關,由外設驅動和 CPU 移植構成。
組件與服務層:組件是基于 RT-Thread 內核之上的上層軟件,例如虛擬文件系統(tǒng)、FinSH 命令行界面、 網絡框架、設備框架等。采用模塊化設計,做到組件內部高內聚,組件之間低耦合。
RT-Thread 軟件包:運行于 RT-Thread 物聯網操作系統(tǒng)平臺上,面向不同應用領域的通用軟件組件, 由描述信息、源代碼或庫文件組成。RT-Thread 提供了開放的軟件包平臺, 這里存放了官方提供或開發(fā)者提供的軟件包,該平臺為開發(fā)者提供了眾多可重用軟件包的選擇, 這也是 RT-Thread 生態(tài)的重要組成部分。軟件包生態(tài)對于一個操作系統(tǒng)的選擇至關重要, 因為這些軟件包具有很強的可重用性,模塊化程度很高,極大的方便應用開發(fā)者在最短時間內, 打造出自己想要的系統(tǒng)。
RT-Thread 主要采用 C 語言編寫,淺顯易懂,方便移植。它把面向對象的設計方法應用到實時系統(tǒng)設計中, 使得代碼風格優(yōu)雅、架構清晰、系統(tǒng)模塊化并且可裁剪性非常好。針對資源受限的微控制器(MCU)系統(tǒng), 可通過方便易用的工具,裁剪出僅需要 3KB Flash、1.2KB RAM 內存資源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份發(fā)布的一個極簡版內核);而對于資源豐富的物聯網設備, RT-Thread又能使用在線的軟件包管理工具,配合系統(tǒng)配置工具實現直觀快速的模塊化裁剪, 無縫地導入豐富的軟件功能包,實現類似 Android 的圖形界面及觸摸滑動效果、智能語音交互效果等復雜功能。
相較于 Linux 操作系統(tǒng),RT-Thread 體積小,成本低,功耗低、啟動快速,除此以外 RT-Thread 還具有實時性高、占用資源小等特點,非常適用于各種資源受限(如成本、功耗限制等)的場合。 雖然 32 位 MCU 是它的主要運行平臺,實際上很多帶有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列級別 CPU 的應用處理器在特定應用場合也適合使用 RT-Thread。
在我們使用RT-Thread時可以讓我們的系統(tǒng)更加穩(wěn)定,對于整個程序更好的管理。通過系統(tǒng)提供的FinSH shell系統(tǒng),能夠查看到線程,信號量,互斥鎖,事件,郵箱,消息隊列的運行情況,以及各個線程的棧使用情況。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。