0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

幾位嵌入式技術(shù)大牛:嵌入式操作系統(tǒng)那么多,如何選擇?

電子工程師 ? 來源:未知 ? 作者:電子大兵 ? 2017-09-11 14:57 ? 次閱讀

物聯(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仍然可以作為一個信標設(shè)備向路人提供關(guān)于你的設(shè)備可提供的增值特性的額外信息。這對于電子貨架標簽、餐館、加油站或其他類似應(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世紀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)云錄》中有更加詳細的闡述。

目前,新生代的嵌入式操作系統(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)境,且軟硬件和標準非常齊全,所以在做物聯(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、藍牙、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ā)者要早做準備,盡快熟悉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)過來的,喜歡使用高階的編程語言(PythonJavascrpit),他們對嵌入式底層了解不多,更擅長與云端連接,所以在選擇嵌入式操作系統(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)更重要!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208474
  • RTOS
    +關(guān)注

    關(guān)注

    21

    文章

    808

    瀏覽量

    119292
  • 嵌入式操作系統(tǒng)

    關(guān)注

    1

    文章

    118

    瀏覽量

    31485
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1249

    瀏覽量

    39725

原文標題:RT-Thread專訪,嵌入式操作系統(tǒng)那么多,哪一個適合你?

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    概述及匯總ARM的嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是指用于嵌入式系統(tǒng)操作系統(tǒng)
    發(fā)表于 12-23 11:39 ?2975次閱讀

    嵌入式操作系統(tǒng)那么多,它們有何區(qū)別呢?

    、QNX、INTEGRITY、OSE、C Executive、autosar......  什么是嵌入式操作系統(tǒng)?  嵌入式操作系統(tǒng)是一種支持嵌入
    發(fā)表于 12-22 16:00

    嵌入式操作系統(tǒng)怎么選擇?

    嵌入式操作系統(tǒng)是ARM CPU的軟件基礎(chǔ),從8位/16位單片機發(fā)展到以arm CPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)的
    發(fā)表于 04-07 07:13

    嵌入式實時操作系統(tǒng)教程

    嵌入式實時操作系統(tǒng)教程:以VRTX為對象詳細介紹了嵌入式實時操作系統(tǒng)的原理和應(yīng)用,特別是第一部分關(guān)于嵌入式實時
    發(fā)表于 04-19 21:55 ?44次下載
    <b class='flag-5'>嵌入式</b>實時<b class='flag-5'>操作系統(tǒng)</b>教程

    嵌入式操作系統(tǒng)-李春杰

    主要內(nèi)容: 嵌入式操作系統(tǒng)概述 典型嵌入式操作系統(tǒng)介紹 嵌入式操作系統(tǒng)選型
    發(fā)表于 01-04 18:30 ?0次下載

    什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些

    嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式
    發(fā)表于 04-18 16:10 ?4w次閱讀

    嵌入式操作系統(tǒng)是什么_嵌入式操作系統(tǒng)有哪些

    嵌入式操作系統(tǒng)(Embedded OperatingSystem,簡稱:EOS)是指用于嵌入式系統(tǒng)操作系統(tǒng)
    發(fā)表于 04-08 14:36 ?2w次閱讀

    嵌入式操作系統(tǒng)的介紹和嵌入式操作系統(tǒng)的發(fā)展狀況和應(yīng)用前景說明

    本文介紹了嵌入式操作系統(tǒng)的概念,分析了嵌入式操作系統(tǒng)的發(fā)展狀況和應(yīng)用前景,特別是嵌入式Linux的研究和發(fā)展情況。
    發(fā)表于 06-06 17:49 ?8次下載
    <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ā)展狀況和應(yīng)用前景說明

    嵌入式操作系統(tǒng)應(yīng)該怎樣來定義

    嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式
    發(fā)表于 09-11 16:07 ?1586次閱讀

    嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成

    本文首先介紹了入操作系統(tǒng)的特點,其次闡述了嵌入式操作系統(tǒng)的應(yīng)用,最后介紹了嵌入式操作系統(tǒng)的組成
    發(fā)表于 09-01 16:36 ?3554次閱讀

    什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)是一種支持嵌入式
    發(fā)表于 10-21 09:36 ?27次下載
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b> 常見的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>有哪些

    嵌入式操作系統(tǒng)

    參考:[1] 《嵌入式系統(tǒng)軟件及操作系統(tǒng)》1、嵌入式操作系統(tǒng)的功能在嵌入式
    發(fā)表于 10-21 11:21 ?10次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>

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

    嵌入式系統(tǒng)開發(fā)概述1、什么是嵌入式技術(shù)?答:操作系統(tǒng)—>嵌入式
    發(fā)表于 11-02 09:51 ?15次下載
    課堂筆記之<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>操作系統(tǒng)</b>

    嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)一、嵌入式操作系統(tǒng)概述1.1 嵌入式操作系統(tǒng)的特點1.2
    發(fā)表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>

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

    嵌入式操作系統(tǒng)是一種專門的操作系統(tǒng)(OS),旨在為非計算機的設(shè)備執(zhí)行特定任務(wù)。嵌入式操作系統(tǒng)的主要工作是運行允許設(shè)備完成其工作的代碼。
    的頭像 發(fā)表于 12-23 15:33 ?7489次閱讀
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>?