選擇合適的操作系統(tǒng)對于項目的成功至關重要。了解如何在Raspberry Pi上使用RTOS,并看看你有哪些選擇吧!
從OS到RTOS
Raspberry Pi是由Raspberry Pi基金會推出的一系列單板計算機(SBC)。它們最初是作為教育工具開發(fā)的,但后來被廣泛用于各種項目,包括機器人技術、家庭自動化、物聯(lián)網、個人和商業(yè)用途。這些信用卡大小的計算機能夠執(zhí)行普通電腦的任務,如文字處理、編程和網絡瀏覽。
在個人臺式計算機上,你可能使用的是像Windows、MacOS或Linux這樣的全功能操作系統(tǒng)。(有些Raspberry Pi能夠運行Windows,但它們的原生操作系統(tǒng)是基于Linux的。)但有時,這些類型的操作系統(tǒng)對于你的任務來說過于占用資源。對于某些項目,實時操作系統(tǒng)(RTOS)是更合適的選擇。
Pi上的RTOS
顧名思義,RTOS是為時間關鍵型用例設計的,換句話說,就是那些必須滿足時間要求的項目。這類項目的例子可以在航天器系統(tǒng)、心臟起搏器和空中交通管制中找到。與通用計算系統(tǒng)相比,這些現(xiàn)實世界的應用需要精確的時間限制來管理和優(yōu)先處理任務。
必須指出的是,使用像Arduino這樣的微控制器板來處理實時任務是更常見的做法。也就是說,Raspberry Pi單板計算機價格低廉,擁有龐大的社區(qū),并提供充足的教育資源來幫助你入門。Raspberry Pi基金會還發(fā)布了他們的第一塊微控制器板——Raspberry Pi Pico。
局限性
如果你打算在Raspberry Pi單板計算機上運行RTOS,那么需要注意一些局限性。RTOS系統(tǒng)的一個重要要求是足夠的隨機訪問存儲器(RAM),而較舊的Raspberry Pi型號可能沒有這一點。根據你的具體用途,你還需要注意你的板子的最大時鐘速度(Raspberry Pi4可以達到1,500 MHz,但這并不適用于整個系列)。
此外,Raspberry Pi單板計算機沒有實時時鐘(RTC),而是通過互聯(lián)網連接來保持時間。這可能意味著對于時間關鍵型反饋應用來說,可靠性和準確性會降低。然而,這個問題有解決辦法,比如添加一個實時時鐘模塊。事實上,Raspberry PiPico已經配備了RTC硬件。
(請注意,RTC中的“實時”與RTOS中的“實時”含義不同。前者是指能夠在現(xiàn)實世界中顯示時間的設備,而后者是指電子設備中的不間斷計時。)
如果你有一個需要RTOS的項目,那么有很多選擇可供選擇。讓我們來看看Raspberry Pi上一些最好的RTOS選項!
從名字上你可能就能猜到,F(xiàn)reeRTOS是一個用于嵌入式系統(tǒng)的免費開源RTOS。它是一個相對較小的應用程序,由不到9,000行代碼組成,包括注釋!盡管體積小,但它能夠優(yōu)先處理、調度和運行用戶定義的任務。其代碼的約40%處理任務之間的通信,因此它是具有競爭優(yōu)先級項目的強大選擇。
FreeRTOS正在積極開發(fā)和支持,甚至可用于商業(yè)應用。這意味著用戶可以使用FreeRTOS將其產品推向市場,而無需獲得開發(fā)者的許可或支付費用。
GitHub用戶jameswalmsley已經為Raspberry Pi整合了一個FreeRTOS的基本端口,如果你想自己嘗試,這將是一個很好的起點。
- 開發(fā)者:Richard Barry(現(xiàn)在由亞馬遜網絡服務管理)
- 用途:時間關鍵型嵌入式系統(tǒng)應用的單一、獨立解決方案;更小、更易使用的選項
ChibiOS
ChibiOS是一個緊湊且快速的實時操作系統(tǒng)。盡管體積小(盡管不如FreeRTOS那么小),但在性能上毫不妥協(xié)。它可以從8位架構向上擴展,功能完整,具有完全靜態(tài)的架構以及清晰優(yōu)雅的代碼庫。
如果你想使用它,ChibiOS在三種許可下可用:有免費的開源和商業(yè)選項,以及一個用于大規(guī)模部署的付費完全商業(yè)許可。
GitHub用戶steve-bate分享了ChibiOS的Raspberry Pi端口,并提供了一個有用的入門指南,包括硬件解釋。
- 開發(fā)者:Giovanni Di Sirio
- 用途:緊湊、快速的RTOS
- 顯著特性和功能:對于大多數內部數據結構(如就緒列表、計時器列表和線程隊列)使用高效的雙向循環(huán)鏈表
RTEMS
多處理器系統(tǒng)實時執(zhí)行體(RTEMS)是一個支持開放應用程序接口(API)標準(如可移植操作系統(tǒng)接口POSIX)的開源選項。它已被用于太空飛行、醫(yī)療應用、網絡以及許多其他嵌入式系統(tǒng)。
RTEMS定期更新穩(wěn)定版本,并有一個Discord服務器用于社區(qū)支持。
與這個列表上的其他一些選項不同,RTEMS直接支持Raspberry Pi硬件。如果你想試試它,可以從RTEMS網站下載軟件包,還有一個有用的設置指南。
開發(fā)者:OAR公司
用途:太空飛行、醫(yī)療行業(yè)、網絡等應用
顯著特性和功能:為Raspberry Pi提供指定支持包
RT-Thread
RT-Thread是一個開源且可擴展的實時操作系統(tǒng)。它與x86、ARM RISC-V和Xtensa硬件兼容,還有一個用于資源受限設備的Nano版本。最小內核只需要1.2 KB的RAM和3 KB的閃存,這遠遠少于你的Raspberry Pi可能擁有的可用資源。
RT-Thread特別支持基于RP2040的開發(fā)板,如Raspberry PiPico,它還列出了對Raspberry Pi2、3和4型號的支持。還有一個圖形化集成開發(fā)環(huán)境(IDE)(RT-Thread Studio),這使得這個RTOS對于經驗較少的開發(fā)者來說更加易用。
開發(fā)者:Bernard Xiong & RT-Thread團隊
用途:嵌入式應用和物聯(lián)網設備
顯著特性和功能:為多個Raspberry PiSBC型號和Pico提供指定支持;圖形化IDE
NuttX
NuttX是一個實時操作系統(tǒng)(RTOS),專注于標準合規(guī)性,特別是POSIX和美國國家標準協(xié)會(ANSI)的標準。它的第二個重點是可伸縮性,并且與從8位到64位的微控制器環(huán)境兼容。
它已被移植到新的Raspberry PiPico和基于RP2040微控制器的其他主板上。它完全支持其兩個ARM Cortex-M0+核心上的對稱多處理(SMP)操作。
- 開發(fā)者:格雷戈里·納特(Gregory Nutt)
- 預期用途:符合國際標準的RTOS
- 顯著特點和功能:體積小、可伸縮性強
TrampolineRTOS
Trampoline是為小型嵌入式系統(tǒng)設計的靜態(tài)RTOS,這意味著用戶可以對內存分配進行更多控制。這種類型的RTOS操作起來更復雜,但對于重復任務來說,它可以是一個更穩(wěn)定且可預測的選擇。
Trampoline API與汽車標準保持一致,但這不僅僅是一個局限于單一行業(yè)的簡單選擇。文檔中特別支持早期Raspberry Pi型號中使用的博通BCM2836處理器,因此,如果你手頭有舊款的Raspberry Pi,這將是一個安全且穩(wěn)定的選擇。
- 開發(fā)者:LS2N的實時系統(tǒng)小組
- 預期用途:汽車領域的嵌入式RTOS
- 顯著特點和功能:靜態(tài)RTOS;支持舊款Raspberry Pi型號
RODOS
實時機載可靠操作系統(tǒng)(RODOS)是另一個開源的嵌入式選項,最初是為控制衛(wèi)星而開發(fā)的,所以你可以相信它的準確性!畢竟,它是在德國航空航天中心開發(fā)的,至今仍用于該中心的微衛(wèi)星項目。
RODOS可以獨立運行(“裸機”)或在另一個操作系統(tǒng)之上運行,這使其能夠靈活應用于各種項目類型。
- 開發(fā)者:維爾茨堡大學信息學研究所
- 預期用途:衛(wèi)星控制或任何需要高可靠性的應用
- 顯著特點和功能:超快速啟動;線程安全的通信和同步
Mbed (Linux) OS
最后,Mbed OS是一個為物聯(lián)網(IoT)設備設計的開源嵌入式操作系統(tǒng)。它包括基于ARM Cortex-M微控制器開發(fā)IoT設備所需的所有功能。雖然Mbed OS目前還不支持Raspberry Pi主板,但在撰寫本文時,一個針對Raspberry PiPico的移植版本正在開發(fā)中,并且過去已經成功實現(xiàn)了一些用于Raspberry Pi的API。
然而,相關的操作系統(tǒng)Mbed Linux OS是專門為Raspberry Pi3等流行開發(fā)板所基于的ARM Cortex-A處理器設計的。雖然該存儲庫已不再維護,但仍在GitHub上可訪問,只是要注意,它不再獲得持續(xù)支持。
- 開發(fā)者:Arm
- 預期用途:嵌入式應用和IoT設備
- 顯著特點和功能:Raspberry PiPico移植版本正在開發(fā)中
-
操作系統(tǒng)
+關注
關注
37文章
6968瀏覽量
124360 -
RTOS
+關注
關注
24文章
834瀏覽量
120243 -
Raspberry Pi
+關注
關注
2文章
613瀏覽量
22539
發(fā)布評論請先 登錄
相關推薦
一文詳解實時操作系統(tǒng)(RTOS)
什么是實時操作系統(tǒng)(RTOS)
選擇實時操作系統(tǒng)(RTOS)的要點詳解

如何安裝實時操作系統(tǒng)RTOS

評論