電腦嵌入式系統與嵌入式操作系統

吳國發

初稿: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,沒有得到普遍應用。