0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

何時(shí)需要使用RTOS

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 2025-01-21 14:36 ? 次閱讀

嵌入式開發(fā)人員在開始新項(xiàng)目時(shí)面臨越來(lái)越多的挑戰(zhàn)。在萬(wàn)物互聯(lián)時(shí)代到來(lái)之前,嵌入式系統(tǒng)幾乎沒(méi)有或沒(méi)有安全對(duì)策。如今,開發(fā)人員必須專注于增強(qiáng)嵌入式安全性,以防止在線對(duì)手和側(cè)通道攻擊,即使它們有致力于延長(zhǎng)電池壽命并配置響應(yīng)迅速且直觀的用戶界面。

多年來(lái),對(duì)程序結(jié)構(gòu)的態(tài)度也發(fā)生了變化,從簡(jiǎn)單的循環(huán)到使用狀態(tài)機(jī),對(duì)于復(fù)雜的系統(tǒng),需要使用嵌入式實(shí)時(shí)操作系統(tǒng)RTOS)。多核設(shè)備的廣泛使用也影響了開發(fā)人員構(gòu)建應(yīng)用程序的方式。

使用RTOS可以在嵌入式系統(tǒng)中帶來(lái)許多好處,包括更好的資源管理、可預(yù)測(cè)的應(yīng)用程序行為和改進(jìn)的響應(yīng)性。然而,采用RTOS需要重新思考程序結(jié)構(gòu),關(guān)于基于RTOS的開發(fā)產(chǎn)業(yè)界仍然存在一些誤解。資深媒體人Robert Huntley與Segger、Zephyr Project和北歐半導(dǎo)體(Nordic)的高管進(jìn)行了交談,了解到更多關(guān)于開發(fā)人員必須做出的關(guān)鍵決策,以及如何簡(jiǎn)化從傳統(tǒng)程序結(jié)構(gòu)向RTOS的過(guò)渡。

現(xiàn)存結(jié)構(gòu)的作用

一個(gè)根本問(wèn)題是,現(xiàn)存程序結(jié)構(gòu)是否以及在哪里仍然有效。嵌入式RTOS供應(yīng)商Segger(德國(guó))的合作伙伴營(yíng)銷經(jīng)理Dirk Akemann說(shuō):“這里仍然有時(shí)間片輪轉(zhuǎn)的位置,但它越來(lái)越不受歡迎,這個(gè)問(wèn)題與小資源MCU仍然相關(guān)?!?/p>

Linux基金會(huì)嵌入式系統(tǒng)副總裁兼Linux托管開源Zephyr項(xiàng)目主任Kate Stewart也提出了類似的觀點(diǎn)?!斑@一切都取決于系統(tǒng)設(shè)計(jì),”她說(shuō),“這是關(guān)于弄清楚嵌入式系統(tǒng)如何與硬件配合使用,以及您是否必須對(duì)任務(wù)和調(diào)度有精確性要求?!?/p>

Stewart說(shuō):“如果約束很簡(jiǎn)單,那么你可以使用循環(huán)。然而,如果您的設(shè)計(jì)使用更復(fù)雜的環(huán)境,想要利用安全、安全和通信協(xié)議,并且需要時(shí)間限制,則RTOS是必要的?!?/p>

當(dāng)被問(wèn)及大學(xué)是否在向?qū)W生開發(fā)人員講授使用RTOS的好處和如何使用時(shí),Akemann表示有工作要做。他說(shuō):“一個(gè)計(jì)算機(jī)科學(xué)程序員,他們基本上知道如何編程,但這與嵌入式設(shè)計(jì)中的具體要求無(wú)關(guān),而且真正解決這一問(wèn)題的課程仍然很少,從電氣工程專業(yè)的角度來(lái)看,它是相似的問(wèn)題?!?/p>

RTOS具有可移植性

在實(shí)施基于RTOS的開發(fā)方法時(shí),需要做出一些關(guān)鍵決定。Stewart說(shuō):“你必須了解的第一件事是在系統(tǒng)內(nèi)工作所需的資源限制。你完成任務(wù)的處理器配置是什么?你需要消耗多少電力?然后還有考慮,您是否有完成任務(wù)所需的通信等內(nèi)容要求,啟動(dòng)過(guò)程中是否有時(shí)間考慮因素,以及您可能需要的采樣率是多少。另一個(gè)因素是設(shè)備是否必須與人機(jī)交互?!?/p>

Akemann指出了代碼可移植性越來(lái)越重要?!叭绻性谠S多不同平臺(tái)上運(yùn)行的RTOS,當(dāng)您選擇的MCU不再可用或出現(xiàn)供應(yīng)鏈問(wèn)題時(shí),您可以切換芯片。然而,請(qǐng)記住,如果你不使用RTOS,你的可移植性就會(huì)消失?!?/p>

首次使用RTOS的開發(fā)人員面臨著學(xué)習(xí)曲線,但Akemann表示,這不是不可逾越的。他說(shuō):“通常,客戶會(huì)實(shí)施相當(dāng)笨重的一個(gè)應(yīng)用程序,但根據(jù)我的經(jīng)驗(yàn),他們很快就習(xí)慣了。Segger通過(guò)為我們的embOS RTOS提供一份包含許多示例的手冊(cè)來(lái)提供幫助。最初,人們只編寫一個(gè)超級(jí)循環(huán)應(yīng)用程序,并在將任務(wù)分配給特定進(jìn)程之前將所有內(nèi)容都放在一個(gè)任務(wù)中。他們甚至可能認(rèn)為操作系統(tǒng)中存在一些魔力,操作系統(tǒng)將讓他們有機(jī)會(huì)比以前做得更多。情況并非如此,但通常情況下,客戶會(huì)很快習(xí)慣這種現(xiàn)實(shí)?!?/p>

糾正誤解

關(guān)于RTOS的一個(gè)常見(jiàn)誤解是,與類似的裸機(jī)方法相比,內(nèi)存要求要高得多。Stewart反駁說(shuō)“Linux基金會(huì)的開源RTOS Zephyr項(xiàng)目只需要10kB就可以運(yùn)行一個(gè)Blinky應(yīng)用程序(閃爍LED而不是顯示“你好,世界”),然后您可以使用Zephyr Kconfig文件和設(shè)備樹來(lái)添加您需要的其余部分,一切都已經(jīng)集成到代碼庫(kù)中?!?/p>

Stewart還駁斥了RTOS是一個(gè)黑匣子的假設(shè),她觀察到:“當(dāng)事情出錯(cuò)時(shí),你需要有透明度和理解能力,這就是你通過(guò)開源RTOS獲得的。因此,當(dāng)事情不成功時(shí),你可以把你的分析放到一個(gè)新的層級(jí)去做。”

Akemann談到了這樣的想法,即使用RTOS可以比沒(méi)有RTOS做更多事情,同時(shí)在這個(gè)過(guò)程中對(duì)硬件施加“小限制”。他說(shuō)RTOS將“增加一點(diǎn)執(zhí)行時(shí)間,因?yàn)樾枰a執(zhí)行才能從一個(gè)任務(wù)切換到另一個(gè)任務(wù)”。

Akemann說(shuō),“另一個(gè)誤解是,RTOS是一個(gè)完整的操作系統(tǒng),就像Windows或Linux一樣。嵌入式RTOS并非如此,它通常只是調(diào)度器本身。它不附帶IP堆棧、USB堆?;蛑С制渌鈬O(shè)備的協(xié)議。當(dāng)然,一些供應(yīng)商提供這些堆棧,但我們經(jīng)常從客戶那里聽(tīng)到的誤解是,他們想要一個(gè)完整的操作系統(tǒng)”包括來(lái)自單一來(lái)源的一切中間件。

硬件抽象

北歐半導(dǎo)體(挪威)的開發(fā)人員營(yíng)銷經(jīng)理Ali Aljaani就開發(fā)人員如何接受RTOS概念提供了見(jiàn)解?!皩?duì)于開發(fā)人員來(lái)說(shuō),這是一個(gè)相當(dāng)大的話題?!彼f(shuō),“如果你設(shè)身處地為來(lái)自嵌入式大學(xué)課程的開發(fā)人員著想,你控制硬件的方法就是寫寄存器。與將硬件設(shè)備參數(shù)放入頭文件中不同,使用RTOS,硬件是從源代碼中抽象出來(lái)的,就Zephyr而言,所有內(nèi)容都被抽象成設(shè)備樹,因此當(dāng)您選擇目標(biāo)時(shí),它會(huì)選擇該硬件的設(shè)備樹?!?/p>

Aljaani說(shuō),Nordic認(rèn)識(shí)到需要對(duì)從裸機(jī)方法切換到RTOS的工程師進(jìn)行教育和指導(dǎo),并做出了相應(yīng)的響應(yīng)?!半S著硬件的不斷改進(jìn)、多個(gè)內(nèi)核和豐富的外圍設(shè)備,如果你想在裸機(jī)上做類似過(guò)程間通信的事情,那就是一場(chǎng)噩夢(mèng)。我們決定對(duì)教育進(jìn)行大量投資,并成立了北歐開發(fā)者學(xué)院。”Aljaani說(shuō)“例如,我們的NR Connect SDK基礎(chǔ)知識(shí)課程解釋了Zephyr的行為,Zephyr是我們使用的核心RTOS組件,以及Kconfig和設(shè)備樹的概念。這些需要都是動(dòng)手操作的,所以我們從用一個(gè)很小的源代碼解釋想法開始,并繼續(xù)構(gòu)建?!?/p>

麥克泰技術(shù)是SEGGER在中國(guó)的代理商,具有超過(guò)20年嵌入式實(shí)時(shí)操作系統(tǒng)和工具的市場(chǎng)、服務(wù)和培訓(xùn)經(jīng)驗(yàn),已經(jīng)錄制許多RTOS視頻課程并撰寫博客文章,包括開源μC/OS,FreeRTOS和安全商業(yè)操作系統(tǒng)embOS,SafeRTOS和Flexible Safety RTOS,了解更多產(chǎn)品信息聯(lián)系麥克泰技術(shù)Info@bmrtech.com。

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5089

    文章

    19169

    瀏覽量

    306745
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11335

    瀏覽量

    210072
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    819

    瀏覽量

    119794

原文標(biāo)題:專家談何時(shí)放棄裸機(jī)開始使用RTOS

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    要使TAS5754 正常工作,需要哪些步驟?

    剛接手一塊TAS5754芯片官方好像沒(méi)有詳細(xì)的使用手冊(cè)文檔 我在這里求教各位大神 要使TAS5754 正常工作 需要哪些步驟
    發(fā)表于 10-24 08:09

    深入解析Zephyr RTOS的技術(shù)細(xì)節(jié)

    Zephyr是一個(gè)針對(duì)資源受限設(shè)備優(yōu)化的小型、可縮放、多體系架構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。Zephyr由Linux基金會(huì)維護(hù)[1],是一個(gè)以構(gòu)建業(yè)界最佳的RTOS為目標(biāo)的開源合作項(xiàng)目。近年來(lái)
    的頭像 發(fā)表于 10-22 16:47 ?662次閱讀
    深入解析Zephyr <b class='flag-5'>RTOS</b>的技術(shù)細(xì)節(jié)

    RTOS正在縮小與Linux的差距

    RTOS與Linux的物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)之爭(zhēng)已經(jīng)持續(xù)了很多年。Linux以其強(qiáng)大的計(jì)算能力和豐富的軟件生態(tài),在需要復(fù)雜處理和軟件支持的物聯(lián)網(wǎng)設(shè)備上占據(jù)一席之地;RTOS憑借實(shí)時(shí)響應(yīng)和資源節(jié)約的特性
    的頭像 發(fā)表于 09-10 08:07 ?814次閱讀
    <b class='flag-5'>RTOS</b>正在縮小與Linux的差距

    freertos和rtos區(qū)別是什么

    FreeRTOS 和 RTOS(實(shí)時(shí)操作系統(tǒng))是兩個(gè)不同的概念,但它們之間有緊密的聯(lián)系。FreeRTOS 是一個(gè)特定的開源實(shí)時(shí)操作系統(tǒng),而 RTOS 是實(shí)時(shí)操作系統(tǒng)的一般概念。 概念定義 RTOS
    的頭像 發(fā)表于 09-02 14:18 ?1416次閱讀

    RTOS與Linux有什么區(qū)別

    RTOS(Real-Time Operating System,實(shí)時(shí)操作系統(tǒng))與Linux是兩種在不同應(yīng)用場(chǎng)景下發(fā)揮重要作用的操作系統(tǒng),它們?cè)谠O(shè)計(jì)理念、功能特性、應(yīng)用場(chǎng)景以及性能表現(xiàn)等方面存在顯著差異。以下是對(duì)RTOS與Linux區(qū)別的詳細(xì)分析。
    的頭像 發(fā)表于 08-20 16:05 ?4068次閱讀

    RTOS的特性和類型

    實(shí)時(shí)操作系統(tǒng)(RTOS)是一種可運(yùn)行實(shí)時(shí)計(jì)算應(yīng)用程序的軟件平臺(tái),用于處理具有明確時(shí)間約束的事件和數(shù)據(jù)。與通用操作系統(tǒng)(GPOS)不同,RTOS必須在有限的硬件資源上調(diào)度應(yīng)用程序之間的處理和數(shù)據(jù)共享
    的頭像 發(fā)表于 08-20 11:29 ?644次閱讀

    RTOS開發(fā)最佳實(shí)踐

    基于RTOS編寫應(yīng)用程序時(shí),有一些要注意事項(xiàng)。在本節(jié)中,您將學(xué)習(xí)RTOS開發(fā)最佳實(shí)踐,例如POSIX合規(guī)性、安全性和功能安全認(rèn)證。
    的頭像 發(fā)表于 08-20 11:24 ?490次閱讀

    ESP8266_RTOS_SDK編譯錯(cuò)誤的原因?

    需要使用 gpio 功能,所以想生成驅(qū)動(dòng)程序庫(kù)。 我遵循了方法 1,Readme.md 存在于 driver_lib 中。但它會(huì)導(dǎo)致錯(cuò)誤。 請(qǐng)幫忙
    發(fā)表于 07-12 08:04

    什么情況下需要使用接地電阻柜

    什么情況下需要使用接地電阻柜?中性點(diǎn)電阻柜不接地時(shí),中性點(diǎn)接地方式一般為不接地、直接接地和通過(guò)消弧線圈或小電阻接地。接地電阻測(cè)試需要將接地引下線接至大地,但大地電阻因季節(jié)變化而不同,需要用數(shù)字鉗形表
    的頭像 發(fā)表于 06-18 08:36 ?302次閱讀

    如何為CYPD6227編程?需要使用哪些工具?

    我想學(xué)習(xí)重新刷新筆記本電腦主板上的編程芯片 CYPD6227。 芯片編程需要使用哪些工具,還需要哪些資源? 如有任何幫助,我們將不勝感激。 謝謝。
    發(fā)表于 06-03 09:10

    risc-v的mcu對(duì)RTOS兼容性如何

    RTOS的版本和配置也會(huì)影響其與RISC-V MCU的兼容性。較新版本的RTOS可能提供了更好的RISC-V支持和優(yōu)化。 在配置RTOS時(shí),需要考慮RISC-V MCU的特定特性
    發(fā)表于 05-27 16:26

    CY8C5867LTI-LP025 SPI通信是否也需要使用SIO端口?

    我正在使用 CY8C5867LTI-LP025。 我知道我需要使用 SIO 端口來(lái)使用 I2C、UART 等。 SPI通信是否也需要使用 SIO 端口?
    發(fā)表于 03-06 06:23

    基于RTOS的應(yīng)用進(jìn)程中的典型線程

    RTOS中的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價(jià)值在于它的響應(yīng)速度或可預(yù)測(cè)性,而不是它在給定時(shí)間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?682次閱讀
    基于<b class='flag-5'>RTOS</b>的應(yīng)用進(jìn)程中的典型線程

    何時(shí)選擇裸機(jī)?何時(shí)選擇RTOS?何時(shí)選擇GPOS?

    在每個(gè)開發(fā)項(xiàng)目的初期,你都必須選擇軟件開發(fā)的基礎(chǔ)。雖然有很多選擇,但它們通常分為三類:裸機(jī)、實(shí)時(shí)操作系統(tǒng)(RTOS)或通用操作系統(tǒng)(GPOS)。
    的頭像 發(fā)表于 02-27 11:42 ?1275次閱讀

    CAN總線系統(tǒng)需要使用中繼器進(jìn)行信號(hào)增強(qiáng)和延長(zhǎng)?

    CAN總線系統(tǒng)需要使用中繼器進(jìn)行信號(hào)增強(qiáng)和延長(zhǎng)? CAN總線系統(tǒng)是是一種用于微控制器和設(shè)備之間通信的串行總線系統(tǒng)。作為一種主要用于汽車和工業(yè)領(lǐng)域的通信協(xié)議,CAN總線系統(tǒng)需要使用中繼器進(jìn)行信號(hào)增強(qiáng)
    的頭像 發(fā)表于 01-31 13:46 ?989次閱讀