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

嵌入式操作系統(tǒng)-李春杰
什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些
嵌入式操作系統(tǒng)是什么_嵌入式操作系統(tǒng)有哪些
嵌入式操作系統(tǒng)的介紹和嵌入式操作系統(tǒng)的發(fā)展?fàn)顩r和應(yīng)用前景說明

嵌入式操作系統(tǒng)應(yīng)該怎樣來定義
嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成
什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些

課堂筆記之嵌入式Linux操作系統(tǒng)

什么是嵌入式操作系統(tǒng)?

評論