嵌入式系統(tǒng)開發(fā)人員目前擁有廣泛的操作系統(tǒng)。當(dāng)然,最直接的操作系統(tǒng)就是沒有操作系統(tǒng)!但是,當(dāng)今的許多系統(tǒng)都是復(fù)雜的連接系統(tǒng),可能需要操作系統(tǒng)。在需要時,開發(fā)人員通常會希望使用實時操作系統(tǒng)(RTOS)或Linux來幫助他們管理復(fù)雜性。不幸的是,如何在裸機(jī),RTOS或Linux之間進(jìn)行選擇并不總是明確的。每個選項都有其優(yōu)點和缺點。
這篇文章將探討選擇操作系統(tǒng)時應(yīng)考慮的系統(tǒng)特征。然后在下一篇文章中,我們將介紹使用每個操作系統(tǒng)最有意義的時間。
產(chǎn)品的生命周期成本
為嵌入式系統(tǒng)選擇操作系統(tǒng)首先要了解產(chǎn)品的生命周期成本和要求。需要在物料清單 (BOM) 成本和產(chǎn)品的軟件維護(hù)成本之間進(jìn)行權(quán)衡。例如,使用Linux的嵌入式系統(tǒng)發(fā)現(xiàn)利用開源軟件并找到可以編寫系統(tǒng)軟件的開發(fā)人員更容易。但是,基于 Linux 的系統(tǒng)比基于微控制器的系統(tǒng)具有更復(fù)雜的硬件要求,并且可能具有更高的 BOM 成本?;谖⒖刂破鞯南到y(tǒng)可能成本較低,但能夠成功設(shè)計和維護(hù)這些系統(tǒng)的開發(fā)人員也較少。
設(shè)計人員需要權(quán)衡硬件和軟件成本,以確定他們的產(chǎn)品使用可以運行Linux的硬件是否有意義,或者更便宜,CPU密集型的解決方案是否更適合。
要考慮的物理特性
說到硬件功能和要求,在選擇嵌入式操作系統(tǒng)時,還必須檢查硬件選擇的物理特性。應(yīng)考慮微處理器或微控制器的物理因素包括:
外設(shè)功能集
可用的閃存
可用內(nèi)存
硬件對系統(tǒng)施加的物理約束可能會立即限制您可以使用的選項。例如,要運行嵌入式Linux的風(fēng)格,通常需要處理器包含內(nèi)存管理單元(MMU)。不幸的是,微控制器沒有MMU。因此,要運行Linux,設(shè)計人員至少需要有一個Cortex-A范圍內(nèi)的應(yīng)用處理器,而不是Cortex-M系列中的微控制器(盡管事情變化很快,并且有人可能擁有具有MMU和合理時鐘速率的微控制器)。
要運行嵌入式Linux,硬件還必須具有至少8 GB的存儲空間,16 GB的RAM和8 - 16 MB的內(nèi)部閃存。像Linux這樣的內(nèi)核可能還需要至少500 MHz的處理器。這些遠(yuǎn)高于運行RTOS所需的水平,RTOS至少需要4 kB的RAM,64 kB的閃存和24 MHz的CPU。
實時性能
我從經(jīng)驗中知道,探索裸機(jī)、RTOS和基于Linux的系統(tǒng)之間的實時性能特征是一個燙手山芋。專注于基于微控制器的實時系統(tǒng)的工程師通常會告訴您,您無法從Linux系統(tǒng)獲得實際的實時性能。Linux工程師會告訴你這不是真的;有實時補(bǔ)丁,它提供了實際的實時行為。從那里開始,爭論通常會變得激烈。
無論您站在柵欄的哪一邊,都必須查看實時要求并在選擇操作系統(tǒng)時使用它們。評估系統(tǒng)需要的確定性,并根據(jù)這些需求評估操作系統(tǒng)。我見過Linux實時版本,效果很好;其他沒有的。沒有一個普遍正確的答案,只有一個適合您的應(yīng)用程序的答案。
軟件庫集成
使用裸機(jī)、RTOS 或 Linux 之間的顯著區(qū)別之一是開發(fā)人員可用的軟件庫的可用性和集成級別。在裸機(jī)領(lǐng)域,您只能靠自己。您要么從頭開始編寫軟件,要么自己集成第三方庫。另一方面,RTOS將附帶一套已經(jīng)與RTOS集成的庫。例如,人們可能會找到循環(huán)緩沖區(qū),內(nèi)存管理工具,文件系統(tǒng)等。更多的庫可用并集成,但可能仍然需要自己做一些工作。
當(dāng)你看Linux時,感覺開發(fā)人員擁有幾乎無限的庫供應(yīng),這些庫可用并且已經(jīng)與系統(tǒng)集成。嵌入式 Linux 最吸引人和最具附加值的特征是軟件庫的可用性和集成性。開發(fā)人員擁有整個操作系統(tǒng)。這很強(qiáng)大,但也有潛在的危險。
不要忘記安全性
如今,許多設(shè)計人員正在構(gòu)建必須具有安全解決方案的互聯(lián)系統(tǒng)。操作系統(tǒng)在安全解決方案中起著重要作用。例如,如果在 Linux 內(nèi)核使用的標(biāo)準(zhǔn)庫中發(fā)現(xiàn)漏洞,則在修補(bǔ)之前,每個 Linux 設(shè)備都會有該漏洞。裸機(jī)或基于RTOS的系統(tǒng)很有可能不會有同樣的漏洞。特定操作系統(tǒng)比其他人更受黑客攻擊,因為他們可以使用工具集來破解這些設(shè)備。例如,我把使用RTOS的嵌入式系統(tǒng)直接放在互聯(lián)網(wǎng)上,沒有受到保護(hù),而且它們幾周都沒有受到損害。我曾經(jīng)在互聯(lián)網(wǎng)上放了一個基于Linux的系統(tǒng),它在48小時內(nèi)被黑客入侵并成為中國僵尸網(wǎng)絡(luò)的一部分。在Linux系統(tǒng)防御中,我相信默認(rèn)密碼仍然被設(shè)置,但它表明,如果你不花時間正確配置你的操作系統(tǒng),它不需要太多的時間來破解它。
結(jié)論
開發(fā)人員在選擇操作系統(tǒng)時應(yīng)考慮許多特征。第一個特征與建筑產(chǎn)品的成本和業(yè)務(wù)方面更相關(guān)。但是,更重要的屬性,如可用庫,安全性,可維護(hù)性等,也起著至關(guān)重要的作用。那么您應(yīng)該使用哪種操作系統(tǒng)以及在什么情況下使用?在下一篇文章中,我們將探討這個問題,并提供有關(guān)在何處使用裸機(jī)、RTOS 和 Linux 的指南。
審核編輯 黃昊宇
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3587瀏覽量
129435 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6801瀏覽量
123283
發(fā)布評論請先 登錄
相關(guān)推薦
評論