官术网_书友最值得收藏!

2.1 嵌入式系統(tǒng)

物聯(lián)網(wǎng)是物與物、人與物之間的信息傳遞與控制,專業(yè)上就是指智能終端的網(wǎng)絡(luò)化。在我國對應(yīng)于物聯(lián)網(wǎng)提出的概念是“感知中國”。其中,“感”的技術(shù)包括物理設(shè)備的嵌入式技術(shù),使物理設(shè)備有“感”的功能;無線傳感器網(wǎng),實現(xiàn)信息采集和融合;現(xiàn)場總線(如CAN線),實現(xiàn)信息采集和傳輸。“知”的技術(shù)包括后臺信息處理、控制和服務(wù)以及熱門的云計算技術(shù)。嵌入式系統(tǒng)無所不在,有嵌入式系統(tǒng)的地方才會有物聯(lián)網(wǎng)的應(yīng)用。所以,物聯(lián)網(wǎng)就是基于互聯(lián)網(wǎng)的嵌入式系統(tǒng),也可以說,物聯(lián)網(wǎng)的產(chǎn)生是嵌入式系統(tǒng)高速發(fā)展的必然產(chǎn)物,更多的嵌入式智能終端產(chǎn)品有了聯(lián)網(wǎng)的需求,催生了物聯(lián)網(wǎng)這個概念的產(chǎn)生。

2.1.1 嵌入式系統(tǒng)的概念

(1)嵌入式系統(tǒng)的定義

嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件和硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積及功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)是嵌入到對象體系中的專用計算機系統(tǒng)。“嵌入性”“計算機系統(tǒng)”與“專用性”是嵌入式系統(tǒng)的3個基本要素。對象系統(tǒng)則是指嵌入式系統(tǒng)所嵌入的宿主系統(tǒng)。按照上述嵌入式系統(tǒng)的定義,只要具備定義中三要素的計算機系統(tǒng),都可以稱為嵌入式系統(tǒng)。

1)嵌入性。嵌入式系統(tǒng)是嵌入到對象體系中的,有對對象環(huán)境的要求。嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,它必須與具體應(yīng)用相結(jié)合才會具有生命力,才更具有優(yōu)勢。因此可以這樣理解上述3個面向的含義,即嵌入式系統(tǒng)是與應(yīng)用緊密結(jié)合的,它具有很強的專用性,必須結(jié)合實際系統(tǒng)需求進行合理的利用。

2)計算機系統(tǒng)。計算機系統(tǒng)實現(xiàn)對象的智能化功能。嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)及各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。

3)專用性。專用性是指嵌入式系統(tǒng)的軟硬件按對象要求“裁剪”。嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對軟硬件進行“裁剪”,以滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。因此,如果能建立相對通用的軟硬件基礎(chǔ),然后在其上開發(fā)出適應(yīng)各種需要的系統(tǒng),就是一個比較好的發(fā)展模式。目前的嵌入式系統(tǒng)的核心往往是一個只有幾KB到幾十KB的微內(nèi)核,需要根據(jù)實際的使用進行功能擴展或者“裁剪”,但是微內(nèi)核的存在使得這種擴展能夠非常順利地進行。

實際上,嵌入式系統(tǒng)本身是一個外延極廣的名詞,凡是與產(chǎn)品結(jié)合在一起的具有嵌入式特點的控制系統(tǒng)都可以稱為嵌入式系統(tǒng),而且有時很難給它下一個準確的定義。目前當人們提到嵌入式系統(tǒng)時,某種程度上是指近些年比較成熟的具有操作系統(tǒng)的嵌入式系統(tǒng)。

嵌入式系統(tǒng)按形態(tài)可分為設(shè)備級(工控機)、板級(單板、模塊)、芯片級——微控制單元(MCU)和系統(tǒng)級芯片(SOC)。有些人把嵌入式處理器當作嵌入式系統(tǒng),但由于嵌入式系統(tǒng)是一個嵌入式計算機系統(tǒng),因此只有將嵌入式處理器構(gòu)成一個計算機系統(tǒng)并作為嵌入式應(yīng)用時,這樣的計算機系統(tǒng)才可稱作嵌入式系統(tǒng)。嵌入式系統(tǒng)與對象系統(tǒng)密切相關(guān),其主要技術(shù)發(fā)展方向是滿足不同的應(yīng)用指標,不斷擴展對象系統(tǒng)要求的外圍電路——如模_數(shù)轉(zhuǎn)換器(ADC)、數(shù)_模轉(zhuǎn)換器(DAC)、脈沖寬度調(diào)制(PWM)、日歷時鐘、電源監(jiān)測、程序運行監(jiān)測電路等,形成滿足對象系統(tǒng)要求的應(yīng)用系統(tǒng)。因此,嵌入式系統(tǒng)作為一個專用計算機系統(tǒng),要不斷向計算機應(yīng)用系統(tǒng)發(fā)展,也可以把定義中的專用計算機系統(tǒng)延伸,即滿足對象系統(tǒng)要求的計算機應(yīng)用系統(tǒng)。當前嵌入式系統(tǒng)的發(fā)展與物聯(lián)網(wǎng)緊密地結(jié)合在一起。

(2)物聯(lián)網(wǎng)對嵌入式系統(tǒng)的要求

物聯(lián)網(wǎng)對嵌入式系統(tǒng)的要求可歸納為以下3條。

1)嵌入式系統(tǒng)要協(xié)助滿足物聯(lián)網(wǎng)三要素,即信息采集、信息傳遞、信息處理。

2)嵌入式系統(tǒng)要滿足“智慧地球”提出的“3I”要求,即物聯(lián)化、互聯(lián)化、智能化(Instrumented、Interconnected、Intelligent)。

3)嵌入式系統(tǒng)要滿足信息融合物理系統(tǒng)GPS中的“3C”要求,即計算、通信和控制(Computation、Communication、Control)。

根據(jù)物聯(lián)網(wǎng)的要求決定嵌入式系統(tǒng)的發(fā)展趨勢:其一,嵌入式系統(tǒng)趨向于多功能、低功耗和微型化,如出現(xiàn)智能灰塵等傳感器節(jié)點、一體化智能傳感器;其二,嵌入式系統(tǒng)趨于網(wǎng)絡(luò)化,由于孤島型嵌入式系統(tǒng)的有限功能已無法滿足需求,面向物理對象的數(shù)據(jù)是連續(xù)的、動態(tài)的(有生命周期)和非結(jié)構(gòu)化的制約數(shù)據(jù)采集,因此面向?qū)ο笤O(shè)計、軟硬件協(xié)同設(shè)計、嵌入式系統(tǒng)軟硬件打包成模塊、開放應(yīng)用的設(shè)計興起了。

(3)嵌入式系統(tǒng)的特點

嵌入式系統(tǒng)廣泛應(yīng)用的原因主要有兩個方面:一方面的原因是芯片技術(shù)的發(fā)展使得單個芯片具有更強的處理能力,而且使集成多種接口已經(jīng)成為可能;另一方面的原因是應(yīng)用的需要,對產(chǎn)品可靠性、成本、更新?lián)Q代要求的提高,使得嵌入式系統(tǒng)逐漸從純硬件實現(xiàn)和使用通用計算機實現(xiàn)的應(yīng)用中脫穎而出,成為近年來令人關(guān)注的焦點。從上面的分析可知,嵌入式系統(tǒng)有如下特征。

1)系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般應(yīng)用于小型電子裝置,系統(tǒng)資源相對有限,因此內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。比如Enea公司的OSE分布式系統(tǒng),內(nèi)核只有5KB,而Windows的內(nèi)核與其相比簡直沒有可比性。

2)專用性強。嵌入式系統(tǒng)的個性化很強,其中的軟件和硬件的結(jié)合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務(wù),往往需要對系統(tǒng)進行較大更改,程序的編譯下載要與系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級”完全是兩個不同的概念。

3)系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計及實現(xiàn)上過于復(fù)雜,這樣既利于控制系統(tǒng)成本,也利于保證系統(tǒng)安全。

4)高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求,而且軟件要求固態(tài)存儲,以提高速度;軟件代碼要求高質(zhì)量和高可靠性。

5)嵌入式軟件開發(fā)要想走向標準化的道路,就必須使用多任務(wù)的操作系統(tǒng)。嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運行;但是為了合理地調(diào)度多任務(wù),利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配實時操作系統(tǒng)(Real-Time Operating System,RTOS)開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。

6)嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。其本身不具備自主開發(fā)能力,即使設(shè)計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā),這些工具和環(huán)境一般是基于通用計算機上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號示波器等。開發(fā)時往往有主機和目標機的概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結(jié)合進行。

2.1.2 嵌入式系統(tǒng)的組成

978-7-111-65977-8-Chapter02-1.jpg

2.1.2 嵌入式系統(tǒng)的組成

嵌入式系統(tǒng)一般都由嵌入式計算機系統(tǒng)和執(zhí)行裝置組成,如圖2-1所示。嵌入式計算機系統(tǒng)是整個嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對象,它可以接受嵌入式計算機系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡單,如手機上的一個微小型的電動機,當手機處于振動接收狀態(tài)時打開;也可以很復(fù)雜,如SONY智能機器狗,上面集成了多個微小型控制電動機和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動作和感受各種狀態(tài)信息。

978-7-111-65977-8-Chapter02-2.jpg

圖2-1 嵌入式系統(tǒng)的組成

1.硬件層

硬件層中包含嵌入式微處理器,存儲器——同步動態(tài)隨機存儲器(SDRAM)、ROM、Flash等和通用設(shè)備接口和輸入/輸出接口,如A-D、D-A、I/O等。在一片嵌入式處理器基礎(chǔ)上添加電源電路、時鐘電路和存儲器電路,就構(gòu)成了一個嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。

(1)嵌入式微處理器

嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器。嵌入式微處理器與通用CPU最大的不同在于,嵌入式微處理器大多工作在為特定用戶群所專用設(shè)計的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計時趨于小型化,同時還具有很高的效率和可靠性。

嵌入式微處理器的體系結(jié)構(gòu)可以采用馮·諾依曼體系或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡指令系統(tǒng)(Reduced Instruction Set Computer,RISC)和復(fù)雜指令系統(tǒng)(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率,并使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單。

嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計,目前全世界范圍內(nèi)嵌入式微處理器已經(jīng)超過1000種,體系結(jié)構(gòu)有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、x86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導(dǎo)市場,僅以32位的產(chǎn)品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據(jù)具體的應(yīng)用而決定的。

(2)存儲器

嵌入式系統(tǒng)需要存儲器來存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲器包含高速緩沖存儲器(Cache)、主存和輔助存儲器。

1)Cache。Cache是一種容量小、速度快的存儲器陣列。它位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數(shù)據(jù)。在需要進行數(shù)據(jù)讀取操作時,微處理器盡可能地從Cache中讀取數(shù)據(jù),而不是從主存中讀取,這樣就大大改善了系統(tǒng)的性能,提高了微處理器和主存之間的數(shù)據(jù)傳輸速率。Cache的主要目標是,緩解存儲器(如主存和輔助存儲器)給微處理器內(nèi)核造成的存儲器訪問瓶頸問題,使處理速度更快,實時性更強。

在嵌入式系統(tǒng)中,Cache全部被集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache或混合Cache。Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。

2)主存。主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統(tǒng)和用戶的程序及數(shù)據(jù)。它可以位于微處理器的內(nèi)部或外部,其容量為256KB~1GB,根據(jù)具體的應(yīng)用而定,一般片內(nèi)存儲器容量小,速度快,片外存儲器容量大。

常用作主存的存儲器ROM類有NOR Flash、EPROM和PROM等;RAM類有SRAM、DRAM和SDRAM等。

其中,NOR Flash憑借其可擦寫次數(shù)多、存儲速度快、存儲容量大、價格便宜等優(yōu)點,在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。

3)輔助存儲器。輔助存儲器用來存放大數(shù)據(jù)量的程序代碼或信息,它的容量大,但讀取速度與主存相比要慢很多,可用來長期保存用戶的信息。

嵌入式系統(tǒng)中常用的輔助存儲器有硬盤、NAND Flash、CF卡、MMC和SD卡等。

(3)通用設(shè)備接口和I/O接口

嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口(如A-D、D-A)和I/O接口等,外設(shè)通過與片外其他設(shè)備或傳感器的連接來實現(xiàn)微處理器的輸入/輸出功能。每個外設(shè)通常都只有單一的功能,它可以在芯片外,也可以內(nèi)置在芯片中。外設(shè)的種類很多,可從一個簡單的串行通信設(shè)備到非常復(fù)雜的802.11無線設(shè)備。

目前嵌入式系統(tǒng)中常用的通用設(shè)備接口有模/數(shù)轉(zhuǎn)換接口(A/D)、數(shù)/模轉(zhuǎn)換接口(D/A),I/O接口有串行通信接口(RS-232)、以太網(wǎng)接口(Ethernet)、通用串行總線接口(USB)、音頻接口、視頻輸出接口(VGA)、現(xiàn)場總線(I2C)、串行外圍設(shè)備接口(SPI)和紅外線接口(IrDA)等。

2.中間層

硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動程序與硬件無關(guān),上層軟件開發(fā)人員無須關(guān)心底層硬件的具體情況,根據(jù)BSP層提供的接口即可進行開發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。BSP具有以下兩個特點。

一是硬件相關(guān)性。因為嵌入式實時系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,而作為上層軟件與硬件平臺之間的接口,BSP需要為操作系統(tǒng)提供操作和控制具體硬件的方法。

二是操作系統(tǒng)相關(guān)性。不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不同的操作系統(tǒng)具有特定的硬件接口形式。

實際上,BSP是一個介于操作系統(tǒng)和底層硬件之間的軟件層次,它包含系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計一個完整的BSP需要完成兩部分工作,即嵌入式系統(tǒng)的硬件初始化以及設(shè)計與硬件相關(guān)的設(shè)備驅(qū)動程序。

(1)嵌入式系統(tǒng)的硬件初始化

系統(tǒng)初始化過程可以分為3個主要環(huán)節(jié),按照自底向上、從硬件到軟件的次序依次為片級初始化、板級初始化和系統(tǒng)級初始化。

1)片級初始化。完成嵌入式微處理器的初始化,包括設(shè)置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部總線模式等。片級初始化把嵌入式微處理器從上電時的默認狀態(tài)逐步設(shè)置成系統(tǒng)所要求的工作狀態(tài)。這是一個純硬件的初始化過程。

2)板級初始化。完成嵌入式微處理器以外的其他硬件設(shè)備的初始化。另外,還須設(shè)置某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù),為隨后的系統(tǒng)級初始化和應(yīng)用程序的運行建立硬件和軟件環(huán)境。這是一個同時包含軟件和硬件兩部分在內(nèi)的初始化過程。

3)系統(tǒng)級初始化。該初始化過程以軟件初始化為主,主要進行操作系統(tǒng)的初始化。BSP將嵌入式微處理器的控制權(quán)轉(zhuǎn)交給嵌入式操作系統(tǒng),由操作系統(tǒng)完成余下的初始化操作,包含加載和初始化與硬件無關(guān)的設(shè)備驅(qū)動程序,建立系統(tǒng)內(nèi)存區(qū),加載并初始化其他系統(tǒng)的軟件模塊,如網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)等。最后,操作系統(tǒng)創(chuàng)建應(yīng)用程序環(huán)境,并將控制權(quán)交給應(yīng)用程序的入口。

(2)設(shè)計與硬件相關(guān)的設(shè)備驅(qū)動程序

BSP的另一個主要功能是設(shè)計與硬件相關(guān)的設(shè)備驅(qū)動程序。與硬件相關(guān)的設(shè)備驅(qū)動程序的初始化通常是一個由高到低的過程。盡管BSP包含硬件相關(guān)的設(shè)備驅(qū)動程序,但是這些設(shè)備驅(qū)動程序通常不直接由BSP使用,而是在系統(tǒng)初始化過程中由BSP將其與操作系統(tǒng)中通用的設(shè)備驅(qū)動程序關(guān)聯(lián)起來,并在隨后的應(yīng)用中由通用的設(shè)備驅(qū)動程序調(diào)用,實現(xiàn)對硬件設(shè)備的操作。與硬件相關(guān)的驅(qū)動程序是BSP設(shè)計與開發(fā)中另一個非常關(guān)鍵的環(huán)節(jié)。

3.系統(tǒng)軟件層

系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(RTOS)、文件系統(tǒng)、圖形用戶接口(Graphic User Interface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。

(1)國外著名的實時操作系統(tǒng)

國外實時操作系統(tǒng)已經(jīng)從簡單走向成熟,有代表性的產(chǎn)品主要有VxWorks、QNX、Palm OS、Windows CE等,占據(jù)了機頂盒、PDA等絕大部分市場。其實,實時操作系統(tǒng)并不是一個新生的事物,從20世紀80年代起,國際上就有一些IT組織、公司開始進行商用嵌入式系統(tǒng)和專用操作系統(tǒng)的研發(fā)。

1)VxWorks操作系統(tǒng)。VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計開發(fā)的一種實時操作系統(tǒng)。VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及良好的用戶開發(fā)環(huán)境,在實時操作系統(tǒng)領(lǐng)域內(nèi)占據(jù)一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空及航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通信、軍事演習(xí)、導(dǎo)彈制導(dǎo)及飛機導(dǎo)航等。

在美國的F-16、FA-18戰(zhàn)斗機和B-2隱形轟炸機上,甚至連1997年4月在火星表面登陸的火星探測器上也使用了VxWorks。它是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的系統(tǒng)。它支持多種處理器,如x86、i960、Sun Sparc、Moto-rola MC68xxx、MIPS RX000、Power PC、ARM、StrongARM等。大多數(shù)的VxWorks應(yīng)用程序編程接口(API)是專有的。

2)QNX操作系統(tǒng)。QNX是一個實時的、可擴充的操作系統(tǒng);它部分遵循POSIX相關(guān)標準,如POSIX.1b實時擴展;它提供了一個很小的微內(nèi)核以及一些可選的配合進程。其內(nèi)核僅提供4種服務(wù),即進程調(diào)度、進程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進程在獨立的地址空間中運行。所有其他操作系統(tǒng)服務(wù)都實現(xiàn)為協(xié)作的用戶進程,因此QNX內(nèi)核非常小巧(QNX4.x大約為12KB),而且運行速度極快。這個靈活的結(jié)構(gòu)可以使用戶根據(jù)實際的需求,將系統(tǒng)配置成微小的嵌入式操作系統(tǒng)或包括幾百個處理器的超級虛擬機操作系統(tǒng)。

POSIX表示可移植操作系統(tǒng)接口(Portable Operating System Interface,POSIX),美國電氣和電子工程師協(xié)會(IEEE)最初開發(fā)POSIX標準,是為了提高UNIX環(huán)境下應(yīng)用程序的可移植性。

然而,POSIX并不局限于UNIX及許多其他的操作系統(tǒng),例如DEC OpenVMS和Windows NT,都支持POSIX標準,尤其是IEEE Std.1003.1-1990(1995年修訂)或POSIX.1,POSIX.1提供了源代碼級別的C語言應(yīng)用編程接口(API)給操作系統(tǒng)的服務(wù)程序,例如讀/寫文件。

POSIX.1已經(jīng)被國際標準化組織(ISO)所接受,被命名為ISO/IEC 9945-1:1990標準。目前POSIX已經(jīng)發(fā)展成為一個非常龐大的標準族,某些部分正處在開發(fā)過程中。POSIX與IEEE 1003和2003家族的標準是可互換的。

3)Palm OS。3Com公司的Palm OS在掌上計算機和PDA市場上占有很大的市場份額。它有開放的操作系統(tǒng)應(yīng)用程序接口,開發(fā)商可以根據(jù)需要自行開發(fā)所需的應(yīng)用程序。目前共有3500多個應(yīng)用程序可以運行在Palm Pilot上。其中大部分應(yīng)用程序均為其他廠商和個人所開發(fā),使Palm Pilot的功能得以不斷增多。這些軟件包括計算器、各種游戲、電子寵物及地理信息等。在開發(fā)環(huán)境方面,可以在Windows 95/98/NT以及Macintosh下安裝Palm Pilot Desktop。Palm Pilot可以與流行的PC平臺上的應(yīng)用程序(如Word、Excel等)進行數(shù)據(jù)交換。

4)Windows CE操作系統(tǒng)。Microsoft WindowsCE是從整體上為有限資源的平臺設(shè)計的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計允許它對從掌上計算機到專用的工業(yè)控制器的用戶電子設(shè)備進行定制。操作系統(tǒng)的基本內(nèi)核至少需要200KB的ROM。

5)LynxOS。Lynx Real-Time Systems的LynxOS是一個分布式、嵌入式、可規(guī)模擴展的實時操作系統(tǒng),它遵循POSIX.1a,POSIX.1b和POSIX.1c標準。LynxOS支持線程概念,提供256個全局用戶線程優(yōu)先級;提供一些傳統(tǒng)的、非實時系統(tǒng)的服務(wù)特征,包括基于調(diào)用需求的虛擬內(nèi)存,一個基于Motif的用戶圖形界面,與工業(yè)標準兼容的網(wǎng)絡(luò)系統(tǒng)以及應(yīng)用開發(fā)工具。

Motif是開放軟件基金(OSF)于1989年推出的一個圖形用戶界面系統(tǒng)。由于它融合了多種圖形用戶界面產(chǎn)品中的優(yōu)點,因此得到了OSF的所有成員及廣大第三方廠商的廣泛支持。目前Motif已作為軟件產(chǎn)品在OS/2、UNIX、SysV、OSF/1、VMS、MacintoshOS、Ultrix等48種操作系統(tǒng)平臺上實現(xiàn),并可在PC、工作站、小型機和大型機等各種計算機系統(tǒng)上運行。為了講清楚Motif是什么概念,先講一下圖形用戶界面系統(tǒng)的層次結(jié)構(gòu)(讀者可查閱詳細相關(guān)資料)。一般的圖形用戶界面系統(tǒng)由6個層次構(gòu)成,即桌面管理系統(tǒng)、用戶模型、窗口模型、顯示模型、操作系統(tǒng)及硬件平臺。Motif位于用戶模型層。它建立在X Windows系統(tǒng)之上,也就是說它以X Windows系統(tǒng)作為顯示模型的窗口模型。

Motif由工具箱(Motif Toolkit)、用戶界面語言(UIL)、窗口管理程序(MWM)及風(fēng)格指南文檔(Style Guide)4部分組成。Motif Toolkit是一個具體的X Toolkit產(chǎn)品,它包括Xt Intrinsics、Motif對象元類集合和操縱這個對象元類集合的簡便函數(shù)3部分。利用Motif開發(fā)的應(yīng)用程序通常可分為兩個部分:一部分是有關(guān)應(yīng)用程序界面的代碼;另一部分是關(guān)于應(yīng)用程序具體功能的代碼。一般來說,應(yīng)用程序中這兩個部分是不會相互干擾的。例如,菜單項位置的變動、標圖的更換都不會影響應(yīng)用程序的功能。基于上述事實,Motif引入了用戶界面語言來解決用戶界面的描述問題。

與其他窗口管理程序一樣,Motif的窗口管理程序提供了一個對屏幕上的窗口進行管理的手段,同時它也強化了用戶界面視感的一致性。MWM支持Motif風(fēng)格指南所描述的各種窗口操作及顯示窗口時的各種約定。Motif的風(fēng)格指南以文檔的形式說明了在Motif環(huán)境下開發(fā)應(yīng)用程序時應(yīng)遵守的規(guī)范。

6)嵌入式Linux操作系統(tǒng)。隨著Linux操作系統(tǒng)的迅速發(fā)展,嵌入式Linux操作系統(tǒng)目前已經(jīng)有許多的版本,包括強實時的嵌入式Linux(如新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux)和一般的嵌入式Linux版本(如uClinux和Pocket Linux等)。其中,RT-Linux通過把通常的Linux任務(wù)優(yōu)先級設(shè)為最低,而使所有的實時任務(wù)的優(yōu)先級都高于它,以達到既兼容通常的Linux任務(wù)又保證強實時性能的目的。

另一種常用的嵌入式Linux操作系統(tǒng)是uClinux,它是針對沒有內(nèi)存管理單元(MMU)的處理器而設(shè)計的。它不能使用處理器的虛擬內(nèi)存管理技術(shù),它對內(nèi)存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址。它專為嵌入式系統(tǒng)做了許多小型化的工作。由于嵌入式系統(tǒng)越來越追求數(shù)字化、網(wǎng)絡(luò)化和智能化,因此原來在某些設(shè)備或領(lǐng)域中占主導(dǎo)地位的軟件系統(tǒng)越來越難以為繼(因為要達到上述要求,整個系統(tǒng)必須是開放的、提供標準的API,并且能夠方便地與眾多第三方的軟硬件溝通)。Linux操作系統(tǒng)主要特點如下。

①Linux操作系統(tǒng)是開放源碼的,不存在黑箱技術(shù),遍布全球的眾多Linux操作系統(tǒng)愛好者又是Linux操作系統(tǒng)開發(fā)的強大技術(shù)后盾。

②Linux操作系統(tǒng)的內(nèi)核小,功能強大,運行穩(wěn)定,系統(tǒng)健壯,效率高。

③Linux操作系統(tǒng)易于定制裁剪,在價格上極具競爭力。

④Linux操作系統(tǒng)不僅支持X86 CPU,而且可以支持其他數(shù)十種CPU芯片。

⑤有大量的且不斷增加的開發(fā)工具,這些工具為嵌入式系統(tǒng)的開發(fā)提供了良好的開發(fā)環(huán)境。

⑥Linux操作系統(tǒng)沿用了UNIX操作系統(tǒng)的發(fā)展方式,遵循國際標準,可以方便地獲得眾多第三方軟硬件廠商的支持。

⑦Linux操作系統(tǒng)內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,它提供了對十兆/百兆/千兆以太網(wǎng)、無線網(wǎng)絡(luò)、令牌網(wǎng)、光纖網(wǎng)及衛(wèi)星網(wǎng)等多種聯(lián)網(wǎng)方式的全面支持。

⑧在圖像處理、文件管理及多任務(wù)支持等諸多方面,Linux操作系統(tǒng)的表現(xiàn)也都非常出色,它不僅可以充當嵌入式系統(tǒng)的開發(fā)平臺,而且其本身也是嵌入式系統(tǒng)應(yīng)用開發(fā)的好工具。

7)uC/OS。uC/OS是源碼公開的實時嵌入式操作系統(tǒng)。uC/OS-Ⅱ的主要特點如下。

①公開源代碼。系統(tǒng)透明,很容易就能把操作系統(tǒng)移植到各個不同的硬件平臺上。

②可移植性強。uC/OS-Ⅱ絕大部分源碼是用ANSI C寫的,可移植性(Portable)較強。而與微處理器硬件相關(guān)的部分是用匯編語言寫的,已經(jīng)壓到最低限度,使得uC/OS-Ⅱ便于移植到其他微處理器上。

③可固化。uC/OS-Ⅱ是為嵌入式應(yīng)用而設(shè)計的,這就意味著,只要開發(fā)者有只讀存儲器化(ROMable)手段(C編譯、聯(lián)接、下載和固化),uC/OS-Ⅱ就可以嵌入到開發(fā)者的產(chǎn)品中成為產(chǎn)品的一部分。

④可“裁剪”。通過條件編譯,可以只使用uC/OS-Ⅱ中應(yīng)用程序需要的那些系統(tǒng)服務(wù)程序,以減少產(chǎn)品中的uC/OS-Ⅱ所需的存儲器空間(RAM和ROM)。

⑤占先式。uC/OS-Ⅱ完全是占先式(Preemptive)的實時內(nèi)核,這意味著uC/OS-Ⅱ總是在運行就緒條件下優(yōu)先級最高的任務(wù)。大多數(shù)商業(yè)內(nèi)核也是占先式的,uC/OS-Ⅱ在性能上和它們類似。

⑥實時多任務(wù)。uC/OS-Ⅱ不支持時間片輪轉(zhuǎn)調(diào)度法(Round-roblin Scheduling)。該調(diào)度法適用于調(diào)度優(yōu)先級平等的任務(wù)。

⑦可確定性。全部uC/OS-Ⅱ的函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有可確定性。

uC/OS-II僅是一個實時內(nèi)核,這就意味著它不像其他實時操作系統(tǒng)那樣,提供給用戶的只是一些應(yīng)用程序編程函數(shù)接口,有很多工作往往需要用戶自己去完成。把uC/OS-Ⅱ移植到目標硬件平臺上也只是系統(tǒng)設(shè)計工作的開始,后面還需要針對實際的應(yīng)用需求對uC/OS-Ⅱ進行功能擴展,包括底層的硬件驅(qū)動、文件系統(tǒng)、用戶圖形接口(GUI)等,從而建立一個實用的RTOS。

(2)國內(nèi)著名的實時操作系統(tǒng)

國內(nèi)的實時操作系統(tǒng)研究開發(fā)有兩種類型。一類是中國自主開發(fā)的實時操作系統(tǒng),如Delta OS(道系統(tǒng))、Hopen OS(女媧計劃)、EEOS、HBOS以及中科院北京軟件工程研制中心開發(fā)的CASSPDA等;另一類是基于國外操作系統(tǒng)二次開發(fā)完成的,這類操作系統(tǒng)大多是專用系統(tǒng)(在此不對這類系統(tǒng)進行介紹)。

1)DeltaOS。DeltaOS是電子科技大學(xué)嵌入式實時教研室和科銀公司(專門從事嵌入式開發(fā))聯(lián)合研制開發(fā)的全中文的嵌入式操作系統(tǒng),提供強實時和嵌入式多任務(wù)的內(nèi)核,任務(wù)響應(yīng)時間快速、確定,不隨任務(wù)負載大小改變,絕大部分的代碼由C語言編寫,具有很好的移植性。它適用于內(nèi)存要求較大、可靠性要求較高的嵌入式系統(tǒng),主要包括嵌入式實時內(nèi)核DeltaCore、嵌入式TCP/IP組件DeltaNet、嵌入式文件系統(tǒng)DeltaFile以及嵌入式圖形接口DeltaGUI等。同時,它還提供了一整套的嵌入式開發(fā)套件LamdaTool,是國內(nèi)嵌入式領(lǐng)域內(nèi)不可多得的一整套嵌入式開發(fā)應(yīng)用解決方案,已成功應(yīng)用于通信、網(wǎng)絡(luò)、信息家電等多個領(lǐng)域。

2)Hopen OS。Hopen OS是凱思集團自主研制開發(fā)的實時操作系統(tǒng),由一個體積很小的內(nèi)核及一些可以根據(jù)需要進行定制的系統(tǒng)模塊組成。其核心Hopen Kernel的規(guī)模一般為10KB左右,占用空間小,并具有實時、多任務(wù)、多線程的系統(tǒng)特征。

3)EEOS。EEOS是中科院計算所組織開發(fā)的開放源碼的實時操作系統(tǒng)。該實時操作系統(tǒng)重點支持P-Java,要求一方面小型化,另一方面能重用Linux操作系統(tǒng)的驅(qū)動和其他模塊。中科院計算所將在2或3年內(nèi)持續(xù)加大投資,以期將其擴展成能力強、功能完善且穩(wěn)定和可靠的嵌入式操作系統(tǒng)平臺,包含E2實時操作系統(tǒng)、E2工具鏈及E2仿真開發(fā)環(huán)境的完整環(huán)境。

4)HBOS。HBOS是浙江大學(xué)自主研制開發(fā)的全中文實時操作系統(tǒng)。它具有實時、多任務(wù)等特征,能提供瀏覽器、網(wǎng)絡(luò)通信和圖形窗口等服務(wù);可供進行一定的定制或二次開發(fā);能為應(yīng)用軟件開發(fā)提供API支持;可用于信息家電、智能設(shè)備和儀器儀表等領(lǐng)域的開發(fā)應(yīng)用。在HBOS平臺下,已經(jīng)成功地開發(fā)出機頂盒和數(shù)據(jù)采集等系統(tǒng)。

2.1.3 嵌入式系統(tǒng)的應(yīng)用

嵌入式系統(tǒng)技術(shù)具有非常廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括以下幾個方面。

(1)工業(yè)控制

基于嵌入式芯片的工業(yè)自動化設(shè)備將獲得長足的發(fā)展,目前已經(jīng)有大量的8位、16位、32位和64位嵌入式微控制器在應(yīng)用中。網(wǎng)絡(luò)化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源的主要途徑,如工業(yè)過程控制、數(shù)字機床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測及石油化工系統(tǒng)等。就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,低端型采用的往往是8位單片機,但隨著技術(shù)的發(fā)展,32位、64位的處理器逐漸成為工業(yè)控制設(shè)備的核心,在未來幾年內(nèi)必將獲得長足的發(fā)展。

(2)交通管理

在車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù)方面,嵌入式系統(tǒng)技術(shù)已經(jīng)獲得了廣泛的應(yīng)用,內(nèi)嵌GPS模塊、GSM模塊的移動定位終端已經(jīng)在各種運輸行業(yè)中獲得了成功的使用。目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進入了普通百姓的家庭。

(3)智能家居

智能家居是嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)域,電冰箱、空調(diào)等家用電器的網(wǎng)絡(luò)化、智能化將引領(lǐng)人們的生活步入一個嶄新的空間。即使你不在家里,也可以通過電話線、網(wǎng)絡(luò)進行遠程控制。在這些設(shè)備中,嵌入式系統(tǒng)將大有用武之地。

(4)家庭智能管理系統(tǒng)

水、電、煤氣表的遠程自動抄表以及安全防火、防盜系統(tǒng),其中嵌有的專用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實現(xiàn)更準確和更安全的性能。目前在服務(wù)領(lǐng)域(如遠程點菜器等)已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢。

(5)POS網(wǎng)絡(luò)及電子商務(wù)

公共交通無接觸智能卡(Contactless Smart Card,CSC)發(fā)行系統(tǒng)、公共電話卡發(fā)行系統(tǒng)、自動售貨機及各種智能ATM終端將全面走入人們的生活,到時手持一卡就可以行遍天下。

(6)環(huán)境工程與自然

可實現(xiàn)水文資料實時監(jiān)測、防洪體系和水土質(zhì)量監(jiān)測、堤壩安全、地震監(jiān)測網(wǎng)、實時氣象信息網(wǎng)、水源和空氣污染監(jiān)測。在很多環(huán)境惡劣、地況復(fù)雜的地區(qū),嵌入式系統(tǒng)將實現(xiàn)無人監(jiān)測。

(7)機器人

嵌入式芯片的發(fā)展將使機器人在微型化、高智能方面優(yōu)勢更加明顯,同時會大幅度降低機器人的價格,使其在工業(yè)領(lǐng)域和服務(wù)領(lǐng)域獲得更廣泛的應(yīng)用。

這些應(yīng)用中,著重于在控制方面的應(yīng)用。就遠程家用電器控制而言,除了開發(fā)出支持TCP/IP的嵌入式系統(tǒng)之外,家用電器產(chǎn)品控制協(xié)議也需要制訂和統(tǒng)一,這需要家用電器生產(chǎn)廠家來做。同樣的道理,所有基于網(wǎng)絡(luò)的遠程控制器件都需要與嵌入式系統(tǒng)之間實現(xiàn)接口,然后再由嵌入式系統(tǒng)來控制,并通過網(wǎng)絡(luò)實現(xiàn)控制。因此,開發(fā)和探討嵌入式系統(tǒng)有著十分重要的意義。

主站蜘蛛池模板: 靖西县| 康马县| 金湖县| 哈密市| 谢通门县| 焦作市| 富顺县| 南投市| 诸暨市| 桑植县| 云林县| 奉化市| 大竹县| 邯郸县| 如东县| 仙游县| 盱眙县| 莒南县| 石门县| 惠水县| 德钦县| 广东省| 利津县| 鹤壁市| 灵山县| 秭归县| 江西省| 新宾| 麻栗坡县| 彭山县| 海晏县| 永昌县| 虞城县| 滨海县| 灵武市| 宜宾市| 易门县| 林西县| 泸西县| 武义县| 内江市|