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

第1章 嵌入式系統(tǒng)簡介

在信息化社會(huì)中,計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到我們生活的每一個(gè)角落。對(duì)于每個(gè)人,我們需要的已經(jīng)不再僅僅是那種放在桌上處理文檔,進(jìn)行工作管理和生產(chǎn)控制的計(jì)算機(jī)——“機(jī)器”;各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過通用計(jì)算機(jī),任何一個(gè)人都可能擁有從小到大的各種使用嵌入式技術(shù)的電子產(chǎn)品,小到MP3、PDA等微型數(shù)字化產(chǎn)品,大到網(wǎng)絡(luò)家電、智能家電、車載電子設(shè)備等裝置,而在工業(yè)和服務(wù)領(lǐng)域中,使用嵌入式技術(shù)的數(shù)控機(jī)床、智能工具、工業(yè)機(jī)器人、各種類型的服務(wù)機(jī)器人等也將逐漸改變傳統(tǒng)的工業(yè)和服務(wù)方式。目前嵌入式系統(tǒng)技術(shù)已經(jīng)成為最熱門的應(yīng)用技術(shù)之一,嵌入式系統(tǒng)已經(jīng)滲透到我們?nèi)粘I畹姆椒矫婷妗1菊伦鳛楸緯拈_篇,主要介紹嵌入式系統(tǒng)的基本概念和嵌入式系統(tǒng)的開發(fā)學(xué)習(xí)方法。

1.1 嵌入式系統(tǒng)

1.1.1 系統(tǒng)

系統(tǒng)是一種根據(jù)固定的計(jì)劃、程序或者規(guī)則進(jìn)行工作、組織或者執(zhí)行一項(xiàng)或多項(xiàng)任務(wù)的方式。系統(tǒng)也是一種工作安排方法,其所有單元能夠按照一定的計(jì)劃或者程序裝配在一起,共同完成工作任務(wù)。

1.1.2 嵌入式系統(tǒng)

許多書籍都給出過嵌入式系統(tǒng)的定義,但是對(duì)于何為嵌入式系統(tǒng),什么樣的技術(shù)又可以稱為嵌入式技術(shù),仍在討論之中。以下給出一些文獻(xiàn)中對(duì)于嵌入式系統(tǒng)的定義:

Computers as Components—Principles of Embedded Computing System Design》一書中指出:什么是嵌入式計(jì)算系統(tǒng)?如果不嚴(yán)格地定義,它是任何一個(gè)包含可編程計(jì)算機(jī)的設(shè)備,但是它本身卻不是一個(gè)通用計(jì)算機(jī)。

Embedded Microcontrollers》一書作者認(rèn)為:嵌入式系統(tǒng)是一種電子系統(tǒng),它包含微處理器或者微控制器,但是我們不認(rèn)為它們是計(jì)算機(jī)——計(jì)算機(jī)隱藏或者嵌入在系統(tǒng)中。

英國電機(jī)工程師協(xié)會(huì)定義:嵌入式系統(tǒng)是控制、監(jiān)視或輔助某個(gè)設(shè)備、機(jī)器甚至工廠運(yùn)行的設(shè)備。它具備4個(gè)特征:①用來執(zhí)行特定的功能;②以微型計(jì)算機(jī)與外圍設(shè)備構(gòu)成核心;③具有嚴(yán)格的時(shí)序與穩(wěn)定度;④全自動(dòng)操作循環(huán)工作。

還可以用以下文字總結(jié)嵌入式系統(tǒng)的概念:嵌入式系統(tǒng)一般指非PC系統(tǒng),有計(jì)算機(jī)功能但又不稱為計(jì)算機(jī)的設(shè)備,它以應(yīng)用為中心,軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等綜合性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件和硬件于一體,類似于PC中BIOS的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,它是可獨(dú)立工作的“機(jī)器”或“器件”。

嵌入式系統(tǒng)的基本架構(gòu)如圖1.1所示。

圖1.1 嵌入式系統(tǒng)的基本架構(gòu)

1.1.3 嵌入式系統(tǒng)的分類

按照嵌入式系統(tǒng)的規(guī)模,可以將嵌入式系統(tǒng)分為以下三種類型:

(1)小型嵌入式系統(tǒng)

小型嵌入式系統(tǒng)采用一個(gè)8位或16位的微控制器設(shè)計(jì);硬件和軟件復(fù)雜度小,需要進(jìn)行板級(jí)設(shè)計(jì)。為這些系統(tǒng)開發(fā)嵌入式軟件時(shí),主要的編程工具是所使用的微控制器或者微處理器專用的編輯器、匯編器和交叉匯編器等,通常利用C語言開發(fā)這些系統(tǒng)的軟件。

(2)中型嵌入式系統(tǒng)

中型嵌入式系統(tǒng)采用一個(gè)16位或32位的微控制器、數(shù)字信號(hào)處理器(DSP)或精簡指令集(RISC)計(jì)算機(jī)等設(shè)計(jì),硬件和軟件復(fù)雜度都比較大。對(duì)于復(fù)雜的軟件設(shè)計(jì),可以使用如下的編程工具:RTOS、源代碼設(shè)計(jì)工具、模擬器、調(diào)試器和集成開發(fā)環(huán)境(IDE)等,軟件工具往往還提供了硬件復(fù)雜性的解決和分析方法。

(3)復(fù)雜嵌入式系統(tǒng)

復(fù)雜嵌入式系統(tǒng)的軟件和硬件都非常復(fù)雜,需要可升級(jí)的處理器或者可配置的處理器和可編程邏輯陣列(如 FPGA、CPLD等器件)。它們用于邊緣應(yīng)用,在這些應(yīng)用中,需要硬件和軟件協(xié)同設(shè)計(jì),并且都集成到最終的系統(tǒng)中,然而它們又受到硬件單元所提供的處理速度、存儲(chǔ)器等資源的限制。為了解決時(shí)間問題,提高系統(tǒng)運(yùn)行速度,可以在硬件中實(shí)現(xiàn)一部分軟件功能,例如,加密和解密算法、TCP/IP協(xié)議棧和網(wǎng)絡(luò)驅(qū)動(dòng)程序等功能。當(dāng)然,系統(tǒng)中某些硬件資源的功能模塊同樣也可以用軟件來實(shí)現(xiàn)。這些系統(tǒng)的開發(fā)工具一般十分昂貴,有時(shí)還需要為這些系統(tǒng)開發(fā)編譯器或者重定目標(biāo)的編譯器等。

由于嵌入式系統(tǒng)由硬件和軟件兩大部分組成,所以其分類也可以從硬件和軟件進(jìn)行劃分。從硬件方面來講,嵌入式系統(tǒng)的核心是嵌入式微處理器,根據(jù)其現(xiàn)狀,嵌入式處理器可以分成嵌入式微處理器(Micro Processor Unit,MPU)、嵌入式微控制器(Microcontroller Unit, MCU)、嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)和嵌入式片上系統(tǒng)(System On Chip,SOC)等。

從軟件方面來講,主要依據(jù)使用的操作系統(tǒng)類型。目前嵌入式系統(tǒng)的軟件主要有兩大類:實(shí)時(shí)系統(tǒng)和分時(shí)系統(tǒng),其中實(shí)時(shí)系統(tǒng)又分為硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)兩類。

1.2 嵌入式系統(tǒng)硬件

嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般具備4個(gè)特點(diǎn):

① 對(duì)實(shí)時(shí)和多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)操作系統(tǒng)的執(zhí)行時(shí)間減少到最低限度;

② 具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能,這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷;

③ 可擴(kuò)展的處理器結(jié)構(gòu),以便能夠迅速地?cái)U(kuò)展?jié)M足應(yīng)用的高性能的嵌入式微處理器;

④ 嵌入式微處理器的功耗要求必須很低,尤其是用于便攜式的無線及移動(dòng)的計(jì)算和通信設(shè)備,對(duì)于靠電池供電的嵌入式系統(tǒng)更是如此,功耗往往為mW甚至μW級(jí)。

1.2.1 嵌入式微處理器

微處理器是一個(gè)集中取址和處理一組通用指令的單元。任何一個(gè)CPU必須包括一個(gè)控制單元和一個(gè)ALU單元。而嵌入式微處理器采用的是“增強(qiáng)型”通用微處理器。由于嵌入式系統(tǒng)通常應(yīng)用于環(huán)境比較惡劣的環(huán)境中,因而嵌入式微處理器在工作溫度、電磁兼容性以及可靠性方面的要求較通用的標(biāo)準(zhǔn)微處理器高。根據(jù)實(shí)際嵌入式應(yīng)用要求,將嵌入式微處理器裝配在專門設(shè)計(jì)的主板上,只保留和嵌入式應(yīng)用有關(guān)的主板功能,這樣可以大幅度地減小系統(tǒng)的體積和功耗。

和工業(yè)控制計(jì)算機(jī)相比,嵌入式微處理器組成的系統(tǒng)具有體積小、重量輕、成本低、可靠性高等一系列優(yōu)點(diǎn),但在其電路板上必須包括ROM、RAM、總線接口、必要的外設(shè)等器件。由嵌入式微處理器及其存儲(chǔ)器、總線、外設(shè)等器件安裝在一塊電路主板上而構(gòu)成的系統(tǒng),就是通常所說的單板機(jī)系統(tǒng)。嵌入式微處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。

1.2.2 嵌入式微控制器

嵌入式微控制器又稱為單片機(jī),它將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片中。嵌入式微控制器一般以某種微處理器內(nèi)核為核心,根據(jù)某些典型的應(yīng)用,在芯片內(nèi)部集成了ROM/EPROM、RAM、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、看門狗、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能部件和外設(shè)。為適應(yīng)不同的應(yīng)用需求,對(duì)功能的設(shè)置和外設(shè)的配置進(jìn)行必要的修改和裁減定制,使得一個(gè)系列的單片機(jī)具有多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)核都相同,主要的不同在于存儲(chǔ)器、外設(shè)的配置和功能的設(shè)置等方面。這樣可以使單片機(jī)最大限度地和應(yīng)用需求相匹配,從而減少整個(gè)系統(tǒng)的功耗和成本。

和嵌入式微處理器相比,微控制器的單片化使應(yīng)用系統(tǒng)的體積大大減小,從而使功耗和成本大幅度下降,可靠性得到提高。由于嵌入式微控制器目前在產(chǎn)品的品種和數(shù)量上是所有嵌入式處理器中最多的,而且上述諸多優(yōu)點(diǎn)決定了微控制器是嵌入式系統(tǒng)應(yīng)用的主流,目前MCU占到嵌入式系統(tǒng)市場絕大多數(shù)的份額。微控制器的片上外設(shè)資源比較豐富,適合于控制,因此又稱為微控制器。通常,嵌入式微處理器可分為通用和半通用兩類,比較有代表性的通用系列包括S08/S12、8051、P51XA、MCS-251、MCS-96/196/296、C166/167、68000等,而比較有代表性的半通用系列,通常支持USB接口;支持SPI、I2C、CAN總線;支持LCD模塊等眾多專用的MCU和兼容系列。

1.2.3 嵌入式DSP處理器

在數(shù)字信號(hào)處理應(yīng)用中,各種數(shù)字信號(hào)處理算法往往相當(dāng)復(fù)雜,一般結(jié)構(gòu)的處理器無法實(shí)時(shí)地完成這些運(yùn)算功能。由于DSP處理器對(duì)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊的設(shè)計(jì),使其特別適合進(jìn)行實(shí)時(shí)數(shù)字信號(hào)處理。在數(shù)字濾波、FFT(快速傅里葉變換)、譜分析等方面,DSP算法正大量進(jìn)入嵌入式領(lǐng)域,DSP應(yīng)用正逐步從通用單片機(jī)中以普通指令實(shí)現(xiàn)DSP功能,過渡到采用嵌入式DSP處理器。嵌入式DSP處理器有兩類:①DSP處理器經(jīng)過單片化、EMC(電磁兼容性)改造、增加片上外設(shè)成為嵌入式DSP處理器,TI的TMS320C2000/C5000等屬于此范疇;②在通用單片機(jī)或SOC中增加DSP協(xié)處理器,例如Intel的MCS-296和Infineon的TriCore系列。另外,在有關(guān)智能方面的應(yīng)用中,也需要嵌入式DSP處理器,例如各種帶有智能邏輯的消費(fèi)類產(chǎn)品,生物信息識(shí)別終端,帶有加解密算法的鍵盤、非對(duì)稱數(shù)字用戶線路(Asymmetrical Digital Subscriber Line,ADSL)接入、實(shí)時(shí)語音壓解系統(tǒng)、虛擬現(xiàn)實(shí)顯示等各類應(yīng)用。這類智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指針線性尋址等較多,而這些正是DSP處理器的優(yōu)勢所在。嵌入式DSP處理器比較有代表性的產(chǎn)品是TI的TMS320系列和Freescale的DSP56000系列等。TMS320系列處理器包括用于控制的C2000系列、移動(dòng)通信的C5000系列,以及性能更高的C6000和C8000系列等。DSP56000目前已經(jīng)發(fā)展成為DSP56000、DSP56100、DSP56200和DSP56300等多種不同系列的DSP處理器。

1.2.4 嵌入式片上系統(tǒng)

隨著EDA(電子設(shè)計(jì)自動(dòng)化)的推廣和大規(guī)模集成電路(Large Scale Integrated Circuit, LSI)設(shè)計(jì)的普及化,以及半導(dǎo)體工藝的迅速發(fā)展,可以在一塊硅片上集成實(shí)現(xiàn)更為復(fù)雜的系統(tǒng),這就產(chǎn)生了SOC技術(shù)。各種通用處理器內(nèi)核可以作為SOC設(shè)計(jì)公司的標(biāo)準(zhǔn)庫,而嵌入式系統(tǒng)外設(shè)也成為了VLSI設(shè)計(jì)中的標(biāo)準(zhǔn)器件,可以通過標(biāo)準(zhǔn)的VHDL、Verilog等硬件語言描述保存在器件庫中,供用戶設(shè)計(jì)選擇使用。用戶根據(jù)需求定義應(yīng)用系統(tǒng),通過開發(fā)工具仿真、調(diào)試、驗(yàn)證設(shè)計(jì)出的應(yīng)用系統(tǒng)后,就可以將設(shè)計(jì)文檔等資料提交給半導(dǎo)體工廠制作樣品。這樣除某些無法集成的功能器件以外,整個(gè)嵌入式系統(tǒng)功能模塊的實(shí)現(xiàn)均可集成到一塊或幾塊芯片中,應(yīng)用系統(tǒng)電路板設(shè)計(jì)將變得越來越簡潔,這對(duì)于減小整個(gè)應(yīng)用系統(tǒng)的體積和功耗、提高可靠性等方面都非常有利。

1.3 嵌入式系統(tǒng)軟件

軟件是系統(tǒng)設(shè)計(jì)最重要的一部分,是嵌入式系統(tǒng)的核心。嵌入式系統(tǒng)需要開發(fā)給定系統(tǒng)的應(yīng)用軟件,處理器執(zhí)行指令代碼和處理數(shù)據(jù),有效、準(zhǔn)確地完成指定工作任務(wù)。在設(shè)計(jì)的最后階段,這些指令代碼和相關(guān)數(shù)據(jù)被放置到存儲(chǔ)器中,用于執(zhí)行完成相應(yīng)的工作。目前,大多數(shù)嵌入式系統(tǒng)的應(yīng)用軟件開發(fā)都會(huì)使用高級(jí)語言,例如C、C++和Java等,其中C語言選用得最多。關(guān)于嵌入式系統(tǒng)的軟件程序設(shè)計(jì),后文會(huì)有單獨(dú)章節(jié)論述。

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

嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)(包括硬、軟件系統(tǒng))設(shè)計(jì)的重要組成部分,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠硬件虛擬化,使得開發(fā)人員從復(fù)雜的驅(qū)動(dòng)程序移植和維護(hù)中解脫出來;能夠提供庫函數(shù)、驅(qū)動(dòng)程序、工具集以及應(yīng)用程序等。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有更為突出的特點(diǎn)。

1.4.1 嵌入式操作系統(tǒng)的種類

一般情況下,嵌入式操作系統(tǒng)可以分為兩類:一類是面向控制、通信等領(lǐng)域的實(shí)時(shí)操作系統(tǒng),如WindRiver公司的VxWorks、ISI的pSOS、QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus等;另一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)操作系統(tǒng),這類產(chǎn)品包括個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、機(jī)頂盒、電子書、WebPhone等。

1.4.2 嵌入式操作系統(tǒng)的發(fā)展

嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的發(fā)展大致經(jīng)歷了4個(gè)階段。

第一階段是無操作系統(tǒng)的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統(tǒng),同時(shí)具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。這種系統(tǒng)大部分應(yīng)用于一些專業(yè)性極強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒有操作系統(tǒng)的支持,通過匯編語言編程對(duì)系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。這一階段系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能都相對(duì)單一,處理效率較低,存儲(chǔ)容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價(jià)格很低,以前在國內(nèi)工業(yè)領(lǐng)域應(yīng)用較為普遍,但是已經(jīng)遠(yuǎn)遠(yuǎn)不能適應(yīng)高效的、需要大容量存儲(chǔ)介質(zhì)的現(xiàn)代化工業(yè)控制和新興的信息家電等領(lǐng)域的需求。

第二階段是以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:CPU種類繁多,通用性比較差;系統(tǒng)開銷小,效率高;一般配備系統(tǒng)仿真器,操作系統(tǒng)具有一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè),用戶界面不夠友好;系統(tǒng)主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行。

第三階段是通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段,是以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:嵌入式操作系統(tǒng)能運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核精簡、效率高,并且具有高度的模塊化和擴(kuò)展性;具備文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口(API),開發(fā)應(yīng)用程序簡單;嵌入式應(yīng)用軟件豐富。

第四階段是以基于Internet為標(biāo)志的嵌入式系統(tǒng),這是一個(gè)正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,但隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。

1.4.3 使用實(shí)時(shí)操作系統(tǒng)的必要性

嵌入式實(shí)時(shí)操作系統(tǒng)在目前的嵌入式應(yīng)用中用得越來越廣泛,尤其在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得越來越重要。

首先,嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)提高了系統(tǒng)的可靠性。在控制系統(tǒng)中,出于安全方面的考慮,不僅要求系統(tǒng)不能崩潰,還要有自愈能力;不僅要求在硬件設(shè)計(jì)方面提高系統(tǒng)的可靠性和抗干擾性,而且也應(yīng)在軟件設(shè)計(jì)方面提高系統(tǒng)的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺(tái)系統(tǒng)軟件設(shè)計(jì)在遇到強(qiáng)干擾時(shí),運(yùn)行的程序往往會(huì)產(chǎn)生異常、出錯(cuò)、跑飛,甚至死循環(huán),最終導(dǎo)致系統(tǒng)的崩潰。而實(shí)時(shí)操作系統(tǒng)管理的系統(tǒng),這種干擾可能會(huì)引起若干進(jìn)程中的一個(gè)被破壞,但可以通過運(yùn)行的系統(tǒng)監(jiān)控進(jìn)程對(duì)其進(jìn)行修復(fù)。通常情況下,這個(gè)系統(tǒng)監(jiān)視進(jìn)程用來監(jiān)視各進(jìn)程運(yùn)行狀況,遇到異常情況時(shí)通過采取一些有利于系統(tǒng)穩(wěn)定可靠的措施,如把有問題的任務(wù)清除掉等方法,能夠有效解決系統(tǒng)的干擾問題,一般系統(tǒng)不會(huì)出現(xiàn)崩潰。

其次,RTOS提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下,開發(fā)一個(gè)復(fù)雜的應(yīng)用程序,通??梢园凑哲浖こ讨械慕怦钤瓌t將整個(gè)程序分解為多個(gè)任務(wù)模塊。每個(gè)任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。商業(yè)軟件一般都提供了良好的多任務(wù)調(diào)試環(huán)境。

再次,嵌入式實(shí)時(shí)操作系統(tǒng)充分發(fā)揮了32位CPU的多任務(wù)潛力。32位CPU比8位、16位CPU快,另外它是為運(yùn)行多用戶、多任務(wù)操作系統(tǒng)而設(shè)計(jì)的,特別適合運(yùn)行多任務(wù)實(shí)時(shí)系統(tǒng)。32位CPU采用利于提高系統(tǒng)可靠性和穩(wěn)定性的設(shè)計(jì),使其可靠性容易得到保障。例如,CPU運(yùn)行狀態(tài)分為系統(tǒng)態(tài)和用戶態(tài)。將系統(tǒng)堆棧和用戶堆棧分開,以及實(shí)時(shí)地給出了CPU的運(yùn)行狀態(tài)等,允許用戶在系統(tǒng)設(shè)計(jì)中從硬件和軟件兩方面對(duì)實(shí)時(shí)內(nèi)核的運(yùn)行實(shí)施保護(hù)。如果還是采用以前的前后臺(tái)方式,則無法發(fā)揮32位CPU的優(yōu)勢。從某種意義上說,沒有操作系統(tǒng)的計(jì)算機(jī)(裸機(jī))是沒有太多應(yīng)用價(jià)值的。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時(shí)又把操作系統(tǒng)嵌入進(jìn)去,才是真正的嵌入式應(yīng)用。

1.4.4 實(shí)時(shí)操作系統(tǒng)的優(yōu)缺點(diǎn)

在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下,開發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動(dòng)就可以增加新的功能。通過將應(yīng)用程序分割成若干獨(dú)立的任務(wù)模塊,使應(yīng)用程序的設(shè)計(jì)過程大為簡化,而且對(duì)實(shí)時(shí)性要求苛刻的事件易于得到快速、可靠的處理。通過有效的系統(tǒng)服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。但是,使用嵌入式實(shí)時(shí)操作系統(tǒng)需要額外的ROM/RAM開銷,會(huì)增加CPU的額外負(fù)荷,以及內(nèi)核的開銷等。

1.5 嵌入式系統(tǒng)開發(fā)方法

嵌入式系統(tǒng)的一般開發(fā)可以參照?qǐng)D1.2所示的流程,但不同系統(tǒng)的開發(fā)應(yīng)用并不一定完全一樣,該圖只表示出了嵌入式系統(tǒng)開發(fā)過程中可能包括的部分,對(duì)于復(fù)雜的系統(tǒng),開發(fā)流程可能會(huì)更復(fù)雜一些。

圖1.2 嵌入式系統(tǒng)開發(fā)流程

第一步就是對(duì)系統(tǒng)的需求進(jìn)行分析:確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),一般分為功能性需求和非功能性需求兩個(gè)方面,功能需求主要包括輸入/輸出信號(hào)和系統(tǒng)的操作方式等;非功能需求主要包括系統(tǒng)的性能、成本、功耗、體積、重量等。

需求分析后很重要的一個(gè)步驟是設(shè)計(jì)選型,包括系統(tǒng)中用到所有元件的選型,而其中嵌入式處理器的選型尤為重要。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式處理器的品種總量已經(jīng)超過1 000種,流行的體系結(jié)構(gòu)有30多個(gè)系列。面對(duì)如此眾多的處理器,設(shè)計(jì)者需要根據(jù)項(xiàng)目需要,綜合考慮,選擇出一款合適的處理器。在選擇的過程中不僅應(yīng)考慮處理器的運(yùn)算速度、程序存儲(chǔ)器容量、數(shù)據(jù)存儲(chǔ)器容量、能夠提供I/O口數(shù)量和功耗等問題,也應(yīng)該考慮到開發(fā)工具的相關(guān)問題,比如開發(fā)工具是否容易獲取,開發(fā)者對(duì)于開發(fā)工具的熟悉程度等。

選型結(jié)束后,可以進(jìn)行硬件設(shè)計(jì)、制作及調(diào)試工作,當(dāng)然這幾步不一定一次成功,可能會(huì)有一些反復(fù),直到硬件測試完成后,可以進(jìn)入下一步軟件設(shè)計(jì)工作。

結(jié)合設(shè)計(jì)的軟件,進(jìn)行系統(tǒng)測試,系統(tǒng)測試完畢后,并不意味著嵌入式系統(tǒng)的開發(fā)過程全部結(jié)束。系統(tǒng)交付用戶使用后,可能還會(huì)發(fā)現(xiàn)一些問題,所以之后根據(jù)用戶的使用反饋,還需要對(duì)系統(tǒng)進(jìn)一步完善。

主站蜘蛛池模板: 潮州市| 科技| 曲麻莱县| 曲麻莱县| 融水| 包头市| 武平县| 蓬安县| 霍州市| 甘泉县| 苏尼特右旗| 神木县| 阳泉市| 承德市| 平度市| 洛宁县| 固原市| 绥棱县| 肇东市| 招远市| 囊谦县| 崇仁县| 闽侯县| 汨罗市| 霍城县| 易门县| 新乡市| 兴安盟| 渭源县| 华容县| 龙胜| 汤原县| 平塘县| 铜陵市| 尼勒克县| 商丘市| 酒泉市| 海兴县| 吴川市| 育儿| 周宁县|