查閱了一個pdf(在附件中查看),華為LiteOS,其已經有了應用,用在自家的I3處理器上,實現了“9uW/MHz的超低功耗”(雖然可能是連同Android一起的功耗,但也不是說明用在嵌入式中的情況的): 不過華為LiteOS的調度機制很機制,即“集中式任務調度”,這個優點是集中處理任務,使系統不會在調度時產生額外的系統啟動時間。但缺點是及其明顯的:沒有了任何的實時性!
總管華為的所謂嵌入式、IOT OS,只不過是換湯不換藥的高級OS,還是處在Cortex-A系列上面的一個OS。其宣傳的重點都是針對Cortex-A系列下的系統而言,換言之,就是針對Android系統(的功耗、時效等)而言的。想深入到Cortex-M系列,恐怕還是會陷入重復發明輪子的境地,因為在嵌入式市場上,FreeRTOS的排名堪比Android!怎么能取代它呢?況且更有ARM極力、早就開始的mbed OS。
谷歌的Brillo,所謂的物聯網操作系統,基本與cortex-m無關,其配置原話是“Brillo卻能在配置僅32MB或64MB內存的設備上運行”,注意有個“僅”字,現在能夠達到這個層次的,也就必須要用SDRAM才行,即STM32F429及以上系列的才行!跟不用提需要超過512MByte的存儲器了,你家的嵌入式存儲器有這么大嗎(當然還是通過STM32F429進行存儲器擴展也可以實現)?
上述所謂的“IOT”,”物聯網“操作系統,只不過是個噱頭,其實還是高級OS,因為他們都需要一些高級的特性:內存保護單元(MPU),內存管理單元(MMU),虛擬地址支持、甚至虛擬化支持、更高的主頻等!這些都無法在Corte-M上滿足(除了MPU可以外)!而且他們提到底還忽略了真正嵌入式的重要特點:實時性!一旦加入了MPU/MMU等,這些都對程序執行的時間造成不確定性,從而無法滿足實時性需求!
那么我們的嵌入式世界是什么?簡單點就是: 1.無操作系統的前后臺程序。 2.有操作系統的任務數量、堆棧等都確定的系統。 3.對資源要求很低,比如10~32KByte的RAM,128~2048MByte的存儲器。 4.無復雜核心組件,比如MMU、虛擬地址等。 5.低功耗根本就是與生俱來天生驕傲,超低功耗才會拿來說說!比如10uA/MHz!華為的9uW/MHz真是不是同一個等級的,真比較起來簡直是個笑話!
物聯網真正起作用的還是真正的嵌入式!可以說就是Corte-M系列的處理器(當然現在還有51、TI的一些低功耗),這樣都運行著諸如FreeRTOS、RTX、mbed等或者前后臺程序,支持WiFi、藍牙、zigbee等,這些產品把各種傳感器數據通過網絡傳至節點,然后通過大數據進行處理分析。根本就挨不著使用一個高功耗的“嵌入式”來做低功耗、實現簡單的嵌入式平臺的事情!
新聞熱點
疑難解答