久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 嵌入式開發(fā):如何選擇嵌入式操作系統(tǒng)

嵌入式開發(fā):如何選擇嵌入式操作系統(tǒng)

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-12-11 08:22:33 1702254153

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

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

操作系統(tǒng)的選擇是由你可能會(huì)問自己或別人的一系列問題決定的。很容易想象這都是關(guān)于操作系統(tǒng)的技術(shù)問題,事實(shí)上,這些問題主導(dǎo)了整個(gè)過程。然而,需要考慮商業(yè)因素(如成本),也不能忽視個(gè)人體驗(yàn)等因素。

1.技術(shù)因素

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

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

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

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

過去,嵌入式開發(fā)系統(tǒng)的內(nèi)存容量通常非常小,可能只有幾k。如今,雖然微控制器的片內(nèi)存儲(chǔ)器可能仍有很大限制,但提供的內(nèi)存容量要大得多。在設(shè)計(jì)完成后,給系統(tǒng)增加更多的內(nèi)存并不容易。更重量級(jí)的操作系統(tǒng),如Linux,非常需要內(nèi)存,所以空間限制是一個(gè)真正的挑戰(zhàn)。大多數(shù)RTOS產(chǎn)品要輕得多,而且很可能是可伸縮的,這意味著內(nèi)存只用于實(shí)際需要的功能。

CPU功率有限嗎?

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

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

嵌入式系統(tǒng)的功耗越來越成為優(yōu)先考慮的問題。這通常用于延長電池壽命,但也可能是出于環(huán)境考慮。歷史上,功耗被認(rèn)為是一個(gè)純粹的硬件問題。現(xiàn)在人們認(rèn)識(shí)到,軟件可以大大有助于優(yōu)化能源的使用。簡單地說,在嵌入式開發(fā)中,代碼越小,需要的內(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ù)RTOSes都提供了大量標(biāo)準(zhǔn)設(shè)備的驅(qū)動(dòng)程序。Linux有更多的功能,包括對(duì)許多不太知名的硬件的支持。如果你有自定義外設(shè),顯然沒有支持將是可用的,所以將需要一個(gè)自定義驅(qū)動(dòng)程序。RTOS供應(yīng)商通常在這方面提供良好的支持。Linux驅(qū)動(dòng)程序開發(fā)專業(yè)知識(shí)是相當(dāng)普遍的。

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

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

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

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

你的應(yīng)用需要安全認(rèn)證嗎?

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

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

2.商業(yè)因素

雖然工程師喜歡嵌入式軟件開發(fā)的技術(shù)挑戰(zhàn),但這類項(xiàng)目也要考慮商業(yè)因素。一切都?xì)w結(jié)于錢。實(shí)施操作系統(tǒng)需要資金,但卻可以獲得:

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

l一件商品有一個(gè)價(jià)格

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

商業(yè)操作系統(tǒng)產(chǎn)品有多種商業(yè)模式。例如,可能會(huì)有一個(gè)低的起始付款和每單位裝運(yùn)的持續(xù)版稅,或者可能會(huì)有一個(gè)較大的前期費(fèi)用,沒有持續(xù)的版稅。可接受的型號(hào)取決于售價(jià)和預(yù)計(jì)的出貨量。

3.其他考慮

操作系統(tǒng)選擇過程中容易被忽略的一個(gè)方面是利用過去的經(jīng)驗(yàn)。嵌入式開發(fā)團(tuán)隊(duì)可能以前使用過一個(gè)或多個(gè)操作系統(tǒng),這可能會(huì)產(chǎn)生重大影響。例如,獲取操作系統(tǒng)API的詳細(xì)知識(shí)需要一些時(shí)間,因此能夠重用這些知識(shí)是一個(gè)很大的好處。如果API是專有的,這可能是一個(gè)指向特定產(chǎn)品的強(qiáng)指針。如果API是一個(gè)標(biāo)準(zhǔn),比如POSIX,你仍然可以選擇。當(dāng)然,使用混亂和不靈活的API的糟糕體驗(yàn)可能會(huì)產(chǎn)生相反的效果!

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

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

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

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

l不對(duì)稱多處理(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)品也提供它作為一個(gè)選項(xiàng)。對(duì)于AMP系統(tǒng),需要根據(jù)其具體要求,使用上述方法為每個(gè)內(nèi)核選擇操作系統(tǒng)。

結(jié)論

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

對(duì)于臺(tái)式電腦,有大約四種操作系統(tǒng)可供選擇。在嵌入式開發(fā)領(lǐng)域,至少有幾十個(gè)。這是為什么呢?簡單地說,臺(tái)式電腦都大同小異,但每個(gè)嵌入式系統(tǒng)都不一樣。這種差異既是技術(shù)上的,也是商業(yè)上的。因此需要詳細(xì)的選擇過程。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
嵌入式培訓(xùn)課程:探索技術(shù)的無限可能

近年來,嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機(jī)到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會(huì)不可或缺的...詳情>>

2023-12-12 11:02:35
嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實(shí)踐

在當(dāng)今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機(jī)、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

2023-12-12 09:55:55
Java游戲項(xiàng)目開發(fā):技術(shù)概覽與實(shí)踐

在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進(jìn)步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

2023-12-12 08:49:15
Web前端的基石:HTML

在數(shù)字化的時(shí)代,網(wǎng)頁設(shè)計(jì)已經(jīng)成為了一個(gè)重要的領(lǐng)域。而在這個(gè)領(lǐng)域中,HTML(HyperTextMarkupLanguage)無疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

2023-12-12 08:15:55
嵌入式開發(fā):內(nèi)存分配的方式

嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個(gè)至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對(duì)系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

2023-12-12 06:35:55
快速通道