嵌入式開(kāi)發(fā)工具發(fā)展趨勢(shì)
近年來(lái)嵌入式領(lǐng)域得到了迅猛發(fā)展,嵌入式系統(tǒng)已經(jīng)無(wú)處不在,嵌入式系統(tǒng)的開(kāi)發(fā)也變得越來(lái)越復(fù)雜,軟硬件的復(fù)雜度都大幅度增加。而市場(chǎng)對(duì)于嵌入式系統(tǒng)的開(kāi)發(fā)周期要求也越來(lái)越高,這對(duì)于嵌入式開(kāi)發(fā)工具提出了新的挑戰(zhàn)。
1 嵌入式開(kāi)發(fā)工具面臨的挑戰(zhàn)
嵌入式開(kāi)發(fā)過(guò)程相對(duì)PC應(yīng)用程序開(kāi)發(fā)而言,具有其特殊的復(fù)雜性,涉及更多的硬件以及操作系統(tǒng)底層的知識(shí),缺乏統(tǒng)一的軟硬件平臺(tái),系統(tǒng)建模、工程管理和項(xiàng)目管理的工具也非常缺乏。隨著32位嵌入式處理器的應(yīng)用越來(lái)越廣泛,市場(chǎng)對(duì)于嵌入式系統(tǒng)的性能要求不斷提高。當(dāng)前嵌入式系統(tǒng)的復(fù)雜程度已不是過(guò)去8位單片機(jī)系統(tǒng)所能比擬的了,這對(duì)項(xiàng)目的開(kāi)發(fā)、測(cè)試、管理都提出了新的要求,過(guò)去的嵌入式開(kāi)發(fā)工具已經(jīng)越來(lái)越無(wú)法適應(yīng)新的需求??傮w上講,當(dāng)前的嵌入式開(kāi)發(fā)對(duì)工具提出了以下新需求:
(1)如何從4/8/16位處理器過(guò)渡到32位處理器?
中國(guó)很多嵌入式工程師都具有8位處理器的開(kāi)發(fā)經(jīng)驗(yàn),多數(shù)高校畢業(yè)生在學(xué)校也是接受8位處理器的培訓(xùn)。目前,8位處理器在微控制器領(lǐng)域仍具有重要的地位,但是2008年32位微控制器的全球出貨量第一次超過(guò)了8位。引起這一市場(chǎng)變化的原因有兩個(gè):其一是市場(chǎng)需要性能更高、功能更復(fù)雜的產(chǎn)品,8位處理器在功能上已經(jīng)無(wú)法滿(mǎn)足要求;其二是32位RISC微處理器價(jià)格已經(jīng)非常便宜了,例如ST公司基于Cortex―M3的STM32處理器,最便宜的僅僅1美元。
32位處理器與8位處理器在體系結(jié)構(gòu)上還是有著很大區(qū)別的,如何讓熟悉8位處理器的工程師迅速熟悉并能進(jìn)行32位處理器的開(kāi)發(fā)非常重要。這就需要為那些熟悉8位處理器開(kāi)發(fā)的工程師提供一種界面、接口他們都熟悉的32位處理器開(kāi)發(fā)工具。ARM公司推出的RealViewMDK是一個(gè)典型范例:MDK的IDE采用了中國(guó)工程師非常熟悉的μVision(Keil),內(nèi)部則使用了ARM公司的專(zhuān)業(yè)編譯工具RVCT,這樣熟悉8位處理器的工程師可以非常平滑地過(guò)渡到32位處理器開(kāi)發(fā)中。
(2)如何加快開(kāi)發(fā)周期?
嵌入式系統(tǒng)現(xiàn)在越來(lái)越復(fù)雜,硬件復(fù)雜性和軟件復(fù)雜性大大增加。由于很多硬件已經(jīng)高度集成,這導(dǎo)致在目前的嵌入式系統(tǒng)開(kāi)發(fā)中,軟件開(kāi)發(fā)占80%以上的工作量。因此現(xiàn)在某些嵌入式軟件開(kāi)發(fā)已經(jīng)逐步達(dá)到中型軟件項(xiàng)目的程度,而隨著軟件規(guī)模的增大,軟件按時(shí)交付率將會(huì)下降。但是市場(chǎng)對(duì)嵌入式系統(tǒng)開(kāi)發(fā)周期要求卻越來(lái)越短。
嵌入式開(kāi)發(fā)中軟件和硬件的依賴(lài)性非常高,軟件開(kāi)發(fā)和硬件開(kāi)發(fā)需要協(xié)同進(jìn)行。如果能減少兩者之間的依賴(lài)性,尤其是軟件開(kāi)發(fā)對(duì)硬件開(kāi)發(fā)的依賴(lài),那么將可以大大加快開(kāi)發(fā)周期。
(3)各類(lèi)工具之間如何配合?
嵌入式開(kāi)發(fā)過(guò)程中會(huì)使用到各種工具,包括IDE環(huán)境、編譯工具、軟硬件調(diào)試工具、操作系統(tǒng)等。根據(jù)項(xiàng)目的需求,往往會(huì)選擇來(lái)自不同廠商的工具進(jìn)行組合。如果能非常方便地將這些不同廠商的工具無(wú)縫地配合起來(lái),則可以大大減少不必要的工作,這對(duì)于開(kāi)發(fā)人員而言很重要。
(4)如何調(diào)試復(fù)雜的系統(tǒng)?
嵌入式系統(tǒng)越來(lái)越復(fù)雜,很多嵌入式系統(tǒng)都開(kāi)始使用各種操作系統(tǒng),并使用多核結(jié)構(gòu)。但是傳統(tǒng)的JTAG調(diào)試方法能力非常有限,尤其是當(dāng)目標(biāo)設(shè)備實(shí)時(shí)運(yùn)行的時(shí)候,開(kāi)發(fā)人員通常只能使用串口打印輸出的方法來(lái)做調(diào)試。當(dāng)需要分析內(nèi)存錯(cuò)誤、多任務(wù)之間關(guān)系、異?;蛑袛嗵幚怼⑺吣J降惹闆r時(shí),目前的調(diào)試方法基本無(wú)效,系統(tǒng)實(shí)時(shí)運(yùn)行時(shí)基本是黑箱運(yùn)行。這就需要更加強(qiáng)大的調(diào)試工具和手段來(lái)為開(kāi)發(fā)復(fù)雜的嵌入式應(yīng)用提供支持。
(5)如何提高編譯性能?
新的商業(yè)應(yīng)用嵌入式系統(tǒng)中,多處理器系統(tǒng)和各種多核處理器已經(jīng)成為趨勢(shì),這些新的硬件架構(gòu)會(huì)帶來(lái)非常可觀的效益。但是這種多核和多處理器的結(jié)構(gòu)給編譯系統(tǒng)提出了非常高的要求。例如一個(gè)ARM+DSP的系統(tǒng),如何將工作合理地分配給ARM處理器和DSP處理器,這非常重要。優(yōu)秀的編譯工具,應(yīng)該能使它們能實(shí)現(xiàn)“1+1>2”。
(6)如何實(shí)現(xiàn)圖形化開(kāi)發(fā)?
圖形化開(kāi)發(fā)在計(jì)算機(jī)軟硬件開(kāi)發(fā)中已不是新問(wèn)題了。圖形化的開(kāi)發(fā)方法能大大減少開(kāi)發(fā)工作量和復(fù)雜程度。
評(píng)論