嵌入式系統(tǒng)中的處理器技術(shù)
2 嵌入式處理器芯片的開發(fā)
2.1 一般開發(fā)過程
盡管有幾千種現(xiàn)成的芯片可供選擇,但是許多設(shè)計(jì)者需要與眾不同的特性。因此,他們開發(fā)自己的嵌入式芯片,即所謂的專用集成電路。
設(shè)計(jì)人員開始時(shí)需要從一家公司取得嵌入式微處理器的內(nèi)核的授權(quán),然后添加他自已應(yīng)用特有的特性。例如,對(duì)于數(shù)字照相機(jī)處理器來說,他可能為這種電荷耦合設(shè)備的芯片添加1個(gè)控制器。又比如,對(duì)于具有Internet功能的家電處理器來說,可以添加1個(gè)Ethernet接口。設(shè)計(jì)者然后將他的設(shè)計(jì)交給“鑄造廠”,即一家擁有“工廠”(芯片制造廠)的公司,并將部分制造量出售給其他公司。主要的制造廠有United Microelectronics公司、TSMC公司和IBM Microelectronics公司。
對(duì)于一些設(shè)計(jì)者來說,甚至這種靈活性還不夠用。他們可以找到某些公司,這些公司擁有可高度定制嵌入式微處理器內(nèi)核的許可證。利用這類內(nèi)核,可以開發(fā)出用于特殊目的的新機(jī)器級(jí)指令。對(duì)于數(shù)字相機(jī)處理器而言,1條提高JPEG圖像壓縮率的指令具有很高的價(jià)值。對(duì)于MP3音樂播放器來說,1條加速音頻解壓縮率的指令具有同樣的用處。然后,定制的設(shè)計(jì)交給“鑄造廠”進(jìn)行生產(chǎn)。
和通用計(jì)算機(jī)不同,嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣,去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用對(duì)處理器的選擇面前更具有競(jìng)爭(zhēng)力。嵌入式處理器要針對(duì)用戶的具體需求,對(duì)芯片配置進(jìn)行裁剪和添加才能達(dá)到理想的性能;但同時(shí)還受用戶訂貨量的制約。因此不同的處理器面向的用戶是不一樣的,可能是一般用戶、行業(yè)用戶或單一用戶。
嵌入式處理器的發(fā)展也體現(xiàn)出穩(wěn)定性,1個(gè)體系一般要存在8~lO年的時(shí)間。1個(gè)體系結(jié)構(gòu)及其相關(guān)的片上外設(shè)、開發(fā)工具、庫(kù)函數(shù)、嵌入式應(yīng)用產(chǎn)品是一套復(fù)雜的知識(shí)系統(tǒng),用戶和半導(dǎo)體廠商都不會(huì)輕易地放棄1種處理器。
2.2 嵌入式系統(tǒng)的開發(fā)工具
嵌入式處理器是一個(gè)復(fù)雜的高技術(shù)系統(tǒng),要在短時(shí)間內(nèi)掌握并開發(fā)出所有功能是很不容易的,而市場(chǎng)競(jìng)爭(zhēng)要求產(chǎn)品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容易掌握和使用的開發(fā)工具平臺(tái),提高用戶和程序員的時(shí)間一投入回報(bào)率。面對(duì)成百上千種處理器,選擇是一個(gè)問題,學(xué)習(xí)掌握處理器結(jié)構(gòu)及其應(yīng)用更需要時(shí)間,因此以開發(fā)工具和技術(shù)咨詢?yōu)榛A(chǔ)的整體解決方案是迫切需要的。好的開發(fā)工具除能夠開發(fā)出處理器的全部功能以外,還應(yīng)當(dāng)對(duì)用戶是友好的。
嵌入式系統(tǒng)開發(fā)工具平臺(tái)主要包括以下幾類。
2.2.1 實(shí)時(shí)在線仿真系統(tǒng)
在計(jì)算機(jī)輔助設(shè)計(jì)非常發(fā)達(dá)的今天,實(shí)時(shí)在線仿真系統(tǒng)(InCircuit Emulator,ICE)仍是進(jìn)行嵌入式應(yīng)用系統(tǒng)調(diào)試最有效的開發(fā)工具。 ICE首先可以通過實(shí)際執(zhí)行,對(duì)應(yīng)用程序進(jìn)行原理性檢驗(yàn),排除人難以發(fā)現(xiàn)的設(shè)計(jì)邏輯錯(cuò)誤。ICE的另一個(gè)主要功能是在應(yīng)用系統(tǒng)中仿真微控制器的實(shí)時(shí)執(zhí)行,發(fā)現(xiàn)和排除由于硬件干擾等引起的異常執(zhí)行行為。此外,高級(jí)的ICE帶有完善的跟蹤功能,可以將應(yīng)用系統(tǒng)的實(shí)際狀態(tài)變化、微控制器對(duì)狀態(tài)變化的反應(yīng)、以及應(yīng)用系統(tǒng)對(duì)控制的響應(yīng)等以一種錄像的方式連續(xù)記錄下來,以供分析,在分析中優(yōu)化控制過程。很多機(jī)電系統(tǒng)難以建立精確有效的數(shù)字模型,或是建立模型需要大量人力,這時(shí)采用ICE的跟蹤功能對(duì)系統(tǒng)進(jìn)行記錄和分析是一個(gè)快而有效的方法。
ICE不僅是軟硬件排錯(cuò)工具,同時(shí)也是提高和優(yōu)化系統(tǒng)性能指標(biāo)的工具。高檔ICE工具(如美國(guó)Nohau公司的產(chǎn)品)可根據(jù)用戶投資裁減功能,亦可根據(jù)需要選擇配置各種檔次的實(shí)時(shí)邏輯跟蹤器(Trace)、實(shí)時(shí)映像存儲(chǔ)器(Shadow RAM)及程序效率實(shí)時(shí)分析功能(PPA)。
2.2.2 高級(jí)語言編譯器
C語言作為一種通用的高級(jí)語言,大幅度提高了嵌入式系統(tǒng)工程的工作效率,充分發(fā)揮出嵌入式處理器日益提高的性能,縮短產(chǎn)品進(jìn)入市場(chǎng)時(shí)間。另外,C語言便于移植和修改,使產(chǎn)品的升級(jí)和繼承更迅速。更重要的是,采用C語言編寫的程序易于在不同的開發(fā)者之間進(jìn)行交流,從而促進(jìn)了嵌入式系統(tǒng)開發(fā)的產(chǎn)業(yè)化。
區(qū)別于一般計(jì)算機(jī)中的C語言編譯器,嵌入式系統(tǒng)中的C語言編譯器要專門進(jìn)行優(yōu)化,以提高編譯效率。優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅比以匯編語言編寫的同樣功能程序長(zhǎng)5%~20%。編譯效率的不同,是區(qū)別嵌入式系統(tǒng)C編譯器性能差別的重要根據(jù)之一。而C編譯器殘余的5%~10%效率差別,完全可以由現(xiàn)代微控制器的高速度、大存儲(chǔ)器空間以及產(chǎn)品提前進(jìn)入市場(chǎng)來彌補(bǔ)。
新型的微控制器指令速度不斷提高,存儲(chǔ)器空間也相應(yīng)加大,已經(jīng)達(dá)到甚至超過了目前的通用計(jì)算機(jī)中的微處理器,為嵌入式系統(tǒng)工程采用過去一直不敢問津的C++語言創(chuàng)造了條件。C++語言強(qiáng)大的類、繼承等功能更便于實(shí)現(xiàn)復(fù)雜的程序功能。但是C++語言為了支持復(fù)雜的語法,在代碼生成效率方面不免有所下降。為此,1995年初在日本成立的Embedded C++技術(shù)委員會(huì)經(jīng)過幾年的研究,針對(duì)嵌入式應(yīng)用制訂了減小代碼尺寸的EC++標(biāo)準(zhǔn)。EC++保留了C++的主要優(yōu)點(diǎn),提供對(duì)C++的向上兼容性,并滿足嵌入式系統(tǒng)設(shè)計(jì)的一些特殊要求。在嵌入式高級(jí)語言編譯器方面處于領(lǐng)先地位的Tasking公司,是EC++技術(shù)委員會(huì)成員之一,也是最先推出EC++產(chǎn)品的公司。
C/C++/EC++引入嵌入式系統(tǒng),使得嵌入式開發(fā)和個(gè)人計(jì)算機(jī)、小型機(jī)等在開發(fā)上的差別正在逐漸消除,軟件工程中的很多經(jīng)驗(yàn)、方法乃至庫(kù)函數(shù)可以移植到嵌入式系統(tǒng)。在嵌入式開發(fā)中采用高級(jí)語言,還使得硬件開發(fā)和軟件開發(fā)可以分工,從事嵌入式軟件開發(fā)不再必須精通系統(tǒng)硬件和相應(yīng)的指令集匯編。
另一種高級(jí)語言Java的發(fā)展則具有戲劇性。Java本來是為設(shè)備獨(dú)立的嵌入式系統(tǒng)設(shè)計(jì)、為了提高程序繼承性的語言,但是目前基于Java的嵌入式開發(fā)工具代碼生成長(zhǎng)度要比嵌入式C編譯工具長(zhǎng)10倍以上。因此EC++很可能在未來的一段時(shí)間內(nèi)仍是嵌入式系統(tǒng)的主流。
2.2.3 源程序模擬器
源程序模擬器是在廣泛使用的、人機(jī)接口完備的工作平臺(tái)上,如小型機(jī)和PC,通過軟件手段模擬執(zhí)行某種嵌入式處理器內(nèi)核編寫的源程序的測(cè)試工具。簡(jiǎn)單的模擬器可以通過指令解釋方式逐條執(zhí)行源程序,分配虛擬存儲(chǔ)空間和外設(shè),供程序員檢查;高級(jí)的模擬器可以利用計(jì)算機(jī)的外部接口模擬出處理器的I/O電氣信號(hào)。不同檔次和功能模擬器工具價(jià)格差距巨大。模擬器軟件獨(dú)立于處理器硬件,一般與編譯器集成在同一個(gè)環(huán)境中,是一種有效的源程序檢驗(yàn)和測(cè)試工具。但值得注意的是,模擬器畢竟是以一種處理器模擬另一種處理器的運(yùn)行,在指令執(zhí)行時(shí)間、中斷響應(yīng)、定時(shí)器等方面很可能與實(shí)際處理器有較大差別。另外,它無法和ICE一樣,仿真嵌入式系統(tǒng)在應(yīng)用系統(tǒng)中的實(shí)際執(zhí)行情況。
結(jié)語
嵌入式系統(tǒng)是將計(jì)算機(jī)直接嵌入到應(yīng)用系統(tǒng)中,是信息技術(shù)的最終產(chǎn)品。嵌入式系統(tǒng)的核心就是嵌入式處理器。嵌入式系統(tǒng)是信息產(chǎn)業(yè)走向21世紀(jì)知識(shí)經(jīng)濟(jì)時(shí)代的最重要的經(jīng)濟(jì)增長(zhǎng)點(diǎn)之一,是一個(gè)不可壟斷的工業(yè),對(duì)中國(guó)的信息產(chǎn)業(yè)來說充滿了機(jī)遇和挑戰(zhàn)。世界是多樣化的,尤其是已經(jīng)進(jìn)入后PC時(shí)代——無所不在的計(jì)算(nomadic computing)將使嵌入式處理器遍及人們能夠想象得到的各個(gè)角落,因此,每種處理器都有存在的理由,都有可伸展的方向。這一點(diǎn)應(yīng)特別引起中國(guó)信息產(chǎn)業(yè)界的關(guān)注。
評(píng)論