電腦嵌入式系統與嵌入式操作系統
吳國發
初稿:2020年9月27日
修改:2023年10月22日
內容提要:這是一篇高級科普文章,具備電腦基本知識的讀者才能夠看懂本文。文章簡明扼要地介紹電腦嵌入式系統的基本概念、發展階段、嵌入式硬件的種類、嵌入式軟件的種類,再具體介紹嵌入式操作系統的概念和種類。
關鍵詞:嵌入式系統 微處理器 微控制器 操作系統 Linux
(一)電腦嵌入式系統的基本概念
嵌入式系統是以應用爲中心,以計算機技術爲基礎,能夠根據用戶需求(功能、可靠性、成本、體積、功耗、環境等)靈活裁剪軟件硬件模塊的專用電腦系統。
嵌入式系統由硬件和軟件組成。嵌入式系統的軟件包括操作系統、中間件和應用程序。嵌入式系統的硬件包括信號處理器、存儲器、通信模塊(輸入輸出接口)等。
相比於一般的計算機處理系統,各種嵌入式系統存在較大的差異性。嵌入式系統沒有大容量的存儲功能,因爲沒有與之相匹配的大容量存儲介質。
嵌入式系統廣泛用於工業控制、智能汽車、高端精密尖端儀器、智能手機、智能家用電器、武器裝備(如坦克、導彈、雷達)等,如下圖所示:
(二)嵌入式系統的發展階段
嵌入式系統的發展大致經歷了以下三個階段:
第一階段:嵌入技術的早期階段,無操作系統。嵌入式系統以單片機爲核心的可編程控制器形式存在,具有監測、伺服、設備指示等功能。這種系統大部分應用於各類工業控制和坦克、飛機、導彈等武器裝備中。
第二階段:以高端嵌入式CPU和嵌入式操作系統爲標誌。這一階段嵌入式系統的主要特點是計算機硬件出現了高可靠、低功耗的嵌入式CPU,如ARM、PowerPC等,而且支持操作系統和複雜應用程序的開發、運行。
第三階段:以芯片技術和Internet(互聯網)技術爲標誌。由於微電子技術迅速發展,SoC(片上系統)使嵌入式系統越來越小,功能卻越來越多。目前大多數嵌入式系統還獨立於互聯網之外。今後,互聯網技術將與工業控制技術、智能設備、智能家電等密切結合,很多嵌入式系統將與Internet(互聯網)聯結。
(三)嵌入式硬件系統的主要種類
以下各節,我們討論第三階段嵌入式系統的類型和軟件。
從硬件角度看,嵌入式系統主要有下列四種類型:
(1)嵌入式微處理器(MicroProcessor Unit,MPU)
現在的嵌入式微處理器(MPU)是由通用計算機中的CPU演變而來的。它是具有32位以上的處理器。與工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。
主要的嵌入式處理器類型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等。
(2)嵌入式微控制器(MicrocontrollerUnit, MCU)
早期的微控制器(Microcontroller Unit,MCU)是將一個計算機集成到一個芯片中,實現嵌入式應用,故又稱單片機(single chip microcomputer)。
單片機是一種集成電路芯片,是構成一臺微型計算機的主機。與微型計算機相比,單片機只缺少了I/O(輸入/輸出)設備。
與嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器適合於實時控制,因此稱爲微控制器。
MCU擁有的品種最多。比較有代表性的MCU有Intel8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68000系列,以及8XC930/931、C540、C541,並且還有支持I2C、CAN-Bus、LCD及衆多專用MCU和兼容系列。
(3)嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)
DSP(數字信號處理器)是專門用於信號處理方面的處理器。它具有很高的編譯效率和指令執行速度,能夠極快地進行離散時間信號處理。
應用最廣的DSP是TI(德州儀器)的TMS320C2000/C5000系列和Motorola(摩托羅拉)的5600X系列;其次是Intel(英特爾)的MCS-296,Siemens(西門子)的TriCore,等等。
(4)嵌入式片上系統(System OnChip)
嵌入式片上系統(SoC)是具有很大包容性的集成器件。SoC最大的特點是實現了軟硬件無縫結合,直接在處理器片內嵌入操作系統的代碼模塊。
比較典型的SoC產品是Philips(菲利普)的Smart XA。其它的SOC有Siemens(西門子)的TriCore,Motorola(摩托羅拉)的M-Core,某些ARM系列器件,Echelon和Motorola聯合研製的Neuron芯片,等等。
(四)嵌入式軟件系統的概念
(A)嵌入式軟件系統的基本概念
嵌入式軟件系統的組成如下:
(1)系統軟件,包括操作系統(系統軟件的核心)、中間件等,用於控制、管理微系統的資源;
(2)支撐軟件,輔助軟件開發的工具,包括設計工具、仿真工具、測試工具、維護工具等;
(3)應用軟件,包括微系統在各個領域的應用軟件。
(B)嵌入式操作系統的基本概念
嵌入式操作系統(EmbeddedOperating System,EOS)是指用於嵌入式系統的操作系統。嵌入式操作系統通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。
嵌入式操作系統負責嵌入式系統的全部軟件、硬件資源的分配,任務調度,控制、協調系統的活動。
EOS能夠通過裝入某些模塊來實現增加的功能。
嵌入式操作系統大多數是實時操作系統(RTOS)。
手機操作系統都是嵌入式操作系統。
(C)嵌入式實時操作系統(RTOS)
嵌入式實時操作系統(Real Time Operating System,RTOS)能夠在指定或確定的時間內完成實時系統的功能。RTOS標準的內核是一段嵌入在目標代碼中的程序,系統復位後首先執行。RTOS相當於用戶的主程序,其它程序都建立在RTOS之上。
RTOS的特性如下:
Ø 具有實時性、並行性、多路性和交互性;
Ø 具有約束性,包括時間約束、資源約束、執行順序約束等;
Ø 具有可預測性,其執行時間和結果是可預測的;
Ø 具有可靠性。
(五)嵌入式操作系統的發展階段
嵌入式操作系統的發展經歷了下列四個階段:
第一階段:無操作系統階段,20世紀70年代;嵌入式系統的硬件以51單片機爲代表。
第二階段:簡單操作系統階段,20世紀80年代;嵌入式系統的硬件是超大規模集成電路(VLSI)。
第三階段:實時操作系統階段,20世紀90年代;實時、多任務系統是嵌入式操作系統的主流;嵌入式系統的硬件仍然是超大規模集成電路(VLSI)。
第四階段:面向Internet階段,可以使用Java開發;系統軟件有嵌入式數據庫、實時CORBA等,有完善的開發平臺。
(六)國際上常用的通用嵌入式操作系統
國際上的嵌入式操作系統(EOS)有50種左右。國際上廣泛使用的通用嵌入式操作系統如下:
Ø Palm OS,通用EOS,由3Com公司下屬子公司開發,佔全球市場份額高達50%。在美國市場,Palm OS更以80%的佔有率,遙遙領先。
ØWindows Embedded,微軟公司開發,在美國的市場佔有率很高,僅次於Palm OS。
ØVxWorks,實時操作系統,由美國WindRiver 公司開發。
Ø µC/OS-III,實時操作系統,由Micrium公司開發,開源。
Ø 嵌入式Linux,種類很多,其小型化版是μCLinux,開源。
Ø 專用於手機和平板電腦的Android(安卓),谷歌公司開發,開源。
Ø 專用於蘋果公司手機的iOS,蘋果公司開發,只適用於蘋果公司產品。
上述操作系統全部是美國的企業和研究機構開發的。
華爲公司的鴻蒙系統(HarmonyOS)專用於華爲公司的手機、平板電腦、自動駕駛汽車和其它智能產品。
(七)嵌入式Linux系統的特點
嵌入式Linux是把Linux操作系統進行剪裁、修改,使之能夠在嵌入式系統運行的操作系統。
嵌入式Linux具有如下特點:
Ø 嵌入式Linux的源代碼完全開放,不存在“後門”和黑箱技術。
Ø 嵌入式Linux內核小(最小者只有134KB),效率高;內核可以任意剪裁。
Ø 嵌入式Linux可移植性好,已經被移植到20多種CPU架構,包括x86、ARM、MIPS、IA64、AVR32、M68K、S390等。
Ø 嵌入式Linux都是免費的操作系統,在價格上具有很強的競爭力。
Ø 全世界有超過1000名Linux專家級的“義工”,免費爲嵌入式Linux提供技術支持。
嵌入式Linux主要有下列三種類型:
(1)專門爲嵌入式特性設計的Linux,其內核很小、移植性很好;
(2)專門爲實時性設計的Linux,其可控性好,實時功能強;
(3)把嵌入式特徵和實時性特徵結合起來而設計的Linux,提供集成開發方案。
(八)嵌入式Linux系統的發行版
有代表性的嵌入式Linux操作系統發行版有下列六種:
(1)μClinux,適用於簡單的微控制器嵌入式系統,內核很小;由美國Lineo公司開發。
(2)RT-Linux,適用於實時控制,是實時Linux的代表;由美國墨西哥理工學院開發。
(3)Embedix,適用於複雜的嵌入式系統,具有調試工具包、圖形界面瀏覽器等,是完整的嵌入式Linux解決方案;由美國Luneo公司開發。
(4)QUARK(夸克),由美國網虎公司(XLinux)開發,是目前全世界最小的Linux,內核只有143KB。QUARK不僅具有標準字符集,而且含有12個國家和地區的字符集,適合於國際性應用。
(5)Mizi Linux,內核小(512KB);集成了網絡服務器Apache和數據庫管理系統MySQL;配備了功能很強的SDK開發平臺。由韓國Mizi公司開發。
(6)MidoriLinux,功能強、適用性廣的嵌入式操作系統;不僅操作系統免費,而且提供免費的開發工具和應用程序包;由美國Monta Vista公司開發。
上述六種嵌入式Linux發行版,除了MiziLinux是韓國企業開發的外,五種都是美國企業和大學開發的。
中科紅旗軟件技術有限公司開發了紅旗嵌入式Linux,沒有得到普遍應用。