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