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