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

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

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

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

陳游斗 ? 來源:半導(dǎo)體資本 ? 作者:半導(dǎo)體資本 ? 2022-07-14 08:17 ? 次閱讀

When and where it makes sense to use bare-metal, an RTOS, and Linux.

在上一篇文章“如何選擇您的嵌入式系統(tǒng)操作系統(tǒng):操作系統(tǒng)特性”中,我們討論了團(tuán)隊(duì)在選擇操作系統(tǒng)時(shí)會(huì)權(quán)衡的系統(tǒng)特性。我們看到產(chǎn)品的生命周期成本、物理特性、實(shí)時(shí)性能、庫(kù)集成和安全性等特性發(fā)揮了作用(僅舉幾例)。今天的文章將準(zhǔn)確探討何時(shí)何地使用裸機(jī)、RTOS 和 Linux 是有意義的。請(qǐng)記住,這些是一般性指導(dǎo)方針,會(huì)因行業(yè)而異,甚至因產(chǎn)品而異。

何時(shí)使用裸機(jī)(無操作系統(tǒng))

當(dāng)您查看有關(guān)連接、物聯(lián)網(wǎng)、機(jī)器學(xué)習(xí)和其他前沿主題的營(yíng)銷頭條時(shí),您可能會(huì)認(rèn)為每個(gè)嵌入式系統(tǒng)都需要一個(gè)操作系統(tǒng)。不幸的是,這種印象與事實(shí)相去甚遠(yuǎn)!雖然許多尖端技術(shù)可能受益于操作系統(tǒng),但您可以在沒有 RTOS 或 Linux 的情況下使用相當(dāng)多的應(yīng)用程序。如果您查看2019 年嵌入式市場(chǎng)調(diào)查,您會(huì)發(fā)現(xiàn)約 50% 的項(xiàng)目是裸機(jī)!

在幾種情況下,不使用操作系統(tǒng)會(huì)很有意義。首先,如果您使用的是 8 位或 16 位微控制器,您幾乎總是希望使用裸機(jī)或使用輕量級(jí)協(xié)作調(diào)度程序。許多操作系統(tǒng)開發(fā)人員不會(huì)將他們的軟件移植到更小的架構(gòu)上,因?yàn)檫@些系統(tǒng)已經(jīng)受到處理器和資源的限制。添加操作系統(tǒng)通常會(huì)消耗太多時(shí)鐘周期并使系統(tǒng)效率低下。

接下來,裸機(jī)解決方案在微控制器引腳數(shù)較少且可用閃存和 SRAM 有限的應(yīng)用中非常有意義。在資源受限的環(huán)境中工作時(shí),每個(gè)字節(jié)和每個(gè)時(shí)鐘周期都會(huì)對(duì)產(chǎn)品是否可用產(chǎn)生影響。如果微控制器資源有限,最有效的解決方案可能是沒有操作系統(tǒng)。

最后,如果您正在開發(fā)一個(gè)沒有任何連接或高性能處理需求的“簡(jiǎn)單”控制應(yīng)用程序,那么裸機(jī)可能對(duì)您的應(yīng)用程序有意義。當(dāng)今在嵌入式系統(tǒng)中使用操作系統(tǒng)的重要驅(qū)動(dòng)因素之一是需要支持基礎(chǔ)設(shè)施代碼。例如,連接互聯(lián)網(wǎng)的傳感器必須連接到云、管理安全分區(qū)、執(zhí)行安全更新、運(yùn)行 DSP 算法等。操作系統(tǒng)可以幫助管理所有這些活動(dòng)的時(shí)間和資源,但您可能不需要如果您沒有所有這些東西,請(qǐng)使用操作系統(tǒng)。

何時(shí)使用 RTOS

當(dāng)微控制器的板載資源達(dá)到 40 MHz 的最低時(shí)鐘速度、至少 64 KB 的閃存和 8 KB 的 RAM 時(shí),使用操作系統(tǒng)的大門就開始了。減少任何東西,您將花費(fèi)更多時(shí)間來滿足 RTOS 的需求,而不是應(yīng)用程序的需求。例如,當(dāng)您使用 RTOS 時(shí),每個(gè)任務(wù)都有自己的堆棧。堆棧至少需要 512 – 1024 字節(jié)的 SRAM。如果您的設(shè)計(jì)需要六個(gè)任務(wù),您將很快耗盡內(nèi)存。您可能需要更多的閃存和 RAM 來構(gòu)建合適的系統(tǒng)。

當(dāng)我決定是使用 RTOS 還是使用裸機(jī)時(shí),我會(huì)問自己幾個(gè)問題:

添加 RTOS 會(huì)簡(jiǎn)化軟件架構(gòu)嗎?

添加 RTOS 會(huì)提高軟件的可維護(hù)性嗎?

應(yīng)用程序的實(shí)時(shí)性能會(huì)提高嗎?

RTOS 是一種應(yīng)該為應(yīng)用程序和整個(gè)軟件開發(fā)生命周期提供價(jià)值的工具。如果 RTOS 是一個(gè)障礙,那么不應(yīng)該僅僅因?yàn)槲蚁胧褂盟褪褂盟?/p>

在某些特定的應(yīng)用程序中,使用 RTOS 會(huì)立即變得有意義。例如,如果我正在開發(fā)物聯(lián)網(wǎng)產(chǎn)品,我?guī)缀蹩偸鞘褂?RTOS。這是因?yàn)?RTOS 提供了工具和機(jī)制來輕松管理低級(jí)資源并將應(yīng)用程序分解為半獨(dú)立的程序。當(dāng)應(yīng)用程序很復(fù)雜時(shí),將應(yīng)用程序分解為任務(wù)很有意義。例如,物聯(lián)網(wǎng)產(chǎn)品通常需要幾個(gè)任務(wù)來管理連接,更不用說終端應(yīng)用了。另一個(gè)例子是有顯示器的設(shè)備,盡管有時(shí)這些應(yīng)用最適合多核處理器。

何時(shí)使用 Linux

近年來,在嵌入式系統(tǒng)中使用 Linux 已成為一種流行的選擇。Linux 受歡迎的部分原因在于它提供了一個(gè)功能齊全的操作系統(tǒng),并附帶了所有的花里胡哨。Linux 帶有大量的庫(kù)和特性。開發(fā)人員可以利用多任務(wù)處理甚至內(nèi)核的實(shí)時(shí)補(bǔ)丁。此外,運(yùn)行 Linux 的硬件成本在過去五年中大幅下降,使其成為特定應(yīng)用程序的令人興奮的解決方案。

在查看一個(gè)項(xiàng)目是否可以使用嵌入式 Linux 時(shí),我考慮了幾點(diǎn)。首先,產(chǎn)品必須能夠支持硬件的財(cái)務(wù)成本。我最近有一個(gè)客戶,我第三次幫助重新設(shè)計(jì)他們的產(chǎn)品,因?yàn)榍皟晌辉O(shè)計(jì)師無法滿足制造價(jià)格目標(biāo)。該產(chǎn)品的目標(biāo)受眾愿意為該產(chǎn)品支付大約 40 美元。最初的設(shè)計(jì)師使用 Linux 構(gòu)建了一個(gè)系統(tǒng),材料成本超過 100 美元!使用微控制器和用于操作系統(tǒng)的 RTOS 重新設(shè)計(jì)產(chǎn)品,我能夠?qū)?BOM 降至 11 美元左右。這就是擁有可持續(xù)發(fā)展的公司和不存在的公司之間的區(qū)別。

使用 Linux 時(shí)要考慮的第二點(diǎn)是產(chǎn)品的體積。如果你有一個(gè)小批量的產(chǎn)品,用戶可能已經(jīng)支付了更大的金額。當(dāng)您查看非經(jīng)常性工程成本和產(chǎn)品成本之間的權(quán)衡時(shí),您可能會(huì)發(fā)現(xiàn)使用 Linux 可以顯著降低 NRE 和上市時(shí)間。如果客戶對(duì)價(jià)格不敏感,Linux 可能更具有商業(yè)意義。

最后,我們不能忘記 Linux 為我們提供了強(qiáng)大的抽象、服務(wù)和庫(kù),可以簡(jiǎn)化工程。如果我們的產(chǎn)品非常復(fù)雜,我們可以利用 Linux 來簡(jiǎn)化我們與硬件的交互方式。我們可以使用更現(xiàn)代的編程語(yǔ)言,如 Python。如果需要,我們可以自定義內(nèi)核。Linux 非常適用于許多嵌入式應(yīng)用程序。如果您需要靈活性以及利用現(xiàn)有庫(kù)的能力,Linux 可能是您應(yīng)用程序的絕佳選擇。

結(jié)論

選擇用于嵌入式產(chǎn)品的操作系統(tǒng)可能會(huì)影響項(xiàng)目的成敗。太輕量級(jí)會(huì)導(dǎo)致開發(fā)團(tuán)隊(duì)花費(fèi)更多的精力和時(shí)間來使事情正常工作。另一方面,過重會(huì)導(dǎo)致更高的物料清單成本。正如我們所見,為您的應(yīng)用程序選擇正確的操作系統(tǒng)歸結(jié)為權(quán)衡對(duì)您的團(tuán)隊(duì)和用戶最重要的東西。


審核編輯 黃昊宇

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

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305299
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6827

    瀏覽量

    123335
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實(shí)時(shí)操作系統(tǒng)(RTOS)是確保任務(wù)按時(shí)完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。本
    的頭像 發(fā)表于 12-28 09:15 ?180次閱讀

    什么是嵌入式操作系統(tǒng)?

    什么是嵌入式操作系統(tǒng)? 想象一下,如果一個(gè)智能設(shè)備,比如你口袋里的智能手機(jī),是一個(gè)有頭腦的機(jī)器人,那么嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱EOS)就
    發(fā)表于 11-08 15:07

    嵌入式系統(tǒng)中的連接器選擇

    嵌入式系統(tǒng)中,連接器的選擇是一個(gè)至關(guān)重要的環(huán)節(jié),它關(guān)系到系統(tǒng)的穩(wěn)定性、可靠性和數(shù)據(jù)傳輸效率。以下是對(duì)嵌入式
    的頭像 發(fā)表于 11-07 09:44 ?275次閱讀

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設(shè)備的快速發(fā)展,嵌入式系統(tǒng)在各個(gè)領(lǐng)域扮演著越來越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)的首選操作
    的頭像 發(fā)表于 11-06 10:22 ?392次閱讀

    嵌入式系統(tǒng)的啟動(dòng)流程

    嵌入式系統(tǒng)的啟動(dòng)流程是一個(gè)復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動(dòng)的多個(gè)階段。
    的頭像 發(fā)表于 10-05 17:44 ?387次閱讀

    嵌入式系統(tǒng)的未來趨勢(shì)有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中,形成一個(gè)專用的計(jì)算機(jī)系統(tǒng)。那么嵌入式
    發(fā)表于 09-12 15:42

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個(gè)步驟的說明。 硬件
    的頭像 發(fā)表于 09-02 09:11 ?497次閱讀

    RT-Thread出席第六屆中國(guó)嵌入式技術(shù)大會(huì),共話嵌入式操作系統(tǒng)與智能工業(yè)

    第六屆中國(guó)嵌入式技術(shù)大會(huì)將于8月27-28日在深圳會(huì)展中心(福田)1號(hào)館舉行。本屆大會(huì)以“AI與開源,開啟嵌入式系統(tǒng)智能新時(shí)代”為主題,聚焦人工智能與嵌入式應(yīng)用、
    的頭像 發(fā)表于 08-03 08:35 ?410次閱讀
    RT-Thread出席第六屆中國(guó)<b class='flag-5'>嵌入式</b>技術(shù)大會(huì),共話<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>與智能工業(yè)

    第六屆國(guó)產(chǎn)嵌入式操作系統(tǒng)技術(shù)與產(chǎn)業(yè)發(fā)展論壇議程發(fā)布

    每年一度的國(guó)產(chǎn)嵌入式操作系統(tǒng)論壇即將在杭州濱江舉辦,今年是第六屆了,又是中國(guó)嵌入式系統(tǒng)新朋老友相聚的時(shí)刻。大模型催生AI走人千家萬戶、喚醒端側(cè)AI的需求爆發(fā)。以機(jī)器人、無人駕駛和智能制
    發(fā)表于 07-26 10:54

    嵌入式系統(tǒng)怎么學(xué)?

    開發(fā)工具:熟悉常用的嵌入式系統(tǒng)開發(fā)工具,包括集成開發(fā)環(huán)境(IDE)、編譯器、調(diào)試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實(shí)時(shí)操作系統(tǒng)(RTOS):了解實(shí)時(shí)
    發(fā)表于 07-02 10:10

    如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?

    選擇合適的新加坡VPS操作系統(tǒng)需要考慮哪些因素,如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為
    的頭像 發(fā)表于 05-10 11:14 ?449次閱讀
    如何根據(jù)需求<b class='flag-5'>選擇</b>合適的新加坡VPS<b class='flag-5'>操作系統(tǒng)</b>?

    嵌入式系統(tǒng)的外設(shè)器件選擇

    ,都可視系統(tǒng)的實(shí)際需求來進(jìn)行選擇。本文將為介紹上述外設(shè)器件的類型與選擇的考慮要素。 存儲(chǔ)器的種類眾多且特性不同 存儲(chǔ)器 在嵌入式
    的頭像 發(fā)表于 05-05 09:38 ?915次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的外設(shè)器件<b class='flag-5'>選擇</b>

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    由于嵌入式處理器早期功能單一且運(yùn)算能力不高,嵌入式應(yīng)用已不能滿足各個(gè)領(lǐng)域不斷增長(zhǎng)的需求。嵌入式操作系統(tǒng)應(yīng)運(yùn)而生,嵌入式
    的頭像 發(fā)表于 04-09 17:27 ?802次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)
    的頭像 發(fā)表于 03-29 08:05 ?357次閱讀
    瑞薩CTSU程序在向<b class='flag-5'>嵌入式</b>OS<b class='flag-5'>操作系統(tǒng)</b>移植時(shí)的注意事項(xiàng)

    請(qǐng)問ADuC7060能否移植uCOS II嵌入式操作系統(tǒng)?

    我想問一下ADuC7060能否移植uCOS II嵌入式操作系統(tǒng)
    發(fā)表于 01-15 06:59