0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為您的 Raspberry Pi 項(xiàng)目選擇正確的實(shí)時(shí)操作系統(tǒng)(RTOS)

上海晶珩電子科技有限公司 ? 2025-03-25 09:40 ? 次閱讀

選擇合適的操作系統(tǒng)對(duì)于項(xiàng)目的成功至關(guān)重要。了解如何在Raspberry Pi上使用RTOS,并看看你有哪些選擇吧!

從OS到RTOS

1c245faa-091a-11f0-9434-92fbcf53809c.jpg

Raspberry Pi是由Raspberry Pi基金會(huì)推出的一系列單板計(jì)算機(jī)(SBC)。它們最初是作為教育工具開發(fā)的,但后來(lái)被廣泛用于各種項(xiàng)目,包括機(jī)器人技術(shù)、家庭自動(dòng)化、物聯(lián)網(wǎng)、個(gè)人和商業(yè)用途。這些信用卡大小的計(jì)算機(jī)能夠執(zhí)行普通電腦的任務(wù),如文字處理、編程和網(wǎng)絡(luò)瀏覽。

在個(gè)人臺(tái)式計(jì)算機(jī)上,你可能使用的是像Windows、MacOS或Linux這樣的全功能操作系統(tǒng)。(有些Raspberry Pi能夠運(yùn)行Windows,但它們的原生操作系統(tǒng)是基于Linux的。)但有時(shí),這些類型的操作系統(tǒng)對(duì)于你的任務(wù)來(lái)說(shuō)過(guò)于占用資源。對(duì)于某些項(xiàng)目,實(shí)時(shí)操作系統(tǒng)(RTOS)是更合適的選擇。

Pi上的RTOS

顧名思義,RTOS是為時(shí)間關(guān)鍵型用例設(shè)計(jì)的,換句話說(shuō),就是那些必須滿足時(shí)間要求的項(xiàng)目。這類項(xiàng)目的例子可以在航天器系統(tǒng)、心臟起搏器和空中交通管制中找到。與通用計(jì)算系統(tǒng)相比,這些現(xiàn)實(shí)世界的應(yīng)用需要精確的時(shí)間限制來(lái)管理和優(yōu)先處理任務(wù)。

必須指出的是,使用像Arduino這樣的微控制器板來(lái)處理實(shí)時(shí)任務(wù)是更常見的做法。也就是說(shuō),Raspberry Pi單板計(jì)算機(jī)價(jià)格低廉,擁有龐大的社區(qū),并提供充足的教育資源來(lái)幫助你入門。Raspberry Pi基金會(huì)還發(fā)布了他們的第一塊微控制器板——Raspberry Pi Pico。

局限性

如果你打算在Raspberry Pi單板計(jì)算機(jī)上運(yùn)行RTOS,那么需要注意一些局限性。RTOS系統(tǒng)的一個(gè)重要要求是足夠的隨機(jī)訪問(wèn)存儲(chǔ)器(RAM),而較舊的Raspberry Pi型號(hào)可能沒(méi)有這一點(diǎn)。根據(jù)你的具體用途,你還需要注意你的板子的最大時(shí)鐘速度(Raspberry Pi4可以達(dá)到1,500 MHz,但這并不適用于整個(gè)系列)。

此外,Raspberry Pi單板計(jì)算機(jī)沒(méi)有實(shí)時(shí)時(shí)鐘(RTC),而是通過(guò)互聯(lián)網(wǎng)連接來(lái)保持時(shí)間。這可能意味著對(duì)于時(shí)間關(guān)鍵型反饋應(yīng)用來(lái)說(shuō),可靠性和準(zhǔn)確性會(huì)降低。然而,這個(gè)問(wèn)題有解決辦法,比如添加一個(gè)實(shí)時(shí)時(shí)鐘模塊。事實(shí)上,Raspberry PiPico已經(jīng)配備了RTC硬件。

(請(qǐng)注意,RTC中的“實(shí)時(shí)”與RTOS中的“實(shí)時(shí)”含義不同。前者是指能夠在現(xiàn)實(shí)世界中顯示時(shí)間的設(shè)備,而后者是指電子設(shè)備中的不間斷計(jì)時(shí)。)

如果你有一個(gè)需要RTOS的項(xiàng)目,那么有很多選擇可供選擇。讓我們來(lái)看看Raspberry Pi上一些最好的RTOS選項(xiàng)!

FreeRTOS

從名字上你可能就能猜到,F(xiàn)reeRTOS是一個(gè)用于嵌入式系統(tǒng)的免費(fèi)開源RTOS。它是一個(gè)相對(duì)較小的應(yīng)用程序,由不到9,000行代碼組成,包括注釋!盡管體積小,但它能夠優(yōu)先處理、調(diào)度和運(yùn)行用戶定義的任務(wù)。其代碼的約40%處理任務(wù)之間的通信,因此它是具有競(jìng)爭(zhēng)優(yōu)先級(jí)項(xiàng)目的強(qiáng)大選擇。

FreeRTOS正在積極開發(fā)和支持,甚至可用于商業(yè)應(yīng)用。這意味著用戶可以使用FreeRTOS將其產(chǎn)品推向市場(chǎng),而無(wú)需獲得開發(fā)者的許可或支付費(fèi)用。

GitHub用戶jameswalmsley已經(jīng)為Raspberry Pi整合了一個(gè)FreeRTOS的基本端口,如果你想自己嘗試,這將是一個(gè)很好的起點(diǎn)。

  • 開發(fā)者:Richard Barry(現(xiàn)在由亞馬遜網(wǎng)絡(luò)服務(wù)管理)

  • 用途:時(shí)間關(guān)鍵型嵌入式系統(tǒng)應(yīng)用的單一、獨(dú)立解決方案;更小、更易使用的選項(xiàng)

  • 顯著特性和功能:提供多線程或多任務(wù)、互斥量、信號(hào)量和軟件定時(shí)器的方法;低功耗應(yīng)用的無(wú)滴答模式

ChibiOS

1c7bb28c-091a-11f0-9434-92fbcf53809c.jpg

ChibiOS是一個(gè)緊湊且快速的實(shí)時(shí)操作系統(tǒng)。盡管體積?。ūM管不如FreeRTOS那么小),但在性能上毫不妥協(xié)。它可以從8位架構(gòu)向上擴(kuò)展,功能完整,具有完全靜態(tài)的架構(gòu)以及清晰優(yōu)雅的代碼庫(kù)。

如果你想使用它,ChibiOS在三種許可下可用:有免費(fèi)的開源和商業(yè)選項(xiàng),以及一個(gè)用于大規(guī)模部署的付費(fèi)完全商業(yè)許可。

GitHub用戶steve-bate分享了ChibiOS的Raspberry Pi端口,并提供了一個(gè)有用的入門指南,包括硬件解釋。

  • 開發(fā)者:Giovanni Di Sirio

  • 用途:緊湊、快速的RTOS

  • 顯著特性和功能:對(duì)于大多數(shù)內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如就緒列表、計(jì)時(shí)器列表和線程隊(duì)列)使用高效的雙向循環(huán)鏈表

RTEMS

1c901178-091a-11f0-9434-92fbcf53809c.jpg

處理器系統(tǒng)實(shí)時(shí)執(zhí)行體(RTEMS)是一個(gè)支持開放應(yīng)用程序接口(API)標(biāo)準(zhǔn)(如可移植操作系統(tǒng)接口POSIX)的開源選項(xiàng)。它已被用于太空飛行、醫(yī)療應(yīng)用、網(wǎng)絡(luò)以及許多其他嵌入式系統(tǒng)。

RTEMS定期更新穩(wěn)定版本,并有一個(gè)Discord服務(wù)器用于社區(qū)支持。

與這個(gè)列表上的其他一些選項(xiàng)不同,RTEMS直接支持Raspberry Pi硬件。如果你想試試它,可以從RTEMS網(wǎng)站下載軟件包,還有一個(gè)有用的設(shè)置指南。

開發(fā)者:OAR公司

用途:太空飛行、醫(yī)療行業(yè)、網(wǎng)絡(luò)等應(yīng)用

顯著特性和功能:為Raspberry Pi提供指定支持包

RT-Thread

RT-Thread是一個(gè)開源且可擴(kuò)展的實(shí)時(shí)操作系統(tǒng)。它與x86、ARM RISC-V和Xtensa硬件兼容,還有一個(gè)用于資源受限設(shè)備的Nano版本。最小內(nèi)核只需要1.2 KB的RAM和3 KB的閃存,這遠(yuǎn)遠(yuǎn)少于你的Raspberry Pi可能擁有的可用資源。

RT-Thread特別支持基于RP2040的開發(fā)板,如Raspberry PiPico,它還列出了對(duì)Raspberry Pi2、3和4型號(hào)的支持。還有一個(gè)圖形化集成開發(fā)環(huán)境(IDE)(RT-Thread Studio),這使得這個(gè)RTOS對(duì)于經(jīng)驗(yàn)較少的開發(fā)者來(lái)說(shuō)更加易用。

開發(fā)者:Bernard Xiong & RT-Thread團(tuán)隊(duì)

用途:嵌入式應(yīng)用和物聯(lián)網(wǎng)設(shè)備

顯著特性和功能:為多個(gè)Raspberry PiSBC型號(hào)和Pico提供指定支持;圖形化IDE

NuttX

1cc34bce-091a-11f0-9434-92fbcf53809c.jpg

NuttX是一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS),專注于標(biāo)準(zhǔn)合規(guī)性,特別是POSIX和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)的標(biāo)準(zhǔn)。它的第二個(gè)重點(diǎn)是可伸縮性,并且與從8位到64位的微控制器環(huán)境兼容。

它已被移植到新的Raspberry PiPico和基于RP2040微控制器的其他主板上。它完全支持其兩個(gè)ARM Cortex-M0+核心上的對(duì)稱多處理(SMP)操作。

  • 開發(fā)者:格雷戈里·納特(Gregory Nutt)

  • 預(yù)期用途:符合國(guó)際標(biāo)準(zhǔn)的RTOS

  • 顯著特點(diǎn)和功能:體積小、可伸縮性強(qiáng)

TrampolineRTOS

1cd6c06e-091a-11f0-9434-92fbcf53809c.jpg

Trampoline是為小型嵌入式系統(tǒng)設(shè)計(jì)的靜態(tài)RTOS,這意味著用戶可以對(duì)內(nèi)存分配進(jìn)行更多控制。這種類型的RTOS操作起來(lái)更復(fù)雜,但對(duì)于重復(fù)任務(wù)來(lái)說(shuō),它可以是一個(gè)更穩(wěn)定且可預(yù)測(cè)的選擇。

Trampoline API與汽車標(biāo)準(zhǔn)保持一致,但這不僅僅是一個(gè)局限于單一行業(yè)的簡(jiǎn)單選擇。文檔中特別支持早期Raspberry Pi型號(hào)中使用的博通BCM2836處理器,因此,如果你手頭有舊款的Raspberry Pi,這將是一個(gè)安全且穩(wěn)定的選擇。

  • 開發(fā)者:LS2N的實(shí)時(shí)系統(tǒng)小組

  • 預(yù)期用途:汽車領(lǐng)域的嵌入式RTOS

  • 顯著特點(diǎn)和功能:靜態(tài)RTOS;支持舊款Raspberry Pi型號(hào)

RODOS

1ced7c50-091a-11f0-9434-92fbcf53809c.jpg

實(shí)時(shí)機(jī)載可靠操作系統(tǒng)(RODOS)是另一個(gè)開源的嵌入式選項(xiàng),最初是為控制衛(wèi)星而開發(fā)的,所以你可以相信它的準(zhǔn)確性!畢竟,它是在德國(guó)航空航天中心開發(fā)的,至今仍用于該中心的微衛(wèi)星項(xiàng)目。

RODOS可以獨(dú)立運(yùn)行(“裸機(jī)”)或在另一個(gè)操作系統(tǒng)之上運(yùn)行,這使其能夠靈活應(yīng)用于各種項(xiàng)目類型。

  • 開發(fā)者:維爾茨堡大學(xué)信息學(xué)研究所

  • 預(yù)期用途:衛(wèi)星控制或任何需要高可靠性的應(yīng)用

  • 顯著特點(diǎn)和功能:超快速啟動(dòng);線程安全的通信和同步

Mbed (Linux) OS

最后,Mbed OS是一個(gè)為物聯(lián)網(wǎng)(IoT)設(shè)備設(shè)計(jì)的開源嵌入式操作系統(tǒng)。它包括基于ARM Cortex-M微控制器開發(fā)IoT設(shè)備所需的所有功能。雖然Mbed OS目前還不支持Raspberry Pi主板,但在撰寫本文時(shí),一個(gè)針對(duì)Raspberry PiPico的移植版本正在開發(fā)中,并且過(guò)去已經(jīng)成功實(shí)現(xiàn)了一些用于Raspberry Pi的API。

然而,相關(guān)的操作系統(tǒng)Mbed Linux OS是專門為Raspberry Pi3等流行開發(fā)板所基于的ARM Cortex-A處理器設(shè)計(jì)的。雖然該存儲(chǔ)庫(kù)已不再維護(hù),但仍在GitHub上可訪問(wèn),只是要注意,它不再獲得持續(xù)支持。

  • 開發(fā)者:Arm

  • 預(yù)期用途:嵌入式應(yīng)用和IoT設(shè)備

  • 顯著特點(diǎn)和功能:Raspberry PiPico移植版本正在開發(fā)中

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6978

    瀏覽量

    124415
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    835

    瀏覽量

    120292
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    613

    瀏覽量

    22555
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    一文詳解實(shí)時(shí)操作系統(tǒng)(RTOS)

    實(shí)時(shí)操作系統(tǒng) (RTOS) 是管理微處理器或微控制器時(shí)間的軟件。實(shí)時(shí)系統(tǒng)指如果系統(tǒng)的邏輯和時(shí)序
    發(fā)表于 08-30 11:10 ?1.2w次閱讀

    什么是實(shí)時(shí)操作系統(tǒng)(RTOS)

    實(shí)時(shí)操作系統(tǒng)RTOS)是一種專為實(shí)時(shí)應(yīng)用程序設(shè)計(jì)的操作系統(tǒng)。實(shí)時(shí)應(yīng)用程序需要在特定時(shí)間內(nèi)做出預(yù)
    的頭像 發(fā)表于 11-23 17:14 ?6861次閱讀

    實(shí)時(shí)操作系統(tǒng)RTOS有什么要點(diǎn)?

    對(duì)許多嵌入式項(xiàng)目來(lái)說(shuō),系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但
    發(fā)表于 04-01 07:48

    實(shí)時(shí)操作系統(tǒng)RTOS)是指什么

    計(jì)算機(jī)三級(jí)知識(shí)點(diǎn)總結(jié)五嵌入式系統(tǒng)實(shí)時(shí)系統(tǒng)(RTS)實(shí)時(shí)操作系統(tǒng)RTOS
    發(fā)表于 12-23 06:39

    選擇實(shí)時(shí)操作系統(tǒng)(RTOS)的要點(diǎn)詳解

      對(duì)許多嵌入式項(xiàng)目來(lái)說(shuō),系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但
    發(fā)表于 10-28 10:41 ?9261次閱讀
    <b class='flag-5'>選擇</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>(<b class='flag-5'>RTOS</b>)的要點(diǎn)詳解

    RTOS操作系統(tǒng)

    RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS
    發(fā)表于 12-28 15:30 ?0次下載

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

    要想最大限度地發(fā)揮Zynq All Programmable SoC的優(yōu)勢(shì),需要一款操作系統(tǒng)。本文將介紹如何安裝實(shí)時(shí)操作系統(tǒng)—這里特指μC/OS-III。要想從最大限度地發(fā)揮賽靈思Z
    發(fā)表于 11-18 10:08 ?6369次閱讀
    如何安裝<b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>RTOS</b>

    RTOS實(shí)時(shí)操作系統(tǒng)怎么執(zhí)行多任務(wù)的?

    RTOS實(shí)時(shí)操作系統(tǒng)中是怎樣實(shí)現(xiàn)多任務(wù)的?
    的頭像 發(fā)表于 03-03 13:49 ?4794次閱讀
    <b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>怎么執(zhí)行多任務(wù)的?

    選擇實(shí)時(shí)操作系統(tǒng)(RTOS)的要點(diǎn)詳解

    對(duì)許多嵌入式項(xiàng)目來(lái)說(shuō),系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)RTOS)。但
    的頭像 發(fā)表于 11-18 10:02 ?3171次閱讀

    MCU跑操作系統(tǒng)時(shí)RTOS總是必要的嗎

    對(duì)許多嵌入式項(xiàng)目來(lái)說(shuō),系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)RTOS)。但
    的頭像 發(fā)表于 11-18 15:45 ?2343次閱讀

    Raspberry Pi(樹莓派)操作系統(tǒng)的安裝方法

    Raspberry Pi(樹莓派)需要搭載操作系統(tǒng)才能正常運(yùn)行。官方支持的操作系統(tǒng)Raspberry
    的頭像 發(fā)表于 04-02 15:26 ?3262次閱讀

    如何選擇的嵌入式系統(tǒng)操作系統(tǒng)選擇指南

    When and where it makes sense to use bare-metal, an RTOS, and Linux. 在上一篇文章“如何選擇的嵌入式系統(tǒng)
    的頭像 發(fā)表于 07-14 08:17 ?1127次閱讀

    選擇實(shí)時(shí)操作系統(tǒng)(RTOS)的要點(diǎn)詳解

    對(duì)許多嵌入式項(xiàng)目來(lái)說(shuō),系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但
    發(fā)表于 05-30 09:45 ?1151次閱讀

    帶你認(rèn)識(shí)實(shí)時(shí)操作系統(tǒng)(rtos)

    實(shí)時(shí)操作系統(tǒng)RTOS)是嵌入式系統(tǒng)實(shí)時(shí)應(yīng)用提供一個(gè)穩(wěn)定、可預(yù)測(cè)和高效運(yùn)行環(huán)境的
    的頭像 發(fā)表于 04-16 16:30 ?1720次閱讀
    帶你認(rèn)識(shí)<b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>(<b class='flag-5'>rtos</b>)

    簡(jiǎn)單認(rèn)識(shí)RTOS實(shí)時(shí)操作系統(tǒng)

    RTOS(Real Time Operating System,實(shí)時(shí)操作系統(tǒng))是一種專門設(shè)計(jì)用于在嚴(yán)格時(shí)間限制內(nèi)處理任務(wù)的操作系統(tǒng)。它以其高實(shí)時(shí)
    的頭像 發(fā)表于 08-20 11:20 ?4145次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品