国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Colin Walls ? 2022-06-30 10:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

幾乎所有現(xiàn)代嵌入式系統(tǒng)都是使用某種操作系統(tǒng) (OS) 構(gòu)建的。這意味著該操作系統(tǒng)的選擇往往發(fā)生在設(shè)計(jì)過(guò)程的早期。許多開(kāi)發(fā)人員發(fā)現(xiàn)這個(gè)選擇過(guò)程具有挑戰(zhàn)性。您如何為您的特定應(yīng)用選擇操作系統(tǒng)?

你需要一個(gè)操作系統(tǒng)嗎?

對(duì)于許多嵌入式應(yīng)用程序,顯然需要一個(gè)操作系統(tǒng)。如果應(yīng)用程序很復(fù)雜并且在高端處理器上運(yùn)行,那么幾乎可以肯定操作系統(tǒng)是有益的。另一方面,在低端芯片上運(yùn)行的簡(jiǎn)單軟件根本不需要操作系統(tǒng)。還有另外兩種可能性:低端 CPU 上的復(fù)雜軟件和復(fù)雜處理器上的簡(jiǎn)單軟件。在這兩種情況下,操作系統(tǒng)似乎都不會(huì)提供太多優(yōu)勢(shì),而且實(shí)際上可能會(huì)妨礙效率。但是,圍繞多任務(wù)模型構(gòu)建代碼是使其可擴(kuò)展的好方法,從而在將來(lái)某個(gè)時(shí)候遷移到更強(qiáng)大的設(shè)備和/或需要為應(yīng)用程序增加更多復(fù)雜性時(shí)最大限度地減少工作量。

pYYBAGK9DV-AH84fAAFIbNY1snA602.png

你在哪里可以獲得操作系統(tǒng)?

大致而言,有三種方法可以獲得嵌入式操作系統(tǒng):

自己寫(xiě)一個(gè)

利用“免費(fèi)”或開(kāi)源產(chǎn)品

從商業(yè)供應(yīng)商處購(gòu)買(mǎi)/許可產(chǎn)品

選項(xiàng)(1)很少是一個(gè)好的選擇,因?yàn)槟奶囟ㄐ枨蟛惶赡苋绱藢?zhuān)業(yè)以至于現(xiàn)有產(chǎn)品無(wú)法滿(mǎn)足它們。“重新發(fā)明輪子”從來(lái)不是一個(gè)明智的決定。唯一可能的例外可能是將編寫(xiě)操作系統(tǒng)作為一項(xiàng)學(xué)術(shù)練習(xí),以充分了解此類(lèi)產(chǎn)品的工作原理

選擇標(biāo)準(zhǔn)

操作系統(tǒng)的選擇取決于您可能會(huì)問(wèn)自己或他人的一系列問(wèn)題。很容易想象這完全是關(guān)于操作系統(tǒng)的技術(shù)問(wèn)題,事實(shí)上,這些問(wèn)題主導(dǎo)了這個(gè)過(guò)程。但是,需要考慮商業(yè)因素——比如成本——并且不能忽視個(gè)人經(jīng)驗(yàn)等因素。

技術(shù)因素

操作系統(tǒng)的技術(shù)方面在選擇過(guò)程中占主導(dǎo)地位。在考慮其他參數(shù)之前,這些問(wèn)題需要完全清楚。

您的應(yīng)用程序是實(shí)時(shí)的嗎?

實(shí)時(shí)應(yīng)用程序是響應(yīng)時(shí)間至關(guān)重要的應(yīng)用程序。它可能不快,但需要在可預(yù)測(cè)的(確定的)時(shí)間內(nèi)響應(yīng)外部事件;它必須足夠快(或慢)。操作系統(tǒng)選擇的含義是實(shí)時(shí)操作系統(tǒng) (RTOS) 最有可能是正確的選擇,因?yàn)樗菍?zhuān)門(mén)為滿(mǎn)足應(yīng)用程序的要求而設(shè)計(jì)的。Linux 本質(zhì)上不是實(shí)時(shí)的,但實(shí)時(shí)擴(kuò)展可能使其成為一個(gè)可行的選擇。

內(nèi)存大小有限制嗎?

過(guò)去,嵌入式系統(tǒng)的內(nèi)存容量通常非常小——可能只有幾 K。現(xiàn)在,有一個(gè)更加慷慨的規(guī)定,盡管帶有微控制器的片上內(nèi)存可能仍然非常有限。在設(shè)計(jì)簽署后向系統(tǒng)添加更多內(nèi)存并非易事。更重量級(jí)的操作系統(tǒng),如 Linux,非常需要內(nèi)存,因此空間限制是一個(gè)真正的挑戰(zhàn)。大多數(shù) RTOS 產(chǎn)品更輕量級(jí)并且可能具有可擴(kuò)展性,這意味著內(nèi)存僅用于實(shí)際需要的功能。

CPU 功率有限制嗎?

CPU 的功率是衡量它在給定時(shí)間內(nèi)可以完成多少工作(可以執(zhí)行多少條指令)的指標(biāo)。大多數(shù)嵌入式設(shè)計(jì)都會(huì)有一個(gè)有足夠功率的 CPU,但可能沒(méi)有多余的。任何一種操作系統(tǒng)都是開(kāi)銷(xiāo);它的執(zhí)行使用 CPU 能力,但不直接影響應(yīng)用程序功能。將此開(kāi)銷(xiāo)保持在最低限度通常很重要。操作系統(tǒng)的效率差異很大,但 RTOS 產(chǎn)品傾向于最節(jié)儉地使用 CPU。

設(shè)備功耗是個(gè)問(wèn)題嗎?

嵌入式系統(tǒng)的功耗成為優(yōu)先事項(xiàng)越來(lái)越普遍。這通常用于保持電池壽命,但也可能出于環(huán)境考慮。從歷史上看,功耗被認(rèn)為是純粹的硬件問(wèn)題。現(xiàn)在人們認(rèn)識(shí)到,軟件可以極大地促進(jìn)能源使用的優(yōu)化。

簡(jiǎn)單來(lái)說(shuō),代碼越小,所需的內(nèi)存就越少,從而節(jié)省電力。同樣,代碼的效率對(duì)必要的 CPU 能力有影響。RTOS 可能是緊湊和高效的。

許多系統(tǒng)包括電源管理功能。這可能只是低功耗模式(如睡眠和掛起)的可用性,但更高級(jí)的電源管理正在變得普遍。這可能包括外圍設(shè)備的選擇性斷電以及 CPU 電壓和時(shí)鐘頻率的控制。Linux 和許多 RTOS 產(chǎn)品都支持電源管理。

您的系統(tǒng)是否有晦澀或自定義的外圍設(shè)備?

嵌入式應(yīng)用程序中一些最具挑戰(zhàn)性的代碼是外圍設(shè)備的接口。使用操作系統(tǒng)時(shí),這通常封裝在驅(qū)動(dòng)程序中。大多數(shù) RTOS 都提供了適用于許多標(biāo)準(zhǔn)設(shè)備的驅(qū)動(dòng)程序。Linux 的功能更多,包括對(duì)許多相當(dāng)晦澀的硬件的支持。

如果您有自定義外圍設(shè)備,顯然將無(wú)法獲得支持,因此需要自定義驅(qū)動(dòng)程序。RTOS 供應(yīng)商通常會(huì)在這方面提供良好的支持。Linux 驅(qū)動(dòng)程序開(kāi)發(fā)專(zhuān)業(yè)知識(shí)相當(dāng)廣泛。

你有內(nèi)存管理單元(MMU)嗎?

大多數(shù)高端嵌入式 CPU 都有一個(gè) MMU,至少作為一個(gè)選項(xiàng)。這允許重新映射和/或保護(hù)存儲(chǔ)區(qū)域。MMU 對(duì)于部署 Linux 是必不可少的;如果沒(méi)有可用的 MMU,則不能選擇 Linux。RTOS 通常不需要MMU,但如果可用,可以通過(guò)促進(jìn)“輕量級(jí)進(jìn)程模型”(也稱(chēng)為“線(xiàn)程保護(hù)模式”)來(lái)使用 MMU。

應(yīng)用程序安全是一個(gè)問(wèn)題嗎?

一些嵌入式應(yīng)用程序具有安全意識(shí)——必須保護(hù)代碼免受外部干擾。這可以看作是保護(hù)每個(gè)任務(wù)免受其他任務(wù)的影響。Linux 等采用的進(jìn)程模型使用 MMU,是提高安全性的一種非常好的方法。如果 RTOS 可以使用 MMU,如上所述,這提供了幾乎相同的安全性和更少的開(kāi)銷(xiāo)。

您的應(yīng)用程序是否需要安全認(rèn)證

在許多行業(yè)——如航空航天、醫(yī)療、汽車(chē)和工業(yè)——都有安全認(rèn)證計(jì)劃。獲得認(rèn)證的過(guò)程既復(fù)雜又昂貴。通常需要整個(gè)應(yīng)用程序的所有源代碼——包括操作系統(tǒng)。因此,擁有操作系統(tǒng)源代碼是必不可少的;源代碼并不總是可用的。在某種程度上,要認(rèn)證的代碼大小會(huì)影響過(guò)程的成本,因此操作系統(tǒng)越小越好。

通常不可能只對(duì)操作系統(tǒng)進(jìn)行認(rèn)證——對(duì)整個(gè)應(yīng)用程序進(jìn)行評(píng)估。但是,一些 RTOS 供應(yīng)商可以提供“預(yù)認(rèn)證包”,其中提供了有關(guān)操作系統(tǒng)所需的大部分初始文檔。當(dāng)然,選擇具有在類(lèi)似應(yīng)用領(lǐng)域使用和認(rèn)證的“跟蹤記錄”的操作系統(tǒng)也是明智之舉。

商業(yè)因素

盡管工程師喜歡嵌入式軟件開(kāi)發(fā)的技術(shù)挑戰(zhàn),但此類(lèi)項(xiàng)目也受到商業(yè)考慮。一切都取決于金錢(qián)。實(shí)施一個(gè)操作系統(tǒng)需要花錢(qián),但是它是獲得的:

內(nèi)部開(kāi)發(fā)顯然要花錢(qián)

商業(yè)產(chǎn)品有價(jià)格

開(kāi)源不是“免費(fèi)的”;有實(shí)施成本和持續(xù)維護(hù)

商業(yè)操作系統(tǒng)產(chǎn)品提供各種商業(yè)模式。例如,每個(gè)發(fā)貨單位的起始付款和持續(xù)特許權(quán)使用費(fèi)可能較低,或者預(yù)付費(fèi)用可能較高且沒(méi)有持續(xù)特許權(quán)使用費(fèi)??山邮艿男吞?hào)取決于售價(jià)和預(yù)計(jì)的出貨量。

其他注意事項(xiàng)

操作系統(tǒng)選擇過(guò)程中可能容易被忽視的一個(gè)方面是借鑒過(guò)去的經(jīng)驗(yàn)。您和您的團(tuán)隊(duì)之前可能使用過(guò)一個(gè)或多個(gè)操作系統(tǒng),這可能會(huì)產(chǎn)生重大影響。

例如,一個(gè)操作系統(tǒng)的 API 的詳細(xì)知識(shí)需要一些時(shí)間來(lái)獲得,因此能夠重用這些知識(shí)是一個(gè)很大的好處。如果 API 是專(zhuān)有的,這可能是指向特定產(chǎn)品的強(qiáng)指針。如果 API 是標(biāo)準(zhǔn),如 POSIX,您仍然可以選擇。當(dāng)然,使用混亂且不靈活的 API 的糟糕體驗(yàn)可能會(huì)產(chǎn)生相反的效果!

與特定供應(yīng)商合作的經(jīng)驗(yàn)是另一個(gè)因素。他們的技術(shù)支持好嗎?文檔是否符合要求?源代碼是否可用并得到很好的評(píng)論?

多核系統(tǒng)和操作系統(tǒng)選擇

使用多核設(shè)計(jì)實(shí)現(xiàn)嵌入式系統(tǒng)正變得越來(lái)越普遍。從軟件的角度來(lái)看,有兩種多核系統(tǒng):

對(duì)稱(chēng)多處理 (SMP),其中所有內(nèi)核都是相同的,并且單個(gè)操作系統(tǒng)在所有內(nèi)核上運(yùn)行。

非對(duì)稱(chēng)多處理 (AMP),其中內(nèi)核不一定相同,并且每個(gè)內(nèi)核都運(yùn)行自己的操作系統(tǒng)。

對(duì)于 SMP 系統(tǒng),操作系統(tǒng)的選擇是按照本文迄今為止描述的方式進(jìn)行的,另外一個(gè)因素是操作系統(tǒng)必須支持 SMP 功能。Linux 以 SMP 形式提供,許多 RTOS 產(chǎn)品也提供它作為選項(xiàng)。

對(duì)于 AMP 系統(tǒng),需要根據(jù)其特定要求使用上述方法為每個(gè)內(nèi)核選擇操作系統(tǒng)。

結(jié)論

總的來(lái)說(shuō),可以看出對(duì)于選擇嵌入式操作系統(tǒng)的問(wèn)題沒(méi)有真正簡(jiǎn)單的答案。有許多相互關(guān)聯(lián)的因素。不僅要關(guān)注技術(shù)方面的考慮,還要考慮商業(yè)問(wèn)題和過(guò)去的經(jīng)驗(yàn),這一點(diǎn)很重要。

對(duì)于臺(tái)式計(jì)算機(jī),有大約四種操作系統(tǒng)可供選擇。在嵌入式世界中,至少有幾十個(gè)。這是為什么?簡(jiǎn)而言之,臺(tái)式計(jì)算機(jī)都大同小異,但每個(gè)嵌入式系統(tǒng)都不同。這種差異既是技術(shù)上的,也是商業(yè)上的。因此需要詳細(xì)的選擇過(guò)程。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    5198

    文章

    20449

    瀏覽量

    334074
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

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

    關(guān)注

    37

    文章

    7402

    瀏覽量

    129311
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    概述 所謂的嵌入式應(yīng)用開(kāi)發(fā)就是在嵌入式操作系統(tǒng)下進(jìn)行開(kāi)發(fā)、軟硬件綜合開(kāi)發(fā) ?嵌入式應(yīng)用開(kāi)發(fā)?是指在嵌入式
    發(fā)表于 01-12 16:13

    arm嵌入式主板優(yōu)缺點(diǎn)

    Windows CE、Linux等主流的嵌入式操作系統(tǒng)。   ARM的優(yōu)點(diǎn)   一、高可靠性、高穩(wěn)定性:在工業(yè)控制領(lǐng)域,性能穩(wěn)定可靠是自動(dòng)控制基本的要求,ARM嵌入式主板有著很特殊的優(yōu)勢(shì)。第一
    發(fā)表于 01-08 07:08

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

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱(chēng) RTOS/EOS),我們可以從本質(zhì)定義→核心區(qū)別→實(shí)際作用→典型特征→嵌入式開(kāi)發(fā)場(chǎng)景適配,五個(gè)維度來(lái)拆解, 一
    發(fā)表于 12-09 10:33

    嵌入式應(yīng)掌握的幾種能力

    1. 編程語(yǔ)言 基本掌握嵌入式必備的編程語(yǔ)言。C語(yǔ)言為主,C++為輔。在資源有限的情況下,大多數(shù)嵌入式產(chǎn)品還是使用C語(yǔ)言為主的,特別是底層驅(qū)動(dòng)開(kāi)發(fā)。上層應(yīng)用開(kāi)發(fā)大多用C,在一些資源比較充足的平臺(tái)
    發(fā)表于 12-08 06:05

    嵌入式系統(tǒng)的定義和應(yīng)用領(lǐng)域

    。盡管有些嵌入式系統(tǒng)可能包含操作系統(tǒng),但大多數(shù)情況下,它們僅由一個(gè)程序來(lái)控制整個(gè)邏輯。 從更專(zhuān)業(yè)的角度來(lái)看,嵌入式系統(tǒng)可以被定義為:以應(yīng)用
    發(fā)表于 11-17 06:49

    單片機(jī)的操作系統(tǒng)

    單片機(jī)操作系統(tǒng)主要分為實(shí)時(shí)操作系統(tǒng)(RTOS)和嵌入式操作系統(tǒng)兩類(lèi),以下是常見(jiàn)選擇: 實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 11-14 06:18

    嵌入式實(shí)時(shí)操作系統(tǒng)的特點(diǎn)

    實(shí)時(shí)嵌入式操作系統(tǒng)(Real-Time Embedded Operating System)是專(zhuān)門(mén)設(shè)計(jì)用于嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)。
    發(fā)表于 11-13 06:30

    嵌入式實(shí)時(shí)操作系統(tǒng)及應(yīng)用開(kāi)發(fā)(第三版)羅蕾主編光盤(pán)鏡像百度云鏈接

    嵌入式實(shí)時(shí)操作系統(tǒng)及應(yīng)用開(kāi)發(fā)(第三版)羅蕾主編光盤(pán)鏡像百度云鏈接通過(guò)網(wǎng)盤(pán)分享的文件:嵌入式系統(tǒng)配套光盤(pán).iso鏈接: https://pan.baidu.com/s/1R3IprlRn
    發(fā)表于 11-12 16:20

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

    知識(shí): 一、C/C++編程C/C++是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言。熟練掌握C/C++語(yǔ)言將使你能夠理解和編寫(xiě)底層驅(qū)動(dòng)程序、操作系統(tǒng)以及與硬件交互的代碼。對(duì)于嵌入式
    發(fā)表于 08-06 10:34

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Linux嵌入式與單片機(jī)嵌入式在多個(gè)方面存在顯著的區(qū)別,以下是詳細(xì)的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將Linux操作系統(tǒng)運(yùn)行在
    發(fā)表于 06-20 09:46

    嵌入式開(kāi)發(fā),如何選擇適合的系統(tǒng)?

    嵌入式ARM開(kāi)發(fā)中,面對(duì)多種操作系統(tǒng)選擇,如何做出最適合項(xiàng)目的決策?本文將為您梳理常見(jiàn)系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點(diǎn),以便更好地選擇
    的頭像 發(fā)表于 05-20 11:32 ?1147次閱讀
    <b class='flag-5'>嵌入式</b>開(kāi)發(fā),如何<b class='flag-5'>選擇</b>適合的<b class='flag-5'>系統(tǒng)</b>?

    嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車(chē)載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開(kāi)發(fā)的前置知識(shí)熟悉C語(yǔ)言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作
    發(fā)表于 05-15 09:29

    RT-Thread嵌入式操作系統(tǒng)專(zhuān)業(yè)培訓(xùn)班-深圳站重磅開(kāi)啟!

    RT-Thread官方將在深圳舉辦為期三天的嵌入式操作系統(tǒng)專(zhuān)業(yè)培訓(xùn)班!本次培訓(xùn)將深入講解RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)的核心技術(shù)與實(shí)戰(zhàn)應(yīng)用,助力開(kāi)發(fā)者快速掌握RTOS開(kāi)發(fā)精髓。無(wú)
    的頭像 發(fā)表于 04-11 18:18 ?832次閱讀
    RT-Thread<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>專(zhuān)業(yè)培訓(xùn)班-深圳站重磅開(kāi)啟!

    操作系統(tǒng)適配,飛凌嵌入式T527核心板打造高效開(kāi)發(fā)新體驗(yàn)

    飛凌嵌入式為基于全志T536處理器開(kāi)發(fā)設(shè)計(jì)的FET527N-C核心板適配了全新升級(jí)的ForlinxDesktop22.04操作系統(tǒng),這一舉措不僅能夠?yàn)橛脩?hù)帶來(lái)了更加流暢、穩(wěn)定的操作體驗(yàn),還極大地提升
    的頭像 發(fā)表于 03-20 14:33 ?1373次閱讀
    新<b class='flag-5'>操作系統(tǒng)</b>適配,飛凌<b class='flag-5'>嵌入式</b>T527核心板打造高效開(kāi)發(fā)新體驗(yàn)

    如何正確選擇嵌入式文件系統(tǒng)?

    Linux嵌入式系統(tǒng)中,文件系統(tǒng)和緩存機(jī)制常導(dǎo)致數(shù)據(jù)存儲(chǔ)穩(wěn)定性問(wèn)題。本文通過(guò)案例分析原因,對(duì)比不同文件系統(tǒng)特性,為開(kāi)發(fā)者提供優(yōu)化建議,助力提升數(shù)據(jù)穩(wěn)定性和
    的頭像 發(fā)表于 03-17 11:35 ?1107次閱讀
    如何正確<b class='flag-5'>選擇</b><b class='flag-5'>嵌入式</b>文件<b class='flag-5'>系統(tǒng)</b>?