《國產嵌入式微系統msOS成型記》之一 何為嵌入式微系統

2020-12-06 電子產品世界

本文引用地址:http://www.eepw.com.cn/article/201612/327758.htm

讀過與非網推出的《嵌入式作業系統史話》,通過何老師的講述,我們應該對嵌入式作業系統的門派、歷史、演進以及未來發展趨勢有了較全面和深入的認識。

其中,幾乎所有嵌入式作業系統革新性的技術節點都始於歐美國家,國內產業者始終扮演追隨者的角色。

但我們也要看到,國內的開發者們一直沒有放棄努力,雖然一個個先驅成為先烈,如紅旗Linux、都江堰等,仍擋不住一批批後繼者湧入,如凱思昊鵬的HOPEN、開源的RT-thread和μTenux以及飽受爭議的COS等。

在此,與非網推出《嵌入式微系msOS成型記》系列,我們邀請與非網資深網友--王紹偉(鳳舞天),介紹一款基於開源概念,此前在國內幾為空白的,從實際需求出發的嵌入式作業系統--msOS,自誕生到完善成熟的成長故事,讓大家看到國內這樣一批務實的開發者們在做什麼。

何為嵌入式微系

嵌入式微系統,顧名思義就是嵌入式微型作業系統,然而作業系統一詞在嵌入式行業裡往往專指uC/OS之類的帶任務切換的系統,所以為了有別於這個專用名詞,往往用開發平臺一詞來代替,所以嵌入式微系統更準確的名字為嵌入式微型開發平臺。

大家肯定會問,uC/OS這樣的嵌入式作業系統跟嵌入式微系統到底有什麼區別,那麼我們就要從項目需求開始說起。

某個公司需要在嵌入式晶片(MCU51或者STM32)上開發一個控制項目,涉及LCD界面、多種不同接口速度的外設、多種不同速度的業務邏輯控制,下圖為常見的一種工業自動化項目需求。

作為項目負責人,首先要分析清晰項目需求,假設這個項目有點複雜,涉及多路採樣及多路PWM輸出,所以選擇STM32之類的高性能處理器,之後再考慮軟體設計。

這個項目設計到多路輸入傳感器及多路輸出,有高速的業務邏輯控制,也有低速的菜單界面,為了把低速的菜單界面與高速的業務邏輯分開獨立編程,所以引入嵌入式作業系統,比如uC/OS,會方便程序設計。

uC/OS除了任務切換功能等有限的功能外,沒有別的,所以其它的東西還是需要我們自己添加,菜單界面就是一個。界面編程裡面,簡單的界面用狀態機還比較容易編程,但若涉及到稍微複雜一點的界面,傳統的狀態機編程思想就完全不適合了,代碼很難維護修改,為了提高可維護性,需要引入一個標準的菜單界面編程庫(GUI),雖然現在網上也有不少,但適合自己的卻很難找,往往需要自己編寫一套菜單界面庫,這個工作量很大,難度也很難,最後往往退回到傳統狀態機菜單編程方式。

其它的硬體相關的設備驅動庫,都需要自己來完成,比如按鍵、串口、步進驅動等等。若這個項目需要多人協同開發、長期維護,則還需要制定架構標準,一些接口規範,命名標準,而這麼多的要求,對於大部分的小、微型企業的嵌入式項目負責人來說,要求太高了。所以最後這個項目負責人,往往自己一個人埋頭苦幹,什麼標準什麼規範都沒有,經過較長的一段時間開發加上後期的修修補補,項目勉強的交差了。然而當這個負責人離職的時候,面臨著無人接手的窘境。

我們再看消費類電子產品的開發模式,以MTK6225功能手機為例,RTOS採用Nucleus,菜單界面軟體庫採用PlutoMMI,此外還需要多媒體、文件系統,電話本、短消息等中間件,之後是各種硬體設備驅動,整個軟體架構類似ARM公司提倡的CMSIS架構。

MTK提供了整套硬體參考設計、PCB設計、生產流程、測試流程,軟體開發標準。客戶通過不長的時間培訓即可掌握手機的開發設計,一般10來人的手機設計公司,在具有一定的手機設計經驗的基礎上,只需要2、3個月就可以設計出一款MTK提供的參考手機,之後公司基於這個參考手機做硬體上的機型改進及軟體上的界面調整即可。到了Android時代更是簡單了,因為Android軟體屬於通用軟體,所以軟體更是不需要培訓了。

其他消費類電子,比如以前的VCD、DVD、MP3、MP4等等,都採用類似的方式,只有採用這種方式,源頭廠家才可以快速的切入市場,並且可以同時管理、維護很多下遊客戶,比如MTK的下遊山寨手機公司上千家,大的手機廠家也有近百家之多。因為採用了標準的設計模版,應用開發、客戶維護人員都不是很多,尤其是維護人員,大大降低,獲得高額的利潤。而因為採用標準通用的軟體架構平臺,迅速的培養了大量的通用手機軟體人員,而這些軟體人員都可以在各個手機公司立即幹活,不存在更換一個公司之後還需要培訓的問題,這樣下遊廠家也不需要擔心人才流動引起的工作交接問題。

從以上例子可以看到,通用標準化的開發設計,帶來的好處是巨大的:提高了開發效率、縮短了開發周期、便於產品長期維護,容納更多的下遊客戶。


相關焦點

  • 工業嵌入式系統
    近些年來,由於工業過程控制的智能化需求,隨著5G、物聯網、AI等技術的發展,消費電子、計算機、電子通信產品、信息家電都推陳出新,全球網際網路也開始飛速發展,這些都為嵌入式系統
  • 嵌入式系統概述及與單片機區別說明
    嵌入式系統的全稱是嵌入式系統。英語是嵌入式系統。它是一種「為特定應用而設計的專用計算機系統,完全嵌入在受控設備中」。根據英國電氣工程師學會的定義,嵌入式系統是用於工廠運行的控制、監控或輔助設備、機器或設備。從這裡我們可以看出兩點。首先,嵌入式不是通用設備。
  • 嵌入式作業系統是什麼_嵌入式作業系統有哪些
    嵌入式作業系統是什麼   嵌入式作業系統(Embedded OperatingSystem,簡稱:EOS)是指用於嵌入式系統的作業系統。嵌入式作業系統是一種用途廣泛的系統軟體,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。
  • 嵌入式系統在物聯網中的作用是什麼
    物聯網的產生是嵌入式系統高速發展的必然產物,更多的嵌入式智能終端產品有了聯網的需求,催生了物聯網這個概念的產生。從智能交通到車載信息設備,從「物聯網」到智能家電,嵌入式移動互聯在中國發展前景廣闊。那麼嵌入式系統在物聯網中有何作用呢?
  • 杭州國產嵌入式OS論壇10月舉辦
    複雜的國際政經環境,國產晶片風起雲湧,國產作業系統受到國內產業界、學術研究機構和政府相關部門高度重視。 嵌入式系統是電子信息產業的基礎,是智能系統的核心。伴隨人工智慧物聯網(AIoT)快速發展,嵌入式作業系統在智能系統發揮越來越大的作用,應對日益複雜和不確定外部環境,國產智能系統更離不開國產嵌入式作業系統,智能製造和物聯網對國產嵌入式作業系統需求強勁。
  • 什麼是嵌入式系統?
    如果要給嵌入式系統下個定義,嵌入式系統是以應用為中心,以計算機技術為基礎的,並且軟硬體可裁減,能滿足應用系統對功能、可靠性、實時性、成本、體積、功耗等指標嚴格要求的專用計算機系統。根據英國電氣工程師協會的定義,嵌入式系統為控制、監視或輔助設備、機器用於工廠運作的設備。美國電氣和電子工程師協會對嵌入式系統的定義:控制、監視或者輔助設備、機器和車間運行的裝置。
  • 華北工控 | 嵌入式計算機在配網可視化管控系統中的應用
    隨著電力物聯網建設工作的逐步展開,以大數據、物聯網和計算機等先進技術為基礎的配網可視化管控系統飛速發展,它將設備和用戶連接起來,可實現用電集中監控和配網數據信息共享,為
  • ARM嵌入式微控制器將帶來一次新的工業技術革命
    打開APP ARM嵌入式微控制器將帶來一次新的工業技術革命 lianzhitongda 發表於 2020-12-17 15:58:13
  • 中國本土嵌入式系統十佳企業評選
    2004~2005年度 中國本土嵌入式系統十佳企業評選   為了展示中國本土嵌入式系統企業的風採,並表彰其中的佼佼者,以帶動國內嵌入式系統業的整體進步與發展《電子產品世界》雜誌社從今年開始推出「2004~2005年度中國本土嵌入式系統十佳企業」的評選活動。   評選範圍:在技術創新、應用創新或市場推廣等方面有貢獻的國內本土企業都可參加。
  • IoT設備中嵌入式微控制器的安全機制
    嵌入式設備的安全性對於阻止黑客獲得其控制權至關重要,更糟糕的一種情況是,黑客可能會對設備的連接系統發起更具破壞性的攻擊。但是,遠程攻擊只是對手採取的其中一種方式,對物理硬體設備的本地攻擊則是獲取機密信息的另一種方法,這些攻擊包括訪問系統驗證密碼,甚至包括應用代碼本身的智慧財產權等。本文將回顧在嵌入式微控制器中配置強大而可靠嵌入式安全機制的基本概念。
  • 關於嵌入式系統的分類與特點
    美國著名未來學家尼葛洛龐帝99年1月訪華時預言,4~5年後嵌入式智能(電腦) 工具將是PC和網際網路之後最偉大的發明。我國著名嵌入式系統專家沈緒榜院士98年11月在武漢全國第11次微機學術交流會上發表的《計算機的發展與技術》一文中,對未來10年以嵌入式晶片為基礎的計算機工業進行了科學的闡述和展望。
  • 基於MicroBlaze實現AXI總線雙核嵌入式系統
    目的是利用嵌入在Xilinx FPGA中的MicroBlaze核實現基於AXI總線的雙核嵌入式系統設計以及共享實現LED燈的時控。
  • 工業網際網路:嵌入式系統的機遇和挑戰
    嵌入式技術在工業信息化時代發揮了不可替代的作用,那麼在工業網際網路時代嵌入式技術會不會退出歷史舞臺?答案是否定的,事實上,工業網際網路時代為嵌入式技術帶來了新的歷史機遇和挑戰。 無論是工具機、機器人等智能裝備,夾爪、噴槍等工藝設備,還是雷射雷達、紅外感應等傳感晶片,都是工業網際網路的數據來源,都是以嵌入式技術為基礎的。 (2)工業網際網路依賴於嵌入式系統實現網絡傳輸。無論是終端通信模塊、工廠內部網關,還是路由交換節點,都需要依賴專用的嵌入式系統保證可靠、穩定和高速的數據傳輸。
  • 什麼是嵌入式技術?
    簡單來說,嵌入式技術是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統技術。嵌入式系統是一種包括硬體和軟體的完整的計算機系統,它的定義是:「嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可剪裁,適用於應用系統對功能、可靠性、成本、體積和功耗有嚴格要求的專用計算機系統。」
  • Python在實時嵌入式系統開發中的主要應用
    Python應用在在實時嵌入式系統中 眾所周知,Python跑在Linux與Windows上都沒問題,諸如Raspberry Pi等單板計算機也不在話下。這麼牛?在實時嵌入式系統中是否也有Python的一席之地?答案是肯定的。
  • 單片機和嵌入式都是什麼?
    國內學術界的定義更為具體一些,也更容易理解:嵌入式系統,是以應用為中心,以計算機技術為基礎,軟體硬體可裁剪,適用於對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。以應用為中心,說明嵌入式系統是有明確實際用途的。以計算機技術為基礎,說明它其實就是一種特殊的計算機。
  • 基於busybox的嵌入式Linux根文件系統的的製作方法
    根文件系統一直是Linux系統不可或缺的組件,在嵌入式Lin-ux中,內核在啟動期間進行的最後操作之一就是安裝根文件系統。Busybox是構建嵌入式Linux根文件系統的軟體,用它製作根文件系統簡單、方便,而且設置靈活。
  • 牛人通俗解釋嵌入式系統概念
    簡單通俗直白的說:就是實現嵌入式系統的技術。  哪什麼是嵌入式系統?  網上或書上泛濫成災的定義是:嵌入式系統是針對某個應用,軟硬體可裁減的,對體積,功耗,成本等等有嚴格要求的一個計算機系統。看起很複雜很抽象,其實就兩點:  第一,嵌入式系統是一個計算機系統  第二,嵌入式系統是針對某個應用的,也就是通常所說的「專用的」。  也就是說,嵌入式系統說白了,就是針對某個應用的計算機系統!
  • 嵌入式系統-專題-CK365測控網
    嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模系統的設備。嵌入式系統以應用為中心、以計算機技術為基礎、軟硬體可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。
  • 典型的嵌入式系統設計和實現
    通常來說,一個嵌入式系統的開發過程如下:     1.確定嵌入式系統的需求;     2. 一、步驟1:確定系統的需求: 嵌入式系統的典型特徵是面向用戶、面向產品、面向應用的,市場應用是嵌入式系統開發的導向和前提。一個嵌入式系統的設計取決於系統的需求。