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