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