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

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

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

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

eeDesigner ? 來源:物聯(lián)網(wǎng)評論 ? 作者:物聯(lián)網(wǎng)評論 ? 2022-09-07 11:51 ? 次閱讀

在上一篇文章“如何選擇嵌入式系統(tǒng)操作系統(tǒng):操作系統(tǒng)特征”中,我們討論了團隊在選擇操作系統(tǒng)時權(quán)衡的系統(tǒng)特征。我們看到產(chǎn)品的生命周期成本、物理特性、實時性能、庫集成和安全性等特征發(fā)揮了作用(僅舉幾例)。今天的帖子將精確地探討何時何地使用裸機,RTOSLinux是有意義的。請記住,這些是一般準(zhǔn)則,因行業(yè)而異,甚至因產(chǎn)品而異。

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

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

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

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

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

何時使用實時操作系統(tǒng)

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

當(dāng)我決定是使用RTOS還是裸機時,我問自己幾個問題:

添加實時操作系統(tǒng)是否會簡化軟件架構(gòu)?

添加實時操作系統(tǒng)會提高軟件的可維護性嗎?

應(yīng)用程序的實時性能是否會得到改善?

RTOS是一種工具,應(yīng)該為應(yīng)用程序和整個軟件開發(fā)生命周期提供價值。如果RTOS是一個障礙,那么就不應(yīng)該僅僅因為我想使用它而使用它。

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

何時使用 Linux

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

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

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

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

結(jié)論

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

審核編輯 黃昊宇

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

    關(guān)注

    41

    文章

    3610

    瀏覽量

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

    關(guān)注

    37

    文章

    6862

    瀏覽量

    123507
收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇嵌入式系統(tǒng)操作系統(tǒng)操作系統(tǒng)特征

    嵌入式系統(tǒng)開發(fā)人員目前擁有廣泛的操作系統(tǒng)。當(dāng)然,最直接的操作系統(tǒng)就是沒有操作系統(tǒng)!但是,當(dāng)今的許多系統(tǒng)
    的頭像 發(fā)表于 09-07 11:51 ?1994次閱讀

    嵌入式操作系統(tǒng)怎么選擇?

    嵌入式操作系統(tǒng)是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā)展到以arm CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)的
    發(fā)表于 04-07 07:13

    如何去選擇嵌入式操作系統(tǒng)?

    mC/OS-II嵌入式實時內(nèi)核mCLinux操作系統(tǒng)嵌入式Linux操作系統(tǒng)
    發(fā)表于 04-25 07:46

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

    支持ARM的操作系統(tǒng)有哪些呢?嵌入式操作系統(tǒng)如何選擇呢?
    發(fā)表于 03-04 13:13

    嵌入式操作系統(tǒng)的內(nèi)核研究

    嵌入式操作系統(tǒng)嵌入式系統(tǒng)應(yīng)用的核心。而內(nèi)核完成操作系統(tǒng)最核心的功能,本文通過對兩種嵌入式
    發(fā)表于 07-30 14:55 ?22次下載

    嵌入式實時操作系統(tǒng)COS一Ⅱ與VxWORKs

    本文通過tLC/OS—II與VxWORKs兩種嵌入式操作系統(tǒng)的對比,介紹了嵌入式操作系統(tǒng)的特征,以及在項目實施時如何選擇合適的
    發(fā)表于 12-11 16:11 ?31次下載

    嵌入式操作系統(tǒng)的網(wǎng)絡(luò)加載實現(xiàn)

      在復(fù)雜的應(yīng)用系統(tǒng)中通常都需要嵌入式操作系統(tǒng)的支持,這樣嵌入式操作系統(tǒng)鏡像文件的尺寸往往就會變得比較大。可以
    發(fā)表于 08-25 14:02 ?1275次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>的網(wǎng)絡(luò)加載實現(xiàn)

    關(guān)于怎樣選擇嵌入式操作系統(tǒng)的淺析

    嵌入式操作系統(tǒng)是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā) 展到以ARM CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)
    發(fā)表于 10-18 17:02 ?0次下載

    該如何正確選擇嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā) 展到以ARM CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)
    發(fā)表于 07-01 16:53 ?2809次閱讀

    如何為嵌入式應(yīng)用程序選擇操作系統(tǒng)

    在臺式計算機上,操作系統(tǒng)(OS)的選擇很大程度上取決于口味-Windows,Apple,Linux。選擇相對較少。對于嵌入式系統(tǒng),問題要復(fù)雜
    發(fā)表于 05-13 10:17 ?1068次閱讀

    嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成

    本文首先介紹了入操作系統(tǒng)的特點,其次闡述了嵌入式操作系統(tǒng)的應(yīng)用,最后介紹了嵌入式操作系統(tǒng)的組成
    發(fā)表于 09-01 16:36 ?3627次閱讀

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

    嵌入式操作系統(tǒng)一、嵌入式操作系統(tǒng)概述1.1 嵌入式操作系統(tǒng)的特點1.2
    發(fā)表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>

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

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

    如何選擇您的嵌入式系統(tǒng)操作系統(tǒng)操作系統(tǒng)特性

    libraries, security, and maintainability also play an essential role. 嵌入式系統(tǒng)開發(fā)人員如今可以使用范圍廣泛的操作系統(tǒng)。當(dāng)然
    的頭像 發(fā)表于 07-14 08:17 ?888次閱讀

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

    嵌入式操作系統(tǒng)是一種專門的操作系統(tǒng)(OS),旨在為非計算機的設(shè)備執(zhí)行特定任務(wù)。嵌入式操作系統(tǒng)的主要工作是運行允許設(shè)備完成其工作的代碼。
    的頭像 發(fā)表于 12-23 15:33 ?7844次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>?