什麼是RT-Thread?

一、RT-Thread的定義

RT-Thread,全稱是 Real Time-Thread, 是一款主要由中國開源社區主導開發的開源實時操作系統(許可證GPLv2),包含了實時、嵌入式系統相關的各個組件:TCP/IP協議棧、圖形用戶界面等。

相較於Linux,RT-Thread 具有體積小,成本低,功耗低、啓動快速的優勢。除此以外,實時性高、佔用資源小等特點,使得它也非常適用於各種資源受限(如成本、功耗限制等)的場合。

在物聯網設備的應用中,RT-Thread 能使用在線軟件包管理工具,配合系統配置工具,實現直觀、快速的模塊化裁剪、無縫導入豐富的軟件功能包,以及類似 Android 的圖形界面和觸摸滑動、智能語音交互等複雜功能。

RT-Thread 系統完全開源,可以免費在商業產品中使用,並且不需要公開私有代碼。

二、RT-Thread的架構

相對於一些傳統的RTOS 如 FreeRTOS、uC/OS 等,RT-Thread 架構上最大的區別在於:它是一個物聯網操作系統(IoT OS)

即RT-Thread 除了包含一個實時內核外,還包括如文件系統、圖形庫等較爲完整的中間件組件,是具備低功耗、安全、通信協議支持和雲端連接能力的軟件平臺,如下圖所示:
在這裏插入圖片描述
具體包括以下部分:

  • 內核層:
    ① RT-Thread 內核:系統核心部分,包括了內核系統中對象的實現,例如多線程及其調度、消息隊列、內存管理等;
    ② libcpu/BSP(芯片移植相關文件 / 板級支持包):與硬件密切相關,由外設驅動和 CPU 移植構成;
  • 組件與服務層:
    組件是基於內核之上的上層軟件,例如虛擬文件系統、FinSH 命令行界面、網絡框架、設備框架等。採用模塊化設計,做到組件內部高內聚,組件之間低耦合;
  • RT-Thread 軟件包:
    運行於 RT-Thread 物聯網操作系統平臺上,面向不同應用領域的通用軟件組件,由描述信息、源代碼或庫文件組成。開發者可依據自身需求,選擇、組合不同軟件包,打造自己想要的系統。
    目前支持的軟件包有且不僅有:
    ① 物聯網相關:Paho MQTT、WebClient、mongoose、WebTerminal 等;
    ② 腳本語言相關:JerryScript、MicroPython ;
    ③ 多媒體相關:Openmv、mupdf;
    ④ 系統相關:RTGUI、Persimmon UI、lwext4、partition、SQLite 等。

三、RT-Thread的開發工具

Env 是 RT-Thread 的開發輔助工具,提供編譯構建環境、圖形化系統配置、軟件包管理等功能。主要特性如下:

  1. 使用 scons 作爲構建工具(根據一定的規則或指令,將源代碼編譯成可執行的二進制程序),提供編譯環境,生成工程;
  2. 內置簡單易用的配置剪裁工具——menuconfig,可對內核、組件和軟件包進行自由裁剪,以搭積木的方式構建系統;
  3. 藉助由 Kconfig 語法 編寫的Kconfig 文件,生成系統配置文件 rtconfig.h。rtconfig.h 文件,負責在執行 menuconfig 命令時,指導生成 RT-Thread 系統的配置、剪裁界面;
  4. 提供多種軟件包,可在線下載,各包耦合關聯少,具有良好的可維護性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章