| 在過去一年里,基于ARM內(nèi)核的32位微控制器越來越便宜,在價格上能夠為各種不同的硬件系統(tǒng)開發(fā)商所承受,從而開啟了一個潛力幾乎無限的市場空間。唯一的障礙就是,工程師們不太愿意離開一個非常熟悉的8位架構(gòu),而轉(zhuǎn)向一個全新的開發(fā)環(huán)境。因此32位芯片廠商經(jīng)常提供一些評估套件,以盡可能加快工程師們的學(xué)習(xí)曲線。而在線的仿真支持也變得越來越普遍,USB JTAG仿真器的使用允許在調(diào)試時不對硬件設(shè)計帶來附加影響。 與這一趨勢相符的是,In-Stat公司去年的調(diào)研報告顯示,由于用戶產(chǎn)品要求使用更加完善并且功耗更低的芯片,到2009年,16位與32位的芯片的總銷售量大約會是8位芯片銷售量的兩倍。而ARM架構(gòu)恰好迎合了這一挑戰(zhàn),所以在便攜電子設(shè)備中ARM的應(yīng)用變得越來越普遍。 圖1:1個32KB代碼限制版本的IAR ARM開發(fā)軟件被包含在每個評估套件中 評估套件被證明是一個非常有用的方法,能提供給微控制器用戶——即使是那些對某種器件類型不怎么熟悉的用戶——一個平臺,將他們的想法迅速變成可用的硬件,而這正是向32位ARM架構(gòu)遷移的關(guān)鍵要素。套件通常包含一塊評估板(上面有微控制器芯片及相應(yīng)的外設(shè))、一套代碼限制或時間限制的開發(fā)軟件。大多數(shù)情況下,用戶還需要配備1個電源, 1臺JTAG仿真器和1臺用來運行開發(fā)軟件的PC。 快速開始使用評估套件 IAR公司更是改進了套件的提供方式:IAR的評估套件提供了更多的啟動項目需要的資源,包括JTAG仿真器。一個IAR 評估套件包含了用戶直接在芯片上設(shè)計、實現(xiàn)以及測試一個新應(yīng)用所需要的所有硬件和軟件。開始使用時非常簡單,只要打開包裝盒,把開發(fā)板放在工作臺上,安裝IAR 的軟件以及演示程序,然后就可以開始運行了。  表1: IAR 評估套件支持的芯片 從不同的ARM7芯片公司那里可以購買到不同的IAR評估套件,在表1中列出了現(xiàn)在可供選擇的套件。評估套件中的IAR開發(fā)軟件還包含了編程范例以及Flash燒錄功能。單鍵燒錄Flash功能通常并不包含在其它套件里,但在IAR的套件里則是標(biāo)準(zhǔn)配置。 每個評估套件包含了一塊ARM開發(fā)板和一個32K代碼編譯限制的ARM開發(fā)工具鏈 —— IAR Embedded Workbench(圖1)。對于許多微控制器芯片而言,32K的代碼足以建立起一個完整的工作系統(tǒng),而無需額外花錢購買軟件許可。對于更大的系統(tǒng),用戶可以從免費贈送的入門版本升級到256K代碼限制的基礎(chǔ)版,或無限制的專業(yè)版(含完整的支持包)。 大部分評估套件還包含了一個USB接口的J-Link ARM JTAG仿真器,以及一個20個狀態(tài)限制的visualSTATE軟件免費學(xué)習(xí)版,這是一個兼容UML的圖形化系統(tǒng)設(shè)計軟件,并具有先進的系統(tǒng)驗證和確認工具以及強大的代碼生成功能。 集成開發(fā)環(huán)境 IAR Embedded Workbench for ARM是一個集成化的專業(yè)開發(fā)環(huán)境,用于建立并調(diào)試使用C/C++的ARM嵌入式項目;诖翱诘能浖O(shè)計在圖形化界面下提供了豐富的功能和直觀的圖形環(huán)境,能幫助用戶實現(xiàn)連續(xù)的工作流程,并提供一個開放的架構(gòu),以支持實時操作系統(tǒng)以及其它第三方的插件。同時還支持MISRA C(代碼可靠性校驗), Nexus接口以及ORTI(適用于OSEK類嵌入式實時操作系統(tǒng)的通用調(diào)試插件)。  圖2:意法半導(dǎo)體的STR730評估套件 該工具鏈允許用戶在可擴展且無縫的集成環(huán)境下創(chuàng)建多個項目、編輯文件、編譯、匯編、鏈接并調(diào)試應(yīng)用。工具選項可對工程全局、一組源文件或單個源文件進行配置,而一個層次化的項目表示可以顯示出所有不同的源文件和輸出文件以及它們的配置概要。軟件包中還包括了現(xiàn)成的項目模板、代碼模板以及項目示例,并可以與源代碼控制系統(tǒng)配合使用。 IAR的ISO/ANSI C/C++編譯器能產(chǎn)生業(yè)內(nèi)最精簡、速度最快的代碼,并能支持?jǐn)U展的 嵌入式C++特性,包括模板和標(biāo)準(zhǔn)模板庫(STL)。如果使用了ARM特有的擴展關(guān)鍵字并使用軟件內(nèi)建的ARM優(yōu)化器,每個函數(shù)都可以在ARM或Thumb模式下被編譯。 C-SPY調(diào)試器被一體化地集成到IAR Embedded Workbench中,提供了豐富的調(diào)試功能,比如復(fù)雜的代碼和數(shù)據(jù)斷點,在最高優(yōu)化級別下對Stack Unwinding的完全支持,I/O和中斷的模擬,對寄存器、結(jié)構(gòu)、函數(shù)調(diào)用鏈、局部和全局變量以及外設(shè)寄存器的全面監(jiān)控。 ARM開發(fā)板 開發(fā)套件中開發(fā)板的組裝方式,取決于使用哪顆芯片及其支持的相應(yīng)外設(shè)。比如AT91SAM7開發(fā)板,包含以下所有特性:1顆AT91SAM7S128或AT91SAM7S256 MCU芯片;1個USB設(shè)備接口;2個串口通訊接口;1個Atmel加密存儲器;1個JTAG/ICE調(diào)試接口;以及4個帶緩沖的模擬輸入端。另外還提供了4個通用LED指示燈和按鍵,以及一個擴展接口和一塊原型區(qū)域。一個100腳的Atmel芯片被設(shè)計用來作為通訊橋接器,并提供CAN、以太網(wǎng)、RS232和USB接口,以及硬件上的支持,以減小MCU在通訊信道處理上的系統(tǒng)開銷。 IAR的套件相比其它套件的一個關(guān)鍵好處是:在開發(fā)過程中,開發(fā)板可以直接通過J-Link 的JTAG口從 PC的USB口取電,這就意味著不需要額外的外部電源供應(yīng)。  圖3:ARM評估套件的組成 采用不同芯片的評估板包含了這顆芯片所能支持的一套相應(yīng)的接口。IAR的STR730-SK評估套件(如圖2)演示了意法半導(dǎo)體公司最新的基于ARM7TDMI的5V STR730產(chǎn)品系列,主要針對工控和汽車電子領(lǐng)域的應(yīng)用。開發(fā)板包含了一顆144腳的STR730FZ2芯片,板上帶有256KB閃存,16KB的SRAM以及3個CAN接口。開發(fā)板上還包含了RS232和CAN的收發(fā)器,以及為外部供電(可選)配備的1個橋式整流器和5V 調(diào)整器。 如同該系列中其他的套件一樣,光盤中還含有開發(fā)板的原理圖文檔,用戶可以非常容易地自己制作開發(fā)板電路。外設(shè)包括1塊兩行16字符顯示的LCD、4個信號按鍵和1個復(fù)位鍵、1個用于調(diào)節(jié)外部模擬信號輸入電平的電位器、1個熱敏電阻、1個蜂鳴器以及16個LED。開發(fā)板尺寸是180 × 130 mm2,在開發(fā)板周邊排列著2個CAN口、4個RS232口、2個 I2C口、2個 SPI口、Port-4以及處理器模擬輸入端的插頭,還有1排I/O插針和一塊原型區(qū)域。 在大多數(shù)評估套件中提供的IAR的J-Link-KS,是一個用于ARM嵌入式系統(tǒng)調(diào)試的仿真器,這個可靠并經(jīng)濟的仿真器已被無縫地集成到IAR的ARM開發(fā)環(huán)境中。它需要被連接到 PC的USB口,并由來自USB口的電力供應(yīng)驅(qū)動工作,其性能非常穩(wěn)定,當(dāng)然也可用其它仿真器代替它。其高達600KB/s的下載速度無與倫比。 狀態(tài)機設(shè)計工具 包含在意法半導(dǎo)體和飛利浦評估套件中的visualSTATE(圖4)是一個帶狀態(tài)限制的免費版本,它能自動生成代碼,還能生成對狀態(tài)機系統(tǒng)的測試分析報告。visualSTATE是一個能用來設(shè)計、驗證、模擬、追蹤的工具,并能把狀態(tài)機模型轉(zhuǎn)換為C或C++代碼。它可以用基于UML的狀態(tài)圖來表達任何復(fù)雜的系統(tǒng),非常適合那些涉及并發(fā)結(jié)構(gòu)、互相關(guān)聯(lián)的任務(wù)或執(zhí)行線程的實時系統(tǒng)。狀態(tài)圖的使用有益于表達那些基于邏輯控制的應(yīng)用,比如像監(jiān)控、測量和控制等需要高可靠性、精簡的代碼以及實時響應(yīng)的那些應(yīng)用。  圖4:visualSTATE狀態(tài)機設(shè)計工具也被包含在許多套件中 visualSTATE有一個好處,就是它不依賴于任何RTOS操作系統(tǒng),可以與操作系統(tǒng)一起使用,也可以單獨使用。它還可以與Altia Faceplate一起配合使用,輕松地實現(xiàn)圖形化界面的系統(tǒng)原型設(shè)計。 visualSTATE能對設(shè)計好的模型進行動態(tài)規(guī)范性測試,執(zhí)行對系統(tǒng)的全面邏輯測試,如無法到達的狀態(tài)、死點狀態(tài)、死鎖狀態(tài)以及轉(zhuǎn)移沖突等。而系統(tǒng)設(shè)計上的變化也能在測試中反映出來。系統(tǒng)模型可以在圖形化的狀態(tài)、事件和轉(zhuǎn)移等系統(tǒng)級別上被模擬、被運行以及在PC或芯片上被驗證,該工具還具有自動進行對比測試和覆蓋性測試的功能。 使用該軟件最大的好處是,生成的代碼高度緊湊,可與手工代碼比擬,甚至更好。同時應(yīng)用驗證、測試和確認等功能,使開發(fā)者在系統(tǒng)硬件完成之前就能確保:系統(tǒng)的實現(xiàn)中已經(jīng)排除了多義性、未測試過的元素或事件處理中的“漏洞”。 評估套件性能評測 最近有研究比較了不同的評估套件,得出的結(jié)論是,與Atmel 支持的其它套件相比,AT91SAM7套件使用戶更容易上手。而SAM7X的代碼范例中包含的1個中斷處理和1個CAN傳輸/接受例程,被認為特別有價值。Atmel提供了兩個加密/解密的例程,可以通過XC芯片的硬件加擾功能實現(xiàn)。這些例子,以及應(yīng)用Atmel推薦的軟件開發(fā)工具(包括IAR Embedded Workbench)的啟動模板 都包含在Atmel評估套件的DVD光盤里。 從安裝IAR學(xué)習(xí)版開發(fā)工具開始,到通過SAM-ICE(J-Link的Atmel商標(biāo)版本)把代碼燒錄到Flash中去,整個過程非常順利,不像其他的某些工具,還需要用戶額外花費購買相關(guān)的軟件許可。安裝過程中建立了一個190MB的目錄,其中包含了IAR的用戶手冊,以及另外一個包含了代碼示例的專門目錄。在評估過程中,研究者發(fā)現(xiàn)IAR的JTAG能以“令人吃驚”的4MHz速度自動連接,這被認為對大多數(shù)應(yīng)用都足夠了。 本文小結(jié) 評估套件提供了一種快速、經(jīng)濟的手段,以快速開發(fā)出一個基于ARM的32位應(yīng)用。不像其他工具廠商對學(xué)習(xí)版更加嚴(yán)格的限制定義,32KB代碼限制的IAR集成開發(fā)環(huán)境通常足以應(yīng)付許多應(yīng)用,用戶往往無須花錢去購買更高級別的版本。 開發(fā)包中的J-Link仿真器的支持能力,以及通過USB口獨立給開發(fā)板供電的能力,使得IAR的開發(fā)套件能給用戶帶來獨到的好處。 (作者:Mike Skrtic 來源:電子工程專輯) |