當(dāng)前位置:首頁 > 百科知識 > 工控 > 正文

嵌入式系統(tǒng)

以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。

簡介

  嵌入式系統(tǒng)一般由以下幾部分組成:

  嵌入式微處理器

  外圍硬件設(shè)備

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

  特定的應(yīng)用程序

歷史

  雖然嵌入式系統(tǒng)是近幾年才風(fēng)靡起來的,但是這個概念并非新近才出現(xiàn)。從20世紀(jì)七十年代單片機的出現(xiàn)到今天各式各樣的嵌入式微處理器,微控制器的大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史?! ∽鳛橐粋€系統(tǒng),往往是在硬件和軟件交替發(fā)展的雙螺旋的支撐下逐漸趨于穩(wěn)定和成熟,嵌入式系統(tǒng)也不例外。

  嵌入式系統(tǒng)的出現(xiàn)最初是基于單片機的。70年代單片機的出現(xiàn),使得汽車、家電、工業(yè)機器、通信裝置以及成千上萬種產(chǎn)品可以通過內(nèi)嵌電子裝置來獲得更佳的使用性能:更容易使用、更快、更便宜。這些裝置已經(jīng)初步具備了嵌入式的應(yīng)用特點,但是這時的應(yīng)用只是使用8位的芯片,執(zhí)行一些單線程的程序,還談不上“系統(tǒng)”的概念。

  最早的單片機是Intel公司的 8048,它出現(xiàn)在1976年。Motorola同時推出了68HC05,Zilog公司推出了Z80系列,這些早期的單片機均含有256字節(jié)的RAM、4K的ROM、4 個8位并口、1個全雙工串行口、兩個16位定 時 器。之后在80年代初,Intel又進(jìn)一步完善了8048,在它的基礎(chǔ)上研制成功了8051,這在單片機的歷史上是值得紀(jì)念的一頁,迄今為止,51系列的單片機仍然是最為成功的單片機芯片,在各種產(chǎn)品中有著非常廣泛的應(yīng)用。

  從80年代早期開始,嵌入式系統(tǒng)的程序員開始用商業(yè)級的“操作系統(tǒng)”編寫嵌入式應(yīng)用軟件,這使得可以獲取更短的開發(fā)周期,更低的開發(fā)資金和更高的開發(fā)效率,“嵌入式系統(tǒng)”真正出現(xiàn)了。確切點說,這個時候的操作系統(tǒng)是一個實時核,這個實時核包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通訊、同步與相互排斥、中斷支持、內(nèi)存管理等功能。

  其中比較著名的有Ready System 公司的VRTX、Integrated System Incorporation (ISI)的PSOS和IMG的VxWorks、QNX公司的QNX 等。這些嵌入式操作系統(tǒng)都具有嵌入式的典型特點:它們均采用占先式的調(diào)度,響應(yīng)的時間很短,任務(wù)執(zhí)行的時間可以確定;系統(tǒng)內(nèi)核很小,具有可裁剪,可擴(kuò)充和可移植性,可以移植到各種處理器上;較強的實時和可靠性,適合嵌入式應(yīng)用。這些嵌入式實時多任務(wù)操作系統(tǒng)的出現(xiàn),使得應(yīng)用開發(fā)人員得以從小范圍的開發(fā)解放出來,同時也促使嵌入式有了更為廣闊的應(yīng)用空間。

  90年代以后,隨著對實時性要求的提高,軟件規(guī)模不斷上升,實時核逐漸發(fā)展為實時多任務(wù)操作系統(tǒng)(RTOS),并作為一種軟件平臺逐步成為目前國際嵌入式系統(tǒng)的主流。這時候更多的公司看到了嵌入式系統(tǒng)的廣闊發(fā)展前景,開始大力發(fā)展自己的嵌入式操作系統(tǒng)。除了上面的幾家老牌公司以外,還出現(xiàn)了Palm OS,WinCE,嵌入式Linux,Lynx,Nucleux,以及國內(nèi)的Hopen,Delta Os等嵌入式操作系統(tǒng)。隨著嵌入式技術(shù)的發(fā)展前景日益廣闊,相信會有更多的嵌入式操作系統(tǒng)軟件出現(xiàn)。

定義

  定義可從幾方面來理解嵌入式系統(tǒng):

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

  ◆嵌入式系統(tǒng)是將先進(jìn)的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。所以,介入嵌入式系統(tǒng)行業(yè),必須有一個正確的定位。例如Palm之所以在PDA領(lǐng)域占有70%以上的市場,就是因為其立足于個人電子消費品,著重發(fā)展圖形界面和多任務(wù)管理;而風(fēng)河的Vxworks之所以在火星車上得以應(yīng)用,則是因為其高實時性和高可靠性。

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

  實際上,嵌入式系統(tǒng)本身是一個外延極廣的名詞,凡是與產(chǎn)品結(jié)合在一起的具有嵌入式特點的控制系統(tǒng)都可以叫嵌入式系統(tǒng),而且有時很難以給它下一個準(zhǔn)確的定義?,F(xiàn)在人們講嵌入式系統(tǒng)時,某種程度上指近些年比較熱的具有操作系統(tǒng)的嵌入式系統(tǒng),本文在進(jìn)行分析和展望時,也沿用這一觀點。

  一般而言,嵌入式系統(tǒng)的構(gòu)架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件(由于多數(shù)嵌入式設(shè)備的應(yīng)用軟件和操作系統(tǒng)都是緊密結(jié)合的,在這里我們對其不加區(qū)分,這也是嵌入式系統(tǒng)和Windows系統(tǒng)的最大區(qū)別)。

關(guān)聯(lián)概念

  嵌入式系統(tǒng)中有許多非常重要的概念:

  1、嵌入式處理器

  嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元。范圍極其廣闊,從最初的4位處理器,目前仍在大規(guī)模應(yīng)用的8位單片機,到最新的受到廣泛青睞的32位,64位嵌入式CPU。

  2、實時操作系統(tǒng)

  ◆實時操作系統(tǒng) (RTOS-Real Time Operating System):

  嵌入式系統(tǒng)目前最主要的組成部分。根據(jù)操作系統(tǒng)的工作特性,實時是指物理進(jìn)程的真實時間。實時操作系統(tǒng)具有實時性,能從硬件方面支持實時控制系統(tǒng)工作的操作系統(tǒng)。其中實時性是第一要求,需要調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高計算機系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。

  3、分時操作系統(tǒng)

  對于分時操作系統(tǒng),軟件的執(zhí)行在時間上的要求,并不嚴(yán)格,時間上的錯誤,一般不會造成災(zāi)難性的后果。目前分時系統(tǒng)的強項在于多任務(wù)的管理,而實時操作系統(tǒng)的重要特點是具有系統(tǒng)的可確定性,即系統(tǒng)能對運行情況的最好和最壞等的情況能做出精確的估計。

  4、多任務(wù)操作系統(tǒng)

  系統(tǒng)支持多任務(wù)管理和任務(wù)間的同步和通信,傳統(tǒng)的單片機系統(tǒng)和DOS系統(tǒng)等對多任務(wù)支持的功能很弱,而目前的Windows是典型的多任務(wù)操作系統(tǒng)。在嵌入式應(yīng)用領(lǐng)域中,多任務(wù)是一個普遍的要求。

  5、實時操作系統(tǒng)中的重要概念

  系統(tǒng)響應(yīng)時間(System response time):系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號的時間。

  任務(wù)換道時間(Context-switching time):任務(wù)之間切換而使用的時間。

  中斷延遲(Interrupt latency):計算機接收到中斷信號到操作系統(tǒng)作出響應(yīng),并完成換道轉(zhuǎn)入中斷服務(wù)程序的時間。

  6、實時操作系統(tǒng)的工作狀態(tài)

  實時系統(tǒng)中的任務(wù)有四種狀態(tài):運行(Executing),就緒(Ready),掛起(Suspended),冬眠(Dormant)。

  運行:獲得CPU控制權(quán)。

  就緒:進(jìn)入任務(wù)等待隊列,通過調(diào)度轉(zhuǎn)為運行狀態(tài)。

  掛起:任務(wù)發(fā)生阻塞,移出任務(wù)等待隊列,等待系統(tǒng)實時事件的發(fā)生而喚醒,從而轉(zhuǎn)為就緒或運行。

  冬眠:任務(wù)完成或錯誤等原因被清除的任務(wù),也可以認(rèn)為是系統(tǒng)中不存在的任務(wù)。

  任何時刻系統(tǒng)中只能有一個任務(wù)在運行狀態(tài),各任務(wù)按級別通過時間片分別獲得對CPU的訪問權(quán)。

嵌入式開發(fā)板簡介

  嵌入式開發(fā)板就是半導(dǎo)體行業(yè)分工合作的載體之一,它為開發(fā)產(chǎn)品的廠商提供基本的底層硬件、系統(tǒng)和驅(qū)動等資源,使得用戶不需要再投入人力和時間來完成這些底層的工作。

  功能與作用

  嵌入式開發(fā)板,從概念上來講,與軟件外包非常類似(軟件外包是指軟件外包提供商為了集中精力從事核心競爭力業(yè)務(wù),降低項目成本,同時提高項目實施的質(zhì)量,將自己的軟件項目中的全部或部分工作發(fā)包給合適的軟件企業(yè)去完成)。

  嵌入式開發(fā)板牽涉的軟件工作分工像嵌入式產(chǎn)品的硬件、引導(dǎo)代碼、驅(qū)動程序、文件系統(tǒng)、協(xié)議層、基本應(yīng)用軟件這些方面,都是電子產(chǎn)品的公共和通用部分,并不是產(chǎn)品能夠形成差異化的關(guān)鍵技術(shù),在這個講求分工合作的時代,如果是這部分的工作量比較大,或者是廠商沒有相關(guān)的開發(fā)人員的時候,就能夠選擇由第三方完成這些軟件開發(fā)的工作,加快產(chǎn)品研發(fā)的進(jìn)程,實現(xiàn)產(chǎn)品的迅速上市,搶占市場先機。

  那么,作為“發(fā)包方”的開發(fā)板用戶,選擇開發(fā)板的時候,實際上選擇的不僅是一個硬件板子、開發(fā)板提供的源代碼等資源,而是選擇一個合作伙伴,一個為用戶提供軟硬件服務(wù)的合作伙伴。與軟件外包這種合作方式類似,用戶和供應(yīng)商之間的合作更多是軟件方面的合作,需要用戶和供應(yīng)商之間根據(jù)產(chǎn)品的具體需求進(jìn)行充分溝通,供應(yīng)商要根據(jù)用戶的需求不斷地調(diào)用人員進(jìn)行配合。像我們在支持客戶進(jìn)行產(chǎn)品開發(fā)的過程中,遇到的比如更改文件系統(tǒng)、串口測試、64M Flash換成128M Flash等問題,大多情況都是要通過軟件方式來解決的,這就形成了嵌入式行業(yè)供應(yīng)商的售后支持和客戶研發(fā)的高度互動性。

  也就是說,嵌入式開發(fā)板是用戶軟件外包的載體,相對于傳統(tǒng)的軟件外包業(yè)務(wù),開發(fā)板實際上能夠為用戶提供硬件實物和軟件服務(wù)兩方面的價值。

  目前,在嵌入式行業(yè)中,除了嵌入式開發(fā)板,外包的形式也趨向多樣化,用戶能夠根據(jù)自己的產(chǎn)品需要,向供應(yīng)商提出定制要求,由供應(yīng)商提供硬件設(shè)計和驅(qū)動移植等方面的服務(wù);有可能電子廠商會自己設(shè)計硬件,由嵌入式系統(tǒng)廠商幫助其完成系統(tǒng)的移植、驅(qū)動的完善工作。從行業(yè)鏈上的作用來看,嵌入式系統(tǒng)廠商能夠采用靈活的服務(wù)方式,利用自己的技術(shù)優(yōu)勢幫助電子產(chǎn)品廠商縮短產(chǎn)品開發(fā)周期、節(jié)省設(shè)計資源方面的投資,促進(jìn)電子產(chǎn)品廠商的快速發(fā)展。

特點

  這些年來掀起了嵌入式系統(tǒng)應(yīng)用熱潮的原因主要有幾個方面:一是芯片技術(shù)的發(fā)展,使得單個芯片具有更強的處理能力,而且使集成多種接口已經(jīng)成為可能,眾多芯片生產(chǎn)廠商已經(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)核只有5K,而Windows的內(nèi)核?簡直沒有可比性。

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

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

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

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

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

系統(tǒng)組成

  簡介

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

  下面對嵌入式計算機系統(tǒng)的組成進(jìn)行介紹。

  硬件層

  硬件層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口(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)CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率并使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單。

  嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計,目前全世界嵌入式微處理器已經(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ù)。在需要進(jìn)行數(shù)據(jù)讀取操作時,微處理器盡可能的從Cache中讀取數(shù)據(jù),而不是從主存中讀取,這樣就大大改善了系統(tǒng)的性能,提高了微處理器和主存之間的數(shù)據(jù)傳輸速率。Cache的主要目標(biāo)就是:減小存儲器(如主存和輔助存儲器)給微處理器內(nèi)核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。

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

  2>主存

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

  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è)備接口有A/D(模/數(shù)轉(zhuǎn)換接口)、D/A(數(shù)/模轉(zhuǎn)換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網(wǎng)接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現(xiàn)場總線)、SPI(串行外圍設(shè)備接口)和IrDA(紅外線接口)等。

  中間層

  硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動程序與硬件無關(guān),上層軟件開發(fā)人員無需關(guān)心底層硬件的具體情況,根據(jù)BSP 層提供的接口即可進(jìn)行開發(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)的硬件初始化以及BSP功能,設(shè)計硬件相關(guān)的設(shè)備驅(qū)動。

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

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

  片級初始化

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

  板級初始化

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

  系統(tǒng)初始化

  該初始化過程以軟件初始化為主,主要進(jìn)行操作系統(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、硬件相關(guān)的設(shè)備驅(qū)動程序

  BSP的另一個主要功能是硬件相關(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é)。

  系統(tǒng)軟件層

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

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

  嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是一種用途廣泛的系統(tǒng)軟件,過去它主要應(yīng)用與工業(yè)控制和國防系統(tǒng)領(lǐng)域。EOS負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。目前,已推出一些應(yīng)用比較成功的EOS產(chǎn)品系列。隨著Internet技術(shù)的發(fā)展、信息家電的普及應(yīng)用及EOS的微型化和專業(yè)化,EOS開始從單一的弱功能向高專業(yè)化的強功能方向發(fā)展。嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性、軟件固化以及應(yīng)用的專用性等方面具有較為突出的特點。EOS是相對于一般操作系統(tǒng)而言的,它除具備了一般操作系統(tǒng)最基本的功能,如任務(wù)調(diào)度、同步機制、中斷處理、文件功能等外,還有以下特點:

  (1)可裝卸性。開放性、可伸縮性的體系結(jié)構(gòu)。

 ?。?)強實時性。EOS實時性一般較強,可用于各種設(shè)備控制當(dāng)中。

 ?。?)統(tǒng)一的接口。提供各種設(shè)備驅(qū)動接日。

 ?。?)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學(xué)易用。

 ?。?)提供強大的網(wǎng)絡(luò)功能,支持TCP門P協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動計算設(shè)備預(yù)留接口。

 ?。?)強穩(wěn)定性,弱交互性。嵌入式系統(tǒng)一旦開始運行就不需要用戶過多的干預(yù),這就要負(fù)責(zé)系統(tǒng)管理的EOS臭有較強的穩(wěn)定性。嵌入式操作系統(tǒng)的用戶接日一般不提供操作命令,它通過系統(tǒng)調(diào)用命令向用戶程序提供服務(wù)。

 ?。?)固化代碼。在嵌入系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計算機的ROM中。輔助存儲器在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應(yīng)該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng)。

         (8)更好的硬件適應(yīng)性,也就是良好的移植性。

應(yīng)用領(lǐng)域

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

  工業(yè)控制

  基于嵌入式芯片的工業(yè)自動化設(shè)備將獲得長足的發(fā)展,目前已經(jīng)有大量的8、16、32 位嵌入式微控制器在應(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ā)展。

  交通管理

  在車輛導(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)品進(jìn)入了普通百姓的家庭,只需要幾千元,就可以隨時隨地找到你的位置。

  信息家電

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

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

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

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

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

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

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

  機器人

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

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

現(xiàn)狀和發(fā)展趨勢

  發(fā)展現(xiàn)狀

  隨著信息化,智能化,網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。美國著名未來學(xué)家尼葛洛龐帝99年1月訪華時預(yù)言,4~5年后嵌入式智能(電腦) 工具將是PC和因特網(wǎng)之后最偉大的發(fā)明。我國著名嵌入式系統(tǒng)專家沈緒榜院士98年11月在武漢全國第11次微機學(xué)術(shù)交流會上發(fā)表的《計算機的發(fā)展與技術(shù)》一文中,對未來10年以嵌入式芯片為基礎(chǔ)的計算機工業(yè)進(jìn)行了科學(xué)的闡述和展望。1999年世界電子產(chǎn)品產(chǎn)值已超過12000億美元,2000年達(dá)到13000億美元,預(yù)計2005年,銷售額將達(dá)18000億美元。

  進(jìn)入20世紀(jì)90年代,嵌入式技術(shù)全面展開,目前已成為通信和消費類產(chǎn)品的共同發(fā)展方向。在通信領(lǐng)域,數(shù)字技術(shù)正在全面取代模擬技術(shù)。在廣播電視領(lǐng)域,美國已開始由模擬電視向數(shù)字電視轉(zhuǎn)變,歐洲的DVB(數(shù)字電視廣播)技術(shù)已在全球大多數(shù)國家推廣。數(shù)字音頻廣播(DAB)也已進(jìn)入商品化試播階段。而軟件、集成電路和新型元器件在產(chǎn)業(yè)發(fā)展中的作用日益重要。所有上述產(chǎn)品中,都離不開嵌入式系統(tǒng)技術(shù)。象前途無可計量的維納斯計劃生產(chǎn)機頂盒,核心技術(shù)就是采用32位以上芯片級的嵌入式技術(shù)。在個人領(lǐng)域中,嵌入式產(chǎn)品將主要是個人商用,作為個人移動的數(shù)據(jù)處理和通訊軟件。由于嵌入式設(shè)備具有自然的人機交互界面,GUI屏幕為中心的多媒體界面給人很大的親和力。手寫文字輸入、語音撥號上網(wǎng)、收發(fā)電子郵件以及彩色圖形、圖像已取得初步成效。

  目前一些先進(jìn)的PDA在顯示屏幕上已實現(xiàn)漢字寫入、短消息語音發(fā)布,日用范圍也將日益廣闊。對于企業(yè)專用解決方案,如物流管理、條碼掃描、移動信息采集等,這種小型手持嵌入式系統(tǒng)將發(fā)揮巨大的作用。自動控制領(lǐng)域,不僅可以用于ATM機,自動售貨機,工業(yè)控制等專用設(shè)備,和移動通訊設(shè)備結(jié)合、GPS、娛樂相結(jié)合,嵌入式系統(tǒng)同樣可以發(fā)揮巨大的作用。近期長虹推出的ADSL產(chǎn)品,結(jié)合網(wǎng)絡(luò),控制,信息,這種智能化,網(wǎng)絡(luò)化將是家電發(fā)展的新趨勢。

  硬件方面,不僅有各大公司的微處理器芯片,還有用于學(xué)習(xí)和研發(fā)的各種配套開發(fā)包。目前低層系統(tǒng)和硬件平臺經(jīng)過若干年的研究,已經(jīng)相對比較成熟,實現(xiàn)各種功能的芯片應(yīng)有盡有。而且巨大的市場需求給我們提供了學(xué)習(xí)研發(fā)的資金和技術(shù)力量。

  從軟件方面講,也有相當(dāng)部分的成熟軟件系統(tǒng)。國外商品化的嵌入式實時操作系統(tǒng),已進(jìn)入我國市場的有WindRiver、Microsoft、QNX和Nuclear等產(chǎn)品。我國自主開發(fā)的嵌入式系統(tǒng)軟件產(chǎn)品如科銀(CoreTek)公司的嵌入式軟件開發(fā)平臺DeltaSystem,中科院推出的Hopen嵌入式操作系統(tǒng)(雖然還不夠完善)。同時由于是研究熱點,所以我們可以在網(wǎng)上找到各種各樣的免費資源,從各大廠商的開發(fā)文檔,到各種驅(qū)動,程序源代碼,甚至很多廠商還提供微處理器的樣片。這對于我們從事這方面的研發(fā),無疑是個資源寶庫。對于軟件設(shè)計來說,不管是上手還是進(jìn)一步開發(fā),都相對來說比較容易。這就使得很多生手能夠比較快的進(jìn)入研究狀態(tài),利于發(fā)揮大家的積極創(chuàng)造性。

  今天嵌入式系統(tǒng)帶來的工業(yè)年產(chǎn)值已超過了1萬億美元,1997年來自美國嵌入式系統(tǒng)大會(Embedded System Conference)的報告指出,未來5年僅基于嵌入式計算機系統(tǒng)的全數(shù)字電視產(chǎn)品,就將在美國產(chǎn)生一個每年1500億美元的新市場。美國汽車大王福特公司的高級經(jīng)理也曾宣稱,“福特出售的‘計算能力’已超過了IBM”,由此可以想見嵌入式計算機工業(yè)的規(guī)模和廣度。1998年11月在美國加州舉行的嵌入式系統(tǒng)大會上,基于RTOS的Embedded Internet成為一個技術(shù)新熱點。在國內(nèi),“維納斯計劃”和“女鍋計劃”一度鬧得沸沸揚揚,機頂盒、信息j家電這兩年更成了IT熱點,而實際上這些都是嵌入式系統(tǒng)在特定環(huán)境下的一個特定應(yīng)用。據(jù)調(diào)查,目前國際上已有兩百多種嵌入式操作系統(tǒng),而各種各樣的開發(fā)工具、應(yīng)用于嵌入式開發(fā)的儀器設(shè)備更是不可勝數(shù)。在國內(nèi),雖然嵌入式應(yīng)用、開發(fā)很廣,但該領(lǐng)域卻幾乎還是空白,只有三兩家公司和極少數(shù)人員在從事這方面工作。由此可見,嵌入式系統(tǒng)技術(shù)發(fā)展的空間真是無比廣大。

  發(fā)展趨勢

  信息時代,數(shù)字時代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機,為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),從中我們可以看出未來嵌入式系統(tǒng)的幾大發(fā)展趨勢:

  1.嵌入式開發(fā)是一項系統(tǒng)工程,因此要求嵌入式系統(tǒng)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還需要提供強大的硬件開發(fā)工具和軟件包支持。

  目前很多廠商已經(jīng)充分考慮到這一點,在主推系統(tǒng)的同時,將開發(fā)環(huán)境也作為重點推廣。比如三星在推廣Arm7,Arm9芯片的同時還提供開發(fā)板和版及支持包(BSP),而WindowCE在主推系統(tǒng)時也提供Embedded VC++作為開發(fā)工具,還有Vxworks的Tonado開發(fā)環(huán)境,DeltaOS的Limda編譯環(huán)境等等都是這一趨勢的典型體現(xiàn)。當(dāng)然,這也是市場競爭的結(jié)果。

  2.網(wǎng)絡(luò)化、信息化的要求隨著因特網(wǎng)技術(shù)的成熟、帶寬的提高日益提高,使得以往單一功能的設(shè)備如電話、手機、冰箱、微波爐等功能不再單一,結(jié)構(gòu)更加復(fù)雜。

  這就要求芯片設(shè)計廠商在芯片上集成更多的功能,為了滿足應(yīng)用功能的升級,設(shè)計師們一方面采用更強大的嵌入式處理器如32位、64位RISC芯片或信號處理器DSP增強處理能力,同時增加功能接口,如USB,擴(kuò)展總線類型,如CAN BUS,加強對多媒體、圖形等的處理,逐步實施片上系統(tǒng)(SOC)的概念。軟件方面采用實時多任務(wù)編程技術(shù)和交叉開發(fā)工具技術(shù)來控制功能復(fù)雜性,簡化應(yīng)用程序設(shè)計、保障軟件質(zhì)量和縮短開發(fā)周期。如HP

  3.網(wǎng)絡(luò)互聯(lián)成為必然趨勢。

  未來的嵌入式設(shè)備為了適應(yīng)網(wǎng)絡(luò)發(fā)展的要求,必然要求硬件上提供各種網(wǎng)絡(luò)通信接口。傳統(tǒng)的單片機對于網(wǎng)絡(luò)支持不足,而新一代的嵌入式處理器已經(jīng)開始內(nèi)嵌網(wǎng)絡(luò)接口,除了支持TCP/IP協(xié)議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件。軟件方面系統(tǒng)系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入Web瀏覽器,真正實現(xiàn)隨時隨地用各種設(shè)備上網(wǎng)。

  4.精簡系統(tǒng)內(nèi)核、算法,降低功耗和軟硬件成本。

  未來的嵌入式產(chǎn)品是軟硬件緊密結(jié)合的設(shè)備,為了減低功耗和成本,需要設(shè)計者盡量精簡系統(tǒng)內(nèi)核,只保留和系統(tǒng)功能緊密相關(guān)的軟硬件,利用最低的資源實現(xiàn)最適當(dāng)?shù)墓δ?,這就要求設(shè)計者選用最佳的編程模型和不斷改進(jìn)算法,優(yōu)化編譯器性能。因此,既要軟件人員有豐富的硬件知識,又需要發(fā)展先進(jìn)嵌入式軟件技術(shù),如Java、Web和WAP等。

  5.提供友好的多媒體人機界面

  嵌入式設(shè)備能與用戶親密接觸,最重要的因素就是它能提供非常友好的用戶界面。圖像界面,靈活的控制方式,使得人們感覺嵌入式設(shè)備就象是一個熟悉的老朋友。這方面的要求使得嵌入式軟件設(shè)計者要在圖形界面,多媒體技術(shù)上痛下苦功。手寫文字輸入、語音撥號上網(wǎng)、收發(fā)電子郵件以及彩色圖形、圖像都會使使用者獲得自由的感受。目前一些先進(jìn)的PDA在顯示屏幕上已實現(xiàn)漢字寫入、短消息語音發(fā)布,但一般的嵌入式設(shè)備距離這個要求還有很長的路要走。

  參考文獻(xiàn):  《嵌入式處理器分類與現(xiàn)狀》 呂京建 肖海橋

                             《DSP發(fā)展應(yīng)用縱橫談》 戴 敏


內(nèi)容來自百科網(wǎng)