對信息的感知、組織、分析、呈現(xiàn)和決策需要軟件。幾十年來,我們一直在使用各種平臺以不同的功能級別執(zhí)行此操作。現(xiàn)在,我們已經(jīng)有了由單節(jié)電池運(yùn)行的極小設(shè)備,其功率從 1990 年代后期開始基于 80486 的個人計算機(jī),下一個問題很明顯——軟件。有了裸機(jī)、實(shí)時操作系統(tǒng)(RTOS)和真正的操作系統(tǒng)(如Linux)可供選擇,我們將遇到在Radio和Computer中探索的類似問題,但從軟件的角度來看。
對于任何嵌入式應(yīng)用程序,都必須從可擴(kuò)展的軟件架構(gòu)開始。在最終確定嵌入式應(yīng)用程序的編程架構(gòu)之前,必須考慮將來可能調(diào)用的增強(qiáng)軟件。許多工程師認(rèn)為這是事后的想法,因為他們習(xí)慣于在操作系統(tǒng)之上編寫代碼。
另一個重要的考慮因素是成本。隨著系統(tǒng)功能的提高,對更快的處理器、更多的代碼內(nèi)存和 RAM 的需求也在增加。下面的圖 1 顯示了嵌入式系統(tǒng)的典型特性與成本圖,盡管在可能的硬件選擇方面,不同層之間的界限是模糊的:
在以下情況下首選裸機(jī)編程:
該應(yīng)用程序很簡單,并在低端處理器上實(shí)現(xiàn)。
應(yīng)用程序需要提取每個周期的 CPU 功率,操作系統(tǒng)引入的開銷是不可接受的。
安全性和安全性與硬件密切相關(guān),在這些硬件中,系統(tǒng)按照確切的期望執(zhí)行和運(yùn)行,并且系統(tǒng)一直一直以這種方式運(yùn)行。
硬件成本存在限制,需要出色的效率。
許多嵌入式應(yīng)用程序是無限循環(huán),其中它們執(zhí)行一個任務(wù),然后執(zhí)行另一個任務(wù),依此類推,重復(fù)相同的功能。這些任務(wù)中的大多數(shù)都是相互依賴的。裸機(jī)編程不適用于此類情況,因為代碼應(yīng)該是可預(yù)測的、可理解的,并且應(yīng)該易于調(diào)試。擁有調(diào)度程序使嵌入式工程師的生活更加簡單 - 每個軟件模塊都可以獨(dú)立設(shè)計,然后在調(diào)度程序的幫助下與其他模塊鏈接和調(diào)度。因此,隨著代碼復(fù)雜性的增加以及系統(tǒng)需要強(qiáng)大的微處理器/微控制器,RTOS是首選。當(dāng)MCU集成了更多的存儲器和外設(shè)時,RTOS就變得必不可少。復(fù)雜的物聯(lián)網(wǎng)應(yīng)用可能需要更多的中斷源、更多的功能和更多的標(biāo)準(zhǔn)通信接口——主要是無線的。在這種復(fù)雜的解決方案中,可能需要RTOS。
RTOS可以充分利用功能豐富的MCU,特別是當(dāng)提供中間件可以處理復(fù)雜的任務(wù)時,否則需要真正的操作系統(tǒng)。但是,在軟件方面,有許多不重疊的復(fù)雜性和功能領(lǐng)域。添加中間件的 RTOS 可以接近通用操作系統(tǒng)的功能。例如,中間件可以添加文件系統(tǒng)、網(wǎng)絡(luò)、圖形和復(fù)雜輸入支持等功能,盡管與本機(jī)支持這些功能的真正操作系統(tǒng)相比,需要增加開發(fā)工作。一些RTOS甚至支持POSIX API,可以在某種程度上重用Linux/Unix應(yīng)用程序中的代碼。
然而,當(dāng)應(yīng)用程序復(fù)雜性超過一定限制時,通用嵌入式操作系統(tǒng)就會出現(xiàn)。這時處理器會說:“給我一個MMU,我可以解決你所有的問題。由于其代碼大小和主存儲器要求,昂貴的SRAM和NOR存儲器變得不切實(shí)際。大多數(shù)通用操作系統(tǒng)的嵌入式版本至少需要 16-32 MB 的主內(nèi)存和 64+MB 的代碼存儲才能正常運(yùn)行。幸運(yùn)的是,應(yīng)用處理器和通用操作系統(tǒng)能夠處理更便宜、更慢的存儲器,如DRAM和NAND閃存。
當(dāng)您遷移到嵌入式通用操作系統(tǒng)時,您不會失去“實(shí)時功能”。它們能夠以略高的延遲級別運(yùn)行實(shí)時應(yīng)用程序,具有不同級別的確定性(“軟實(shí)時”)。但大多數(shù)應(yīng)用程序不需要“硬實(shí)時”功能。在嵌入式操作系統(tǒng)上運(yùn)行的經(jīng)過良好驗證的應(yīng)用程序可以像在中間件的幫助下在RTOS上運(yùn)行的類似應(yīng)用程序一樣防彈和確定性。
由于持續(xù)的硅擴(kuò)展和大量工程師對適當(dāng)?shù)牟僮飨到y(tǒng)更加滿意,應(yīng)用處理器和內(nèi)存的成本每年都在降低,許多原本會使用 RTOS 的應(yīng)用程序現(xiàn)在發(fā)現(xiàn)應(yīng)用處理器 + 適當(dāng)?shù)牟僮飨到y(tǒng)組合具有成本效益,并且上市時間也更短。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19811瀏覽量
233600 -
嵌入式
+關(guān)注
關(guān)注
5141文章
19537瀏覽量
315136 -
cpu
+關(guān)注
關(guān)注
68文章
11038瀏覽量
216035 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7095瀏覽量
124968 -
RTOS
+關(guān)注
關(guān)注
24文章
841瀏覽量
120779
發(fā)布評論請先 登錄
瑞芯微RK3288解決方案:高性能、高擴(kuò)展性的嵌入式系統(tǒng)設(shè)計理念與應(yīng)用分析

設(shè)置射頻網(wǎng)絡(luò)分析儀的測試條件有哪些注意事項
嵌入式軟件測試技術(shù)深度研究報告
ARM架構(gòu)嵌入式主板特點(diǎn)

嵌入式工控機(jī)如何使用?嵌入式工控機(jī)操作方法及注意事項
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+ Hypervisor應(yīng)用場景調(diào)研
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+ 了解Hypervisor
嵌入式系統(tǒng)設(shè)計參考解決方案

嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗 +Hypervisor基礎(chǔ)概念

脈沖式充電器的使用注意事項
TPIC7218-Q1熱設(shè)計注意事項和解決方案

人機(jī)接口電感式觸摸按鈕的設(shè)計注意事項

評論