【操作系統】RT-Thread 入門學習

一、嵌入式操作系統

1.1 軟實時與硬實時

  • 強實時操作系統:嚴格限定在規定時間內完成任務,否則就會導致災難性的發生,例如導彈攔截系統、汽車引擎系統等。
  • 弱實時操作系統:可以允許偶爾出現一定的時間偏差,但是隨着時間的偏移,整個系統的正確性會隨之下降,例如DVD播放器,允許其偶爾出現畫面或聲音的延遲。

1.2 主流嵌入式RTOS

主流RTOS主要有:uC/OS、FreeRTOS、RT-Thread等

1.2.1 uC/OS

  • 比較經典的μC/OS II(Micro-Controller Operating System Two)是一個可以基於ROM運行的、可裁剪的、搶佔式、實時多任務內核,具有高度可移植性。
  • 其爲美國的一款RTOS,發佈於1992年。
  • 2001年,北航的邵貝貝教授第一次將有關uC/OS的書籍翻譯成中文。
  • 目前uC/OS III爲商用版本。
  • uC/OS官網

1.2.2 FreeRTOS

  • FreeRTOS誕生於2003年,其按照開源、免費的策略發佈,可用於任何商業與非商業場合。
  • FreeRTOS是一個迷你的實時操作系統內核。作爲一個輕量級的操作系統,功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協程等,可基本滿足較小系統的需要。
  • FreeRTOS官網

1.2.3 RT-Thread

  • RTT爲國內的一款嵌入式RTOS,誕生於2006年,其與FreeRTOS類似,以開源、免費的方式進行發佈。
  • RT-Thread,全稱是 Real Time-Thread,顧名思義,它是一個嵌入式實時多線程操作系統,基本屬性之一是支持多任務。
  • RTT自創建之初的定位就不僅是一個RTOS的內核,而是包含網絡、文件系統、GUI界面等組件的中間平臺。
  • RTT官網

二、RTT的架構

  • 物聯網操作系統是指以操作系統內核(可以是 RTOS、Linux 等)爲基礎,包括如文件系統、圖形庫等較爲完整的中間件組件,具備低功耗、安全、通信協議支持和雲端連接能力的軟件平臺,RT-Thread 就是一個 IoT OS
  • RT-Thread 與其他很多 RTOS 如 FreeRTOS、uC/OS 的主要區別之一是,它不僅僅是一個實時內核,還具備豐富的中間層組件
    在這裏插入圖片描述

2.1 內核層

  • RT-Thread 內核,是 RT-Thread 的核心部分,包括了內核系統中對象的實現,例如多線程及其調度、信號量、郵箱、消息隊列、內存管理、定時器等;libcpu/BSP(芯片移植相關文件 / 板級支持包)與硬件密切相關,由外設驅動和 CPU 移植構成。

2.2 組件與服務層

  • 組件是基於 RT-Thread 內核之上的上層軟件,例如虛擬文件系統、FinSH 命令行界面、網絡框架、設備框架等。採用模塊化設計,做到組件內部高內聚,組件之間低耦合

2.3 軟件包

運行於 RT-Thread 物聯網操作系統平臺上,面向不同應用領域的通用軟件組件,由描述信息、源代碼或庫文件組成。RT-Thread 提供了開放的軟件包平臺,這裏存放了官方提供或開發者提供的軟件包,該平臺爲開發者提供了衆多可重用軟件包的選擇,這也是 RT-Thread 生態的重要組成部分。軟件包生態對於一個操作系統的選擇至關重要,因爲這些軟件包具有很強的可重用性,模塊化程度很高,極大的方便應用開發者在最短時間內,打造出自己想要的系統。RT-Thread 已經支持的軟件包數量已經達到 60+,如下舉例:

  • 物聯網相關的軟件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。
  • 腳本語言相關的軟件包:目前支持 JerryScript、MicroPython。
  • 多媒體相關的軟件包:Openmv、mupdf。
  • 工具類軟件包:CmBacktrace、EasyFlash、EasyLogger、SystemView。
  • 系統相關的軟件包:RTGUI、Persimmon UI、lwext4、partition、SQLite 等等。
  • 外設庫與驅動類軟件包:RealTek RTL8710BN SDK。
  • 軟件包網址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章