對信息的感知、組織、分析、呈現和決策需要軟件。幾十年來,我們一直在使用各種平臺以不同的功能級別執行此操作。現在,我們已經有了由單節電池運行的極小設備,其功率從 1990 年代后期開始基于 80486 的個人計算機,下一個問題很明顯——軟件。有了裸機、實時操作系統(RTOS)和真正的操作系統(如Linux)可供選擇,我們將遇到在Radio和Computer中探索的類似問題,但從軟件的角度來看。
對于任何嵌入式應用程序,都必須從可擴展的軟件架構開始。在最終確定嵌入式應用程序的編程架構之前,必須考慮將來可能調用的增強軟件。許多工程師認為這是事后的想法,因為他們習慣于在操作系統之上編寫代碼。
另一個重要的考慮因素是成本。隨著系統功能的提高,對更快的處理器、更多的代碼內存和 RAM 的需求也在增加。下面的圖 1 顯示了嵌入式系統的典型特性與成本圖,盡管在可能的硬件選擇方面,不同層之間的界限是模糊的:
在以下情況下首選裸機編程:
該應用程序很簡單,并在低端處理器上實現。
應用程序需要提取每個周期的 CPU 功率,操作系統引入的開銷是不可接受的。
安全性和安全性與硬件密切相關,在這些硬件中,系統按照確切的期望執行和運行,并且系統一直一直以這種方式運行。
硬件成本存在限制,需要出色的效率。
許多嵌入式應用程序是無限循環,其中它們執行一個任務,然后執行另一個任務,依此類推,重復相同的功能。這些任務中的大多數都是相互依賴的。裸機編程不適用于此類情況,因為代碼應該是可預測的、可理解的,并且應該易于調試。擁有調度程序使嵌入式工程師的生活更加簡單 - 每個軟件模塊都可以獨立設計,然后在調度程序的幫助下與其他模塊鏈接和調度。因此,隨著代碼復雜性的增加以及系統需要強大的微處理器/微控制器,RTOS是首選。當MCU集成了更多的存儲器和外設時,RTOS就變得必不可少。復雜的物聯網應用可能需要更多的中斷源、更多的功能和更多的標準通信接口——主要是無線的。在這種復雜的解決方案中,可能需要RTOS。
RTOS可以充分利用功能豐富的MCU,特別是當提供中間件可以處理復雜的任務時,否則需要真正的操作系統。但是,在軟件方面,有許多不重疊的復雜性和功能領域。添加中間件的 RTOS 可以接近通用操作系統的功能。例如,中間件可以添加文件系統、網絡、圖形和復雜輸入支持等功能,盡管與本機支持這些功能的真正操作系統相比,需要增加開發工作。一些RTOS甚至支持POSIX API,可以在某種程度上重用Linux/Unix應用程序中的代碼。
然而,當應用程序復雜性超過一定限制時,通用嵌入式操作系統就會出現。這時處理器會說:“給我一個MMU,我可以解決你所有的問題。由于其代碼大小和主存儲器要求,昂貴的SRAM和NOR存儲器變得不切實際。大多數通用操作系統的嵌入式版本至少需要 16-32 MB 的主內存和 64+MB 的代碼存儲才能正常運行。幸運的是,應用處理器和通用操作系統能夠處理更便宜、更慢的存儲器,如DRAM和NAND閃存。
當您遷移到嵌入式通用操作系統時,您不會失去“實時功能”。它們能夠以略高的延遲級別運行實時應用程序,具有不同級別的確定性(“軟實時”)。但大多數應用程序不需要“硬實時”功能。在嵌入式操作系統上運行的經過良好驗證的應用程序可以像在中間件的幫助下在RTOS上運行的類似應用程序一樣防彈和確定性。
由于持續的硅擴展和大量工程師對適當的操作系統更加滿意,應用處理器和內存的成本每年都在降低,許多原本會使用 RTOS 的應用程序現在發現應用處理器 + 適當的操作系統組合具有成本效益,并且上市時間也更短。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19460瀏覽量
231400 -
嵌入式
+關注
關注
5096文章
19199瀏覽量
308246 -
cpu
+關注
關注
68文章
10921瀏覽量
213253 -
操作系統
+關注
關注
37文章
6905瀏覽量
123855 -
RTOS
+關注
關注
22文章
821瀏覽量
119944
發布評論請先 登錄
相關推薦
嵌入式工控機如何使用?嵌入式工控機操作方法及注意事項
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ Hypervisor應用場景調研
【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ 了解Hypervisor
嵌入式Hypervisor:架構、原理與應用 閱讀體驗 +Hypervisor基礎概念
![<b class='flag-5'>嵌入式</b>Hypervisor:<b class='flag-5'>架構</b>、原理與應用 閱讀體驗 +Hypervisor基礎概念](https://file1.elecfans.com/web2/M00/09/F9/wKgaomcE2NCARkhnAAYJViMwlP8292.png)
評論