• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料 > 嵌入式開發(fā):如何選擇嵌入式系統(tǒng)操作系統(tǒng)—選擇指南
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料>嵌入式開發(fā):如何選擇嵌入式系統(tǒng)操作系統(tǒng)—選擇指南

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

來(lái)源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-31        熱度:169℃        返回列表

在上一篇文章“如何選擇嵌入式系統(tǒng)操作系統(tǒng):操作系統(tǒng)特性”中,我們討論了嵌入式開發(fā)團(tuán)隊(duì)在選擇操作系統(tǒng)時(shí)權(quán)衡的系統(tǒng)特性。我們看到產(chǎn)品的生命周期成本、物理特性、實(shí)時(shí)性能、庫(kù)集成和安全性等特性發(fā)揮了作用。今天的文章將詳細(xì)探討何時(shí)何地使用裸機(jī)、RTOS和Linux。請(qǐng)記住,這些是通用指南,不同行業(yè)甚至不同產(chǎn)品都會(huì)有所不同。

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

當(dāng)你看到關(guān)于連接、物聯(lián)網(wǎng)、機(jī)器學(xué)習(xí)和其他前沿話題的營(yíng)銷標(biāo)題時(shí),你可能會(huì)認(rèn)為每個(gè)嵌入式系統(tǒng)都需要操作系統(tǒng)。不幸的是,這種印象與事實(shí)相去甚遠(yuǎn)!雖然許多尖端技術(shù)可能受益于操作系統(tǒng),但對(duì)于相當(dāng)多的應(yīng)用程序來(lái)說(shuō),沒(méi)有RTOS或Linux也能應(yīng)付過(guò)去。

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

其次,在嵌入式開發(fā)中,裸機(jī)解決方案在微控制器引腳數(shù)較少且可用的flash和SRAM有限的應(yīng)用中很有意義。在資源受限的環(huán)境中工作時(shí),每個(gè)字節(jié)和每個(gè)時(shí)鐘周期都會(huì)影響產(chǎn)品是否可用。如果微控制器資源有限,最有效的解決方案可能是沒(méi)有操作系統(tǒng)。

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

何時(shí)使用RTOS

何時(shí)使用RTOS

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

當(dāng)嵌入式開發(fā)人員決定是使用RTOS還是裸機(jī)時(shí),可以問(wèn)自己幾個(gè)問(wèn)題:

添加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)槲蚁胧褂盟皇褂谩?br/>

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

何時(shí)使用Linux

何時(shí)使用Linux

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

在看一個(gè)項(xiàng)目是否可以使用嵌入式Linux的時(shí)候,可以考慮幾點(diǎn)。首先,產(chǎn)品必須能夠支持硬件的財(cái)務(wù)成本;第二點(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來(lái)簡(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)目的成敗。過(guò)于輕量級(jí)會(huì)導(dǎo)致開發(fā)團(tuán)隊(duì)花費(fèi)更多的精力和時(shí)間來(lái)使事情正常工作;另一方面,太重會(huì)導(dǎo)致更高的材料成本。正如我們所看到的,為你的應(yīng)用程序選擇正確的操作系統(tǒng)歸結(jié)為權(quán)衡什么對(duì)你的嵌入式開發(fā)團(tuán)隊(duì)和你的用戶最重要。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部