嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。所以,介入嵌入式系統(tǒng)行業(yè),必須有一個(gè)正確的定位。例如Palm之所以在PDA領(lǐng)域占有70%以上的市場(chǎng),就是因?yàn)槠淞⒆阌趥€(gè)人電子消費(fèi)品,著重發(fā)展圖形界面和多任務(wù)管理;而風(fēng)河的Vxworks之所以在火星車上得以應(yīng)用,則是因?yàn)槠涓邔?shí)時(shí)性和高可靠性。
嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對(duì)軟硬件進(jìn)行裁剪,滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,如果能建立相對(duì)通用的軟硬件基礎(chǔ),然后在其上開發(fā)出適應(yīng)各種需要的系統(tǒng),是一個(gè)比較好的發(fā)展模式。目前的嵌入式系統(tǒng)的核心往往是一個(gè)只有幾K到幾十K微內(nèi)核,需要根據(jù)實(shí)際的使用進(jìn)行功能擴(kuò)展或者裁減,但是由于微內(nèi)核的存在,使得這種擴(kuò)展能夠非常順利的進(jìn)行。
實(shí)際上,嵌入式系統(tǒng)本身是一個(gè)外延極廣的名詞,凡是與產(chǎn)品結(jié)合在一起的具有嵌入式特點(diǎn)的控制系統(tǒng)都可以叫嵌入式系統(tǒng),而且有時(shí)很難以給它下一個(gè)準(zhǔn)確的定義?,F(xiàn)在人們講嵌入式系統(tǒng)時(shí),某種程度上指近些年比較熱的具有操作系統(tǒng)的嵌入式系統(tǒng),本文在進(jìn)行分析和展望時(shí),也沿用這一觀點(diǎn)。
一般而言,嵌入式系統(tǒng)的構(gòu)架可以分成四個(gè)部分:處理器、存儲(chǔ)器、輸入輸出(I/O)和軟件(由于多數(shù)嵌入式設(shè)備的應(yīng)用軟件和操作系統(tǒng)都是緊密結(jié)合的,在這里我們對(duì)其不加區(qū)分,這也是嵌入式系統(tǒng)和一般的PC操作系統(tǒng)的最大區(qū)別)。
這些年來掀起了嵌入式系統(tǒng)應(yīng)用熱潮的原因主要有幾個(gè)方面:一是芯片技術(shù)的發(fā)展,使得單個(gè)芯片具有更強(qiáng)的處理能力,而且使集成多種接口已經(jīng)成為可能,眾多芯片生產(chǎn)廠商已經(jīng)將注意力集中在這方面。另一方面的原因就是應(yīng)用的需要,由于對(duì)產(chǎn)品可靠性、成本、更新?lián)Q代要求的提高,使得嵌入式系統(tǒng)逐漸從純硬件實(shí)現(xiàn)和使用通用計(jì)算機(jī)實(shí)現(xiàn)的應(yīng)用中脫穎而出,成為近年來令人關(guān)注的焦點(diǎn)。
從上面的定義,我們可以看出嵌入式系統(tǒng)的幾個(gè)重要特征:
1.系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對(duì)有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。比如Enea公司的OSE分布式系統(tǒng),內(nèi)核只有5K,而Windows的內(nèi)核?簡直沒有可比性。
2.專用性強(qiáng)。嵌入式系統(tǒng)的個(gè)性化很強(qiáng),其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進(jìn)行修改。同時(shí)針對(duì)不同的任務(wù),往往需要對(duì)系統(tǒng)進(jìn)行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級(jí)”是完全兩個(gè)概念。
3.系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于實(shí)現(xiàn)系統(tǒng)安全。
4.高實(shí)時(shí)性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲(chǔ),以提高速度;軟件代碼要求高質(zhì)量和高可靠性。
5.嵌入式軟件開發(fā)要想走向標(biāo)準(zhǔn)化,就必須使用多任務(wù)的操作系統(tǒng)。嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行;但是為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(Real-Time Operating System)開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。
6.嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。由于其本身不具備自舉開發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā),這些工具和環(huán)境一般是基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號(hào)示波器等。開發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)的概念,主機(jī)用于程序的開發(fā),目標(biāo)機(jī)作為最后的執(zhí)行機(jī),開發(fā)時(shí)需要交替結(jié)合進(jìn)行。
7. 嵌入式系統(tǒng)與具體應(yīng)用有機(jī)結(jié)合在一起,升級(jí)換代也是同步進(jìn)行。因此,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),具有較長的生命周期。
8. 為了提高運(yùn)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片中。