在每個開發(fā)項目的初期,你都必須選擇軟件開發(fā)的基礎(chǔ)。雖然有很多選擇,但它們通常分為三類:裸機、實時操作系統(tǒng)(RTOS)或通用操作系統(tǒng)(GPOS)。
裸機系統(tǒng)不使用操作系統(tǒng),應(yīng)用程序代碼在沒有操作系統(tǒng)支持的情況下直接在硬件上運行,你的代碼直接與硬件交互并訪問硬件。
RTOS(實時操作系統(tǒng))旨在提供實時應(yīng)用環(huán)境,提供可預(yù)測的執(zhí)行時間和時間敏感的應(yīng)用平臺。他們的關(guān)鍵特征是響應(yīng)能力和確定性。
GPOS旨在運行各種軟件應(yīng)用程序,這樣的操作系統(tǒng)的特點是用戶界面友好和能提供廣泛服務(wù),GPOS的例子包括Windows、Linux和MacOS。
你為電子系統(tǒng)的開發(fā)選擇一個操作系統(tǒng),它可能會對成本、上市時間甚至質(zhì)量產(chǎn)生嚴重影響。讓我們看看如何在裸機、RTOS和GPOS之間進行選擇。
何時選擇裸機?
當處理器硬件受資源限制時,裸機解決方案效果很好。受限的資源包括處理器總線寬度、RAM、FLASH和處理器速度。例如,你會發(fā)現(xiàn)在8位和16位微控制器上很少支持RTOS。你還會發(fā)現(xiàn),很少有操作系統(tǒng)適合32K字節(jié)的閃存空間或只有2K字節(jié)內(nèi)存的處理器。
資源限制并不是選擇裸機的唯一考慮因素。如果你的系統(tǒng)具有高度受限的實時需求,你可能還想選擇裸機解決方案。操作系統(tǒng)通常具有與內(nèi)核相關(guān)的開銷,這可能會導(dǎo)致抖動和響應(yīng)時間延遲。直接訪問硬件可以幫助你管理定時并保證確定性,同時確保低延遲。
裸機解決方案最適合基于低端微控制器的系統(tǒng),這些系統(tǒng)是具有嚴格實時要求的非聯(lián)網(wǎng)系統(tǒng)。
何時選擇RTOS?
當你的硬件不受資源限制時,RTOS是一個很好的解決方案,這里包括32位微控制器和低端應(yīng)用處理器等硬件系統(tǒng)。要使用RTOS,你的系統(tǒng)應(yīng)該至少有64K字節(jié)的閃存,4k字節(jié)的RAM和80 MHz或以上的處理器時鐘。雖然你可能能夠用更少的資源,但你將花更多的時間與RTOS和硬件較勁,而不是開發(fā)你的應(yīng)用程序。
RTOS通常用于比裸機系統(tǒng)具有更復(fù)雜定時要求的系統(tǒng)。這些系統(tǒng)通常需要管理實時需求,同時處理TCP/IP、MQTT、USB、Wi-Fi等通信協(xié)議。雖然可以使用裸機解決方案開發(fā)這種類型的系統(tǒng),但擁有RTOS簡化了設(shè)計,加快了上市時間,并使軟件維護更容易。
RTOS的另一個關(guān)鍵方面是操作系統(tǒng)為軟件開發(fā)添加的功能,例如任務(wù)管理、任務(wù)同步、調(diào)度和任務(wù)間通信。RTOS可以允許你優(yōu)先處理可以相互搶占的任務(wù),允許更復(fù)雜的應(yīng)用程序設(shè)計。
RTOS解決方案最適合中高性能微控制器和低端應(yīng)用處理器,這些處理器的高可靠性和時序至關(guān)重要。
何時選擇GPOS?
當你使用應(yīng)用處理器或完整的微處理器時,通用操作系統(tǒng)非常適合。當你考慮使用GPOS時,你很可能會使用一些嵌入式Linux。硬件通常是一個32位應(yīng)用處理器,以200 MHz或更高的總線速度運行,具有兆字節(jié)的內(nèi)存存儲和RAM,至少是不少于千兆字節(jié)。
GPOS是復(fù)雜應(yīng)用的絕佳解決方案,具有不太關(guān)鍵的定時和確定性。GPOS通常提供廣泛的服務(wù),例如友好的用戶界面、通信協(xié)議、軟件更新的便利性等。這些功能可以幫助你在沒有底層硬件知識的情況下更好地管理系統(tǒng)。它們也往往更容易管理。更多的開發(fā)人員擁有GPOS領(lǐng)域的領(lǐng)域知識,但是使用GPOS開發(fā)的電子產(chǎn)品通常比微控制器RTOS或者裸機解決方案貴得多。
GPOS解決方案最適合確定性和系統(tǒng)定時不關(guān)鍵的應(yīng)用微處理器的場景。
結(jié)論
在為你的電子系統(tǒng)選擇嵌入式軟件的時候,你會發(fā)現(xiàn)有三種通用解決方案:裸機、RTOS和GPOS。最佳解決方案取決于你使用的硬件、你想要的可靠性以及系統(tǒng)的時序要求。在某些情況下,你可能會發(fā)現(xiàn)不止一個適合。在這些情況下,你必須考慮你的開發(fā)成本以及長期維護和支持。
不要忘記考慮系統(tǒng)的可擴展性及其未來擴展的潛力??赡苄枰磥碛邪l(fā)展的系統(tǒng),支撐更復(fù)雜的功能或額外的硬件,可以更好地由能夠處理這種增長的操作系統(tǒng)提供服務(wù)。最后,考慮每個選項可用的社區(qū)和供應(yīng)商支持,因為這可能會顯著影響你在系統(tǒng)生命周期內(nèi)進行故障排除、更新和維護的能力。
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228817 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18974瀏覽量
302066 -
RAM
+關(guān)注
關(guān)注
8文章
1364瀏覽量
114445 -
RTOS
+關(guān)注
關(guān)注
21文章
809瀏覽量
119362 -
裸機
+關(guān)注
關(guān)注
0文章
39瀏覽量
6329
原文標題:如何在裸機、RTOS和GPOS之間進行選擇
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論