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