物聯網、人工智能的發展都離不開嵌入式系統,而嵌入式操作系統又是其中不容忽視的重要部分,工程師對其要求也由過去的簡單易用上升到既要簡單易用又安全可靠。嵌入式操作系統那么多,在設計時,到底哪一個才適合工程師的應用呢?特別邀請了幾位業界大牛,分享了對此問題的看法。
業界聲音
選擇哪款操作系統取決于你的應用
Silicon Labs軟件架構師,Micrium創始人 Jean J. Labrosse
其實,目前市場上還沒有一款操作系統可以適合所有不同類型的嵌入式應用,盡管有一些非常接近。嵌入式系統多種多樣,范圍從簡單的8位MCU到高度復雜的64位多核CPU。在大多數嵌入式操作系統的內核中,都會有一個實時操作系統(RTOS),這是管理CPU時序和其他資源的軟件。此外,一些操作系統會提供額外的模塊來處理通信協議、數據存儲、用戶接口等。下圖為一些流行的嵌入式RTOS的CPU支持情況。到目前為止,在中國非常受歡迎的RTOS是來自Micrium(現被Silicon Labs收購)的μC/OS-II(OS2)和μC/OS-III(OS3)。這些RTOS在非商業應用中可以免費使用,但對于商業用途則需要獲得授權。OS2和OS3可以覆蓋市場上幾乎所有的CPU,這是一個相當理想的特性,因為它有助于保護你在軟件方面的投資,你的應用可以很容易地從一種處理器架構遷移到另一種處理器架構上。
如果你的應用需要的是RTOS在多任務處理和資源共享方面的功能,那么FreeRTOS這款受歡迎的開源RTOS可能是另一種不錯的選擇。同樣地,如果你使用Cortex-M處理器,ARM會提供免費的RTX。然而,如果你正在設計一款商業產品,強烈推薦你使用一種商業RTOS而非一種開源解決方案。
現在,物聯網是一個非常熱門的話題,它取決于你正在談論哪方面的內容。如果你正在設計一個葉子節點,那么很可能你將需要某種形式的無線連接。有許多協議可供選擇,不過大多數嵌入式操作系統提供商并不直接提供無線協議棧,你可能得借助半導體制造商來提供這些解決方案。事實證明,只有極少數供應商可以提供無線芯片和軟件的完整組合。
不過,Silicon Labs可提供IoT解決方案和無線連接,能夠提供如下協議的完整解決方案:Bluetooth、Bluetooth Mesh、ZigBee、Thread、WiFi、專有協議(即定制協議)。事實上,這些協議已經預集成在Silicon Labs的EFR32多協議Wireless Gecko SoC系列產品中。這些芯片不僅包含無線協議,而且集成了Micrium的嵌入式操作系統。這使得可以相對容易地增加產品的功能,而無需擔心無線技術的復雜性。
越來越多的應用需要同時使用多種無線協議,并且為了降低成本,需要同一顆芯片同時支持這些協議。例如,你可能希望你的客戶使用Bluetooth去配置一個ZigBee和Thread設備。一旦配置成功,繼續同時運行兩種協議棧是可行的。Bluetooth仍然可以作為一個信標設備向路人提供關于你的設備可提供的增值特性的額外信息。這對于電子貨架標簽、餐館、加油站或其他類似應用都將非常有用。
另一個方面是云連接。你的嵌入式設備將很可能是一個更大聯網設備網絡的一部分,連接到亞馬遜網絡服務、微軟Azure云、IBM Bluemix或其他平臺將不再是問題,嵌入式操作系統供應商正在越來越多地提供云連接器及其協議棧來支持這些服務。
當然,IoT解決方案供應商必須提供一些功能來確保這些設備是安全、可靠且現場可升級的。設計人員需要在開發周期的早期考慮安全因素,而不是在事后。客戶越來越多地要求我們提供完整的、端到端的解決方案。現在這是可以的,因為作為Silicon Labs的一部分,我們不僅可以提供帶有額外模塊和云連接功能的嵌入式操作系統,而且可以提供完整的無線MCU和協議棧,讓工程師將精力更多地集中在產品設計的獨特性方面。
對于物聯網設備開發,操作系統該如何選擇?
嵌入式系統聯誼會秘書長 何小慶
商業嵌入式操作系統起源于20世紀70年代末80年代初,經歷了4個發展階段:RTOS kernel、RTOS、通用操作系統嵌入式化(如嵌入式Linux和嵌入式Windows)和以Android為代表的面向應用的嵌入式操作系統。關于嵌入式操作系統的發展史,在我所著《嵌入式操作系統風云錄》中有更加詳細的闡述。
目前,新生代的嵌入式操作系統是以物聯網應用為代表的操作系統,工程師在選擇的時候,要考慮以下幾個因素:第一,實時性要求,首先要看所做項目有沒有實時性要求,而實時性又分為硬實時和軟實時,μC/OS-III和VxWorks都可以提供硬實時,嵌入式Linux可以提供軟實時;第二,安全性考慮,要根據項目的安全要求級別做選擇,如果用于一般消費電子產品,安全性要求低一些,如果用于高鐵和飛機,則安全性要求就很高,所以要根據需要選擇符合安全規范要求的系統;第三,開源考慮,因為開源操作系統具有活躍的社區、豐富的生態環境,且軟硬件和標準非常齊全,所以在做物聯網設計時,開發者喜歡選擇開源操作系統;第四,工具的考量,要看操作系統是否有大量第三方工具(包括開發工具、性能分析工具和測試工具)支持,工具支持越多,越好用,開發周期會越短;第五,成本考慮,購買商業軟件需要成本,如果使用開源系統,雖然源碼免費,但是真正使用時仍需投入相當多的費用,所以開源未必真正免費,在選擇時需要提前考慮。
個人覺得,如果做物聯網設備開發,可以有兩種選擇途徑:一種是 基于開源的Linux和FreeRTOS,因為開源,它們有IoT協議棧,可以連接到云端,還會有一些IoT芯片公司開發的連接協議和驅動,如WiFi、藍牙、ZigBee等,通過整合,可以讓開源操作系統支持物聯網開發,從目前市場看,這種方案使用最多;另一種是選擇物聯網操作系統,它是一站式方案,針對性較強,但缺點是通用型較弱,如果企業未來不做物聯網項目了,系統裁剪會比較麻煩,這些物聯網操作系統更適合物聯網創業項目,可以讓產品盡快上市。
但是有一點需要開發者注意,物聯網時代,越來越多的設備采用MCU,因為架構的原因,它只能選擇使用RTOS,不適合選用Linux這類大型的操作系統。因此,開發者要早做準備,盡快熟悉RTOS和掌握一種RTOS技術,做好知識儲備,會對以后的開發有幫助。一些物聯網操作系統的內核也是基于RTOS 技術演變而成,比如華為Lite OS 和慶科Mico OS,對于未來的物聯網系統,RTOS 將成為一種基礎軟件平臺。
嵌入式工程師和創客在物聯網設備開發上選擇操作系統時候,也會有一些差異,創客會喜歡樹莓派、Arduino這樣的開源硬件,而且他們中很多是從互聯網開發轉過來的,喜歡使用高階的編程語言(Python 和Javascrpit),他們對嵌入式底層了解不多,更擅長與云端連接,所以在選擇嵌入式操作系統時,著眼點也會有差別。
從產品、生態和技術服務三方面對嵌入式操作系統進行考量
上海睿賽德電子科技有限公司聯合創始人及副總裁 邱祎
工程師在選擇嵌入式操作系統時,如果以學習為目的,主要看系統是否容易上手以及資料是否豐富,一般可以考慮主流的開源嵌入式操作系統;如果是以產品開發為目的,那么可以從產品、生態和技術服務三方面對嵌入式操作系統進行考量。
第一,產品方面。首先成熟和穩定可靠是基本的要求,選擇在行業內至少經過5年以上時間驗證,并且被各個行業廣泛使用的系統會更有保障。其次,選擇容易使用、開發便捷、注重開發者體驗的系統。架構清晰、API簡明齊全、編譯工具支持廣泛、調試方便等,對于工程師的應用開發至關重要。再次,物聯網時代和人工智能的崛起提出了很多新的需求,硬件碎片化、產品多樣化是主要特征之一。產品開發會使用不同架構、品牌的芯片平臺,且高中低端產品跨度非常大。因此,選擇跨芯片架構、高度可裁剪的系統非常重要,一方面能避免因為更換芯片平臺而帶來的大量額外工作和不穩定因素;另一方面,一款操作系統適用于不同檔次的產品,且能夠做到資源占用小、結構輕盈,可大大增加軟件的可復用性,提高開發效率。
此外,物聯網應用對系統提出了連接、安全、低功耗等多方面要求,因此,選擇功能豐富的系統能夠給產品開發帶來很大幫助,如具備連接、安全、低功耗、可靠存儲甚至是輕量級GUI圖形交互等功能。網絡連接是物聯網終端開發的核心,如果操作系統能支持豐富的網絡協議(如MQTT、LWM2M、Web Socket等),甚至是完成了主流IoT云平臺的對接,則會大幅降低IoT終端的開發周期和風險。
第二,生態方面。工程師選擇嵌入式操作系統時,需要關注它的生態和開發者社區,開發者既能夠從良好的生態中獲取和分享技術文檔、軟件模塊、第三方工具等資料,也能夠在開發者社區中學習和交流開發經驗,甚至獲得解決問題的思路,從而有助于產品開發。
第三,技術服務方面。工程師在產品開發階段一般都面臨產品上市時間和研發成本的壓力,尤其是物聯網方案開發,系統復雜、難度大,如果選擇能夠提供良好技術服務的嵌入式操作系統(包括技術支持、技術培訓等),那么對于提高團隊研發能力、降低研發成本、加快產品上市都有很好的幫助。
除上述三方面外,建議大家關注兩點大趨勢。第一,關注開源開放的嵌入式操作系統,傳統封閉的嵌入式操作系統正走向沒落,開源開放的嵌入式操作系統被越來越廣泛地使用,生態也在逐漸完善。第二,關注國內自主的嵌入式和物聯網操作系統,因為IoT制造在中國,IoT芯片在中國,IoT市場在中國,所以IoT操作系統也一定是在中國。例如,RT-Thread,就是一款非常優質、對開發者很友好的國產自主操作系統,歷經11年的考驗,成熟性高,開發便捷,軟件生態支持好,也非常符合物聯網時代對終端軟件系統的要求。
編輯視角
嵌入式系統應用的多種多樣,決定了嵌入式操作系統的種類繁多,在選擇時,如果是設計商業產品,盡量要選擇生態系統良好的成熟商業產品,如果是創客,可以優先考慮新興的、開源的操作系統。尤其物聯網應用更加多樣化,選擇合適的操作系統更重要!
-
Linux
+關注
關注
87文章
11230瀏覽量
208937 -
RTOS
+關注
關注
22文章
809瀏覽量
119441 -
嵌入式操作系統
+關注
關注
1文章
118瀏覽量
31514 -
RT-Thread
+關注
關注
31文章
1273瀏覽量
39928
原文標題:RT-Thread專訪,嵌入式操作系統那么多,哪一個適合你?
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論