ARM編譯-調(diào)試工具介紹_第1頁
ARM編譯-調(diào)試工具介紹_第2頁
ARM編譯-調(diào)試工具介紹_第3頁
ARM編譯-調(diào)試工具介紹_第4頁
ARM編譯-調(diào)試工具介紹_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM編譯-調(diào)試工具介紹 2007-08-27 17:20:08 本文已公布到博客頻道校園·教育分類 ARM編譯-調(diào)試工具介紹 作者 jackey 日期 2007-7-31 13:41:00一、編輯編譯工具:1、ADS1.2    ADS是ARM公司的集成開發(fā)環(huán)境軟件,它的功能非常強(qiáng)大。他的前身是SDT,SDT是ARM公司幾年前的開發(fā)環(huán)境軟件,目前SDT早已經(jīng)不再升級(jí)。ADS包括了四個(gè)模塊分別是:SIMULATOR;C 編譯器;實(shí)時(shí)調(diào)試器;應(yīng)用函數(shù)庫(kù)。特點(diǎn):     ADS1.2提供完整的WINDOWS界面開發(fā)環(huán)境;

2、0;    C編譯器效率極高;支持C以及C+,使工程師可以很方便的使用C語言進(jìn)行開發(fā);     提供軟件模擬仿真功能,使沒有Emulators的學(xué)習(xí)者也能夠熟悉ARM的指令系統(tǒng);     配合FFT-ICE使用,ADS1.2提供強(qiáng)大的實(shí)時(shí)調(diào)試跟蹤功能,片內(nèi)運(yùn)行情況盡在掌握;     ADS1.2需要硬件支持才能發(fā)揮強(qiáng)大功能,目前支持的硬件調(diào)試器有Multi-ICE以及兼容Multi-ICE的調(diào)試工具如FFT-ICE等;   &

3、#160; 簡(jiǎn)易下載電纜不能支持ADS1.2;     版本:ADS1.2    軟件大?。?30M     下載地址: 2、ARM REALVIEW DEVELOPER SUITE500M     下載地址: 3、IAR EWARM    Embedded Workbench for ARM 是IAR Systems公司為ARM微處理器開發(fā)的一個(gè)集成開發(fā)環(huán)境(下面簡(jiǎn)稱IAR EWARM)。比較其他的ARM 開發(fā)環(huán)境,IAR

4、EWARM 具有入門容易、使用方便和代碼緊湊等特點(diǎn)。    IAR Systems 公司目前推出的最新版本是IAR Embedded Workbench for ARM version 4.30。EWARM 中包含一個(gè)全軟件的模擬程序(simulator),用戶不需要任何硬件支持就可以模擬各種ARM內(nèi)核、外部設(shè)備甚至中斷的軟件運(yùn)行環(huán)境。從中可以了解和評(píng)估IAR EWARM的功能和使用方法。IAR EWARM的主要特點(diǎn)如下:     1、高度優(yōu)化的IAR ARM C/C+ Compiler     

5、;2、IAR ARM Assembler     3、一個(gè)通用的IAR XLINK Linker     4、IAR XAR 和XLIB 建庫(kù)程序和IAR DLIB C/C+運(yùn)行庫(kù)     5、功能強(qiáng)大的編輯器     6、項(xiàng)目管理器     7、命令行實(shí)用程序     8、IAR C-SPY 調(diào)試器(先進(jìn)的高級(jí)語言調(diào)試器    

6、; 版本:IAR EWARM 4.40a    軟件大?。?3M     下載地址:4、KEIL ARM-MDKARM    Keil uVision調(diào)試器可以幫助用戶準(zhǔn)確地調(diào)試ARM器件的片內(nèi)外圍功能(I2C、CAN、UART、SPI、中斷、I/O口、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器和PWM模塊等功能)。ULINK USB-JTAG轉(zhuǎn)換器將PC機(jī)的USB端口與用戶的目標(biāo)硬件相連(通過JTAG或OCD),使用戶可在目標(biāo)硬件上調(diào)試代碼。通過使用Keil uVision IDE/調(diào)試器和ULINK USB-JTAG

7、轉(zhuǎn)換器,用戶可以很方便地編輯、下載和在實(shí)際的目標(biāo)硬件上測(cè)試嵌入的程序。支持Philips、Samsung、 Atmel、 Analog Devices、 Sharp、 ST等眾多廠商ARM7內(nèi)核的ARM微控制器。主要特點(diǎn):     * 高效工程管理的uVision3集成開發(fā)環(huán)境     * Project/Target/Group/File的重疊管理模式,并可逐級(jí)設(shè)置;     * 高度智能彩色語法顯示;     * 支持編輯狀態(tài)的斷點(diǎn)

8、設(shè)置,并在仿真狀態(tài)下有效。     * 高速ARM指令/外設(shè)模擬器     * 高效模擬算法縮短大型軟件的模擬時(shí)間;     * 軟件模擬進(jìn)程中允許建立外部輸入信號(hào);     * 獨(dú)特的工具窗口,可快速查看寄存器和方便配置外設(shè);     * 支持C調(diào)試描述語言,可建立與實(shí)際硬件高度吻合的仿真平臺(tái);     * 支持簡(jiǎn)單/條件/邏輯表達(dá)式/存儲(chǔ)區(qū)讀寫/地址范圍

9、等斷點(diǎn)。     * 多種流行編譯工具選擇     * Keil高效率C編譯器;     * ARM公司的ADS/RealView 編譯器;     * GNU GCC 編譯器;     * 后續(xù)廠商的編譯器。     官方網(wǎng)址:         版本: MDKARM V3.10A  &#

10、160; 軟件大小:53M     下載地址:   5、WINARM (GCCARM)    WINARM  是一個(gè)免費(fèi)的開發(fā)工具,可以在 下載得到,里面除了包含 C/C+ 編譯器GCC,匯編、連接器Binutils,調(diào)試器GDB等工具,也包括了通過 GDB 使用 Wiggler JTAG 的軟件OCDRemote。所以,所需要的工具都包括在了這個(gè) WinARM 發(fā)行版中,就可以比較省心了。     官方發(fā)布網(wǎng)址:     &

11、#160;軟件大?。?0M        下載地址: 二、調(diào)試開發(fā)工具1、H-JTAG調(diào)試代理:    H-JTAG是一個(gè)免費(fèi)的ARM調(diào)試代理,程序沒有任何限制,作者BLOG: 2、LPC2000系列ISP工具:    可經(jīng)由Philips官方網(wǎng)站下載。3、Macraigor Systems Wiggler 調(diào)試工具:4、J-LINK:    IAR公司的J-LINK是一款小巧的ARM JTAG硬件調(diào)試器,它是通過USB口與PC機(jī)相連。IAR的J-LINK與該公司的嵌入式開發(fā)

12、平臺(tái)緊密結(jié)合,且完全支持即插即用。主要特征:     1)?支持所有ARM7和ARM9      2)?下載速度高達(dá)600KB/sec     3)  無需電源供電,可直接通過USB取電     4)?JTAG速度是8MHz     5)?自動(dòng)辨速     6)?監(jiān)控所有的JTAG管腳信號(hào),測(cè)量電壓    &

13、#160;7)?20pin標(biāo)準(zhǔn)JTAG連接器     8)?配帶USB口和20pin插槽     9)  支持Windows 2000 和Windows XP    更強(qiáng)的幾點(diǎn):     1、支持ADS、KEIL、IAR、WINARM、RV等幾乎所有開發(fā)環(huán)境,并且可以和IAR無縫連接;     2、支持FLASH軟件斷點(diǎn),可以設(shè)置2個(gè)以上斷點(diǎn)(無限個(gè)斷點(diǎn)),極大的提高調(diào)試效率;  

14、60;  3、帶J-Link TCP/IP server,允許通過TCP/ IP 網(wǎng)絡(luò)使用J-Link;     4、支持幾乎所有ARM7,ARM9,暫時(shí)不支持XSCALE;      * ARM7TDMI(Rev 1)      * ARM7TDMI(Rev 3)      * ARM7TDMI-S(Rev 4)      * ARM720T   

15、0;  * ARM920T      * ARM926EJ-S      * ARM946E-S    官方網(wǎng)站: 5、U-LINK:    ARM7 TDMI結(jié)構(gòu)的Keil開發(fā)套件采用最新設(shè)計(jì)的超豪華uVision3集成開發(fā)環(huán)境,內(nèi)嵌C編譯器/匯編器/工程管理器/調(diào)試器等功能功能模塊,是一款穩(wěn)定可靠高效的開發(fā)工具,適用于不同層次的的用戶,完全滿足從專業(yè)的應(yīng)用開發(fā)工程師到初學(xué)嵌入式軟件開發(fā)的學(xué)生的所有使用要求。類似于8051的智能平臺(tái)將大幅度縮短您的開發(fā)周期,各大半

16、導(dǎo)體廠商的所有ARM型號(hào)將逐一得到全面支持。    Keil uVision (for arm)調(diào)試器可以幫助用戶準(zhǔn)確地調(diào)試ARM器件的片內(nèi)外圍功能(I2C、CAN、UART、SPI、中斷、I/O口、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器和PWM模塊等功能)。ULINK USB-JTAG轉(zhuǎn)換器將PC機(jī)的USB端口與用戶的目標(biāo)硬件相連(通過JTAG或OCD),使用戶可在目標(biāo)硬件上調(diào)試代碼。    通過使用Keil uVision IDE/調(diào)試器和U-LINK USB-JTAG轉(zhuǎn)換器,用戶可以很方便地編輯、下載和在實(shí)際的目標(biāo)硬件上測(cè)試嵌入的程序。支持Philips、Sa

17、msung、 Atmel、 Analog Devices、 Sharp、 ST等眾多廠商ARM7內(nèi)核的ARM微控制器。    特點(diǎn):     * Keil高效率C編譯器;     * ARM公司的ADS/RealView編譯器;     * GNU GCC 編譯器;     * 后續(xù)廠商的編譯器。     * USB通訊接口高速下載用戶代碼;    

18、; * 存儲(chǔ)區(qū)域/寄存器查看;     * 快速單步程序運(yùn)行;     * 多種程序斷點(diǎn);     * 片內(nèi)Flash編程 。    官方網(wǎng)站: uvision3, realview,keil for arm的區(qū)別鑒于看到還有一些人在詢問uvision3, realview,keil for arm的區(qū)別,所以我在此做一個(gè)說明。希望各位有一個(gè)更深的認(rèn)識(shí)。uVision3是KEIL(an ARM company)公司開發(fā)的一個(gè)IDE開發(fā)環(huán)

19、境,包括工程管理,鏈接設(shè)置等等,相當(dāng)于一套華麗的服飾。uVision3通用于KEIL的開發(fā)工具中,例如PK51,PK166,keil for ARM,RealView MDK等等。uVision3開發(fā)環(huán)境界面友好,操作方便,性能穩(wěn)定,成為眾多MCU開發(fā)工程師的首選  RealView是ARM公司的一系列開發(fā)工具的代表,簡(jiǎn)稱RV,包括RVD,RVI,RVDK,RVDS,RVMDK等開發(fā)套件,同時(shí)也是ARM公司推出的針對(duì)ARM內(nèi)核的編譯器的名稱,該編譯器交以前的ARM編譯器,代碼編譯效率可提高30%以上。同時(shí)代碼的空間也減少20%左右,功能強(qiáng)大。是ARM公司首推的編譯器。  K

20、eil for ARM是keil公司早期針對(duì)于ARM7的一套開發(fā)工具,采用KEIL的編譯器。  Realview MDK是keil(an ARM company)公司推出的ARM開發(fā)工具,采用uVision3開發(fā)環(huán)境,結(jié)合RealView編譯器,支持ARM7,ARM9,Cortex - M3/M1的開發(fā)工具。2007年,ARM和英蓓特公司共同推出MDK中國(guó)版,同時(shí)推出了RealView的中文官方網(wǎng)站和論壇,用戶可以下載該開發(fā)工具的評(píng)估版,帶中文的幫助手冊(cè)。2008年ARM在全國(guó)八個(gè)城市舉辦首屆MCU研討會(huì),其推薦的RealView MDK開發(fā)套件深受廣大工程師的歡迎問題分析:

21、0;   ADS是ARM的老版本的開發(fā)工具,而RealView MDK是ARM新的開發(fā)工具,MDK與ADS相比較,從外觀、仿真流程以及內(nèi)部二進(jìn)制編譯鏈接工具上都有了不少改進(jìn),用法稍有不同。問題解答:1)ADS從2002年開始已經(jīng)停止對(duì)ARM新IP核的支持。2)ADS模擬器只能模擬指令集,而MDK的模擬器能提供指令集、啟動(dòng)代碼、外設(shè)、中斷等整個(gè)MCU行為的模擬。3)MDK提供性能分析器,而ADS沒有。4)MDK提供啟動(dòng)代碼生成向?qū)?,輕松完成啟動(dòng)生成,而ADS沒有此功能。5)ADS不支持CM3,MDK支持。6)MDK的項(xiàng)目管理窗口、編譯窗口、調(diào)試窗口等都在同一個(gè)界面,操作方便,

22、上手更易;而ADS的項(xiàng)目管理窗口、編譯窗口、調(diào)試窗口等需要在不同界面操作,相對(duì)不便。7)ADS不支持Flash燒寫,MDK支持。英蓓特公司的MDK電話咨詢內(nèi)容:1、價(jià)格 C-MDK(包含Ulink2仿真器) 10800元;單獨(dú)Ulink2仿真器 3300元。2、根據(jù)其技術(shù)支持工程師所述,可能不支持ARM926EJ-S 內(nèi)核。 若不支持該級(jí)別的內(nèi)核,則不能進(jìn)行模擬仿真,只能在MDK下編譯boot loader程序。 若是MDK不支持ARM926EJ-S 內(nèi)核,那么ADS能夠支持嗎?是不是更不可能支持了?因?yàn)镸DK是ADS的升級(jí)版本。3、可以提供技術(shù)支持,視頻學(xué)習(xí)資料,還可以幫助將ADS編寫的驅(qū)動(dòng)

23、程序轉(zhuǎn)換為MDK下的驅(qū)動(dòng)程序。 中文的幫助文檔。4、 MDK不支持LINUX操作系統(tǒng)的編譯、調(diào)試,只支持boot loader程序的編譯、調(diào)試,以及自己開發(fā)的應(yīng)用軟件的編譯、調(diào)試。 操作系統(tǒng)文件是通過串口、網(wǎng)口下載進(jìn)flash的,上電后,由boot loader程序從flash調(diào)入操作系統(tǒng)文件運(yùn)行。ADS1、 版本較老,但資料、開發(fā)例程較多。2、 Marvell工程師是用ADS開發(fā)88F6192的。ARM開發(fā)工具綜述(轉(zhuǎn))rfid2005 發(fā)表于 2005-12-20 13:00:00  清風(fēng) 發(fā)表于 2005-6-18 12:31:00  ARM應(yīng)用軟件的開發(fā)工具根據(jù)功能

24、的不同,分別有編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、嵌入式實(shí)時(shí)操作系統(tǒng)、函數(shù)庫(kù)、評(píng)估板、JTAG仿真器、在線仿真器等,目前世界上約有四十多家公司提供以上不同類別的產(chǎn)品。用戶選用ARM處理器開發(fā)嵌入式系統(tǒng)時(shí),選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,節(jié)省開發(fā)成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫(kù)的集成開發(fā)環(huán)境(IDE)一般來說是必不可少的,至于嵌入式實(shí)時(shí)操作系統(tǒng)、評(píng)估板等其他開發(fā)工具則可以根據(jù)應(yīng)用軟件規(guī)模和開發(fā)計(jì)劃選用。使用集成開發(fā)環(huán)境開發(fā)基于ARM的應(yīng)用軟件,包括編輯、編譯、匯編、鏈接等工作全部在PC機(jī)上即可完成,調(diào)試工作則需要配合其他的模塊或產(chǎn)品方可

25、完成,目前常見的調(diào)試方法有以下幾種:1、指令集模擬器部分集成開發(fā)環(huán)境提供了指令集模擬器,可方便用戶在PC機(jī)上完成一部分簡(jiǎn)單的調(diào)試工作,但是由于指令集模擬器與真實(shí)的硬件環(huán)境相差很大,因此即使用戶使用指令集模擬器調(diào)試通過的程序也有可能無法在真實(shí)的硬件環(huán)境下運(yùn)行,用戶最終必須在硬件平臺(tái)上完成整個(gè)應(yīng)用的開發(fā)。2、駐留監(jiān)控軟件駐留監(jiān)控軟件(Resident Monitors)是一段運(yùn)行在目標(biāo)板上的程序,集成開發(fā)環(huán)境中的調(diào)試軟件通過以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件進(jìn)行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程序的執(zhí)行、讀寫存儲(chǔ)器、讀寫寄存器、設(shè)置斷點(diǎn)等。駐留監(jiān)控軟件是一種比較低廉有

26、效的調(diào)試方式,不需要任何其他的硬件調(diào)試和仿真設(shè)備。ARM公司的Angel就是該類軟件,大部分嵌入式實(shí)時(shí)操作系統(tǒng)也是采用該類軟件進(jìn)行調(diào)試,不同的是在嵌入式實(shí)時(shí)操作系統(tǒng)中,駐留監(jiān)控軟件是作為操作系統(tǒng)的一個(gè)任務(wù)存在的。駐留監(jiān)控軟件的不便之處在于它對(duì)硬件設(shè)備的要求比較高,一般在硬件穩(wěn)定之后才能進(jìn)行應(yīng)用軟件的開發(fā),同時(shí)它占用目標(biāo)板上的一部分資源,而且不能對(duì)程序的全速運(yùn)行進(jìn)行完全仿真,所以對(duì)一些要求嚴(yán)格的情況不是很適合。3、JTAG仿真器JTAG仿真器也稱為JTAG調(diào)試器,是通過ARM芯片的JTAG邊界掃描口進(jìn)行調(diào)試的設(shè)備。JTAG仿真器比較便宜,連接比較方便,通過現(xiàn)有的JTAG邊界掃描口與 ARM CP

27、U 核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無需目標(biāo)存儲(chǔ)器,不占用目標(biāo)系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此,許多接口問題,如高頻操作限制、AC和DC參數(shù)不匹配,電線長(zhǎng)度的限制等被最小化了。使用集成開發(fā)環(huán)境配合JTAG仿真器進(jìn)行開發(fā)是目前采用最多的一種調(diào)試方式。4、在線仿真器在線仿真器使用仿真頭完全取代目標(biāo)板上的CPU,可以完全仿真ARM芯片的行為,提供更加深入的調(diào)試功能。但這類仿真器為了能夠全速仿真時(shí)鐘速度高于100MHz的處理器,通常必須采用極其復(fù)雜的設(shè)計(jì)和工藝,因而其價(jià)格比較昂貴。在線仿真器通

28、常用在ARM的硬件開發(fā)中,在軟件的開發(fā)中較少使用,其價(jià)格高昂也是在線仿真器難以普及的因素。在以下的章節(jié)中,我們選取了ARM SDT、ARM ADS、MULTI 2000、Hitools for ARM、Embest IDE for ARM五種集成開發(fā)環(huán)境向讀者作一個(gè)簡(jiǎn)單的介紹,這些產(chǎn)品在國(guó)內(nèi)有相對(duì)較暢通的銷售渠道,用戶容易購(gòu)買。前三種由國(guó)外廠商出品,歷史比較悠久,在全球范圍內(nèi)應(yīng)用較為廣泛,后兩種由國(guó)內(nèi)廠商推出,具有很高的性價(jià)比。另外選取了國(guó)際市場(chǎng)上較流行的兩種JTAG仿真器:EPI公司的JEENI和ARM公司的Multi-ICE。二、 ARM SDT ARM SDT的英文全稱是ARM Soft

29、ware Development Kit ,是ARM公司()為方便用戶在ARM芯片上進(jìn)行應(yīng)用軟件開發(fā)而推出的一整套集成開發(fā)工具。ARM SDT經(jīng)過ARM公司逐年的維護(hù)和更新,目前的最新版本是ARM SDT還提供一些實(shí)用程序,如fromELF、armprof、decaxf等,可以將ELF文件轉(zhuǎn)換為不同的格式,執(zhí)行程序分析以及解析ARM可執(zhí)行文件格式等。ARM SDT集成快速指令集模擬器,用戶可以在硬件完成以前完成一部分調(diào)試工作;ARM SDT提供ANSI C、C+、Embedded C函數(shù)庫(kù),所有庫(kù)均以lib形式提供,每個(gè)庫(kù)都分為ARM指令集和THUMB指令集兩種,同時(shí)在各指令集中也分為高字節(jié)結(jié)

30、尾(big endian)和低字節(jié)結(jié)尾(little endian)兩種。用戶使用ARM SDT開發(fā)應(yīng)用程序可選擇配合Angel駐留模塊或者JTAG仿真器進(jìn)行,目前大部分JTAG仿真器均支持ARM SDT。ARM SDT 2.50的零售價(jià)一般在4000美元到4500美元。三、 ARM ADSARM ADS的英文全稱為 ARM Developer Suite,是ARM公司推出的新一代ARM集成開發(fā)工具,用來取代ARM公司以前推出的開發(fā)工具ARM SDT,目前ARM ADS的最新版本為1.2。ARM ADS起源于ARM SDT,對(duì)一些SDT的模塊進(jìn)行了增強(qiáng)并替換了一些SDT的組成部分,用戶可以感受

31、到的最強(qiáng)烈的變化是ADS使用CodeWarrior IDE集成開發(fā)環(huán)境替代了SDT的APM,使用AXD替換了ADW,現(xiàn)代集成開發(fā)環(huán)境的一些基本特性如源文件編輯器語法高亮,窗口駐留等功能在ADS中才得以體現(xiàn)。ARM ADS支持所有ARM系列處理器包括最新的ARM9E和ARM10,除了ARM SDT支持的運(yùn)行操作系統(tǒng)外還可以在Windows2000/Me以及RedHat Linux上運(yùn)行。ARM ADS由六部分組成:? 代碼生成工具(Code Generation Tools)代碼生成工具由源程序編譯、匯編、鏈接工具集組成。ARM公司針對(duì)ARM系列每一種結(jié)構(gòu)都進(jìn)行了專門的優(yōu)化處理,這一點(diǎn)除了作為A

32、RM結(jié)構(gòu)的設(shè)計(jì)者的ARM公司,其他公司都無法辦到,ARM公司宣稱,其代碼生成工具最終生成的可執(zhí)行文件最多可以比其他公司工具套件生成的文件小20%。? 集成開發(fā)環(huán)境(CodeWarrior IDE from Metrowerks)CodeWarrior IDE是Metrowerks公司一套比較有名的集成開發(fā)環(huán)境,有不少?gòu)S商將它作為界面工具集成在自己的產(chǎn)品中。CodeWarrior IDE包含工程管理器、代碼生成接口、語法敏感編輯器、源文件和類瀏覽器、源代碼版本控制系統(tǒng)接口、文本搜索引擎等,其功能與Visual Studio相似,但界面風(fēng)格比較獨(dú)特。ADS僅在其PC機(jī)版本中集成了該IDE。 ? 調(diào)

33、試器(Debuggers)調(diào)試器部分包括兩個(gè)調(diào)試器:ARM擴(kuò)展調(diào)試器AXD(ARM eXtended Debugger )、ARM符號(hào)調(diào)試器armsd(ARM symbolic debugger)。AXD基于Windows9X/NT風(fēng)格,具有一般意義上調(diào)試器的所有功能,包括簡(jiǎn)單和復(fù)雜斷點(diǎn)設(shè)置、棧顯示、寄存器和存儲(chǔ)區(qū)顯示、命令行接口等。Armsd作為一個(gè)命令行工具輔助調(diào)試或者用在其他操作系統(tǒng)平臺(tái)上。 ? 指令集模擬器(Instruction Set Simulators)用戶使用指令集模擬器無需任何硬件即可在PC機(jī)上完成一部分調(diào)試工作。? ARM 開發(fā)包(ARM Firmware Suite)A

34、RM開發(fā)包由一些底層的例程和庫(kù)組成,幫助用戶快速開發(fā)基于ARM的應(yīng)用和操作系統(tǒng)。具體包括系統(tǒng)啟動(dòng)代碼、串行口驅(qū)動(dòng)程序、時(shí)鐘例程、中斷處理程序等,Angel調(diào)試軟件也包含在其中。? ARM應(yīng)用庫(kù)(ARM Applications Library)ADS的ARM應(yīng)用庫(kù)完善和增強(qiáng)了SDT中的函數(shù)庫(kù),同時(shí)還包括一些相當(dāng)有用的提供了源代碼的例程。用戶使用ARM ADS開發(fā)應(yīng)用程序與使用ARM SDT完全相同,同樣是選擇配合Angel駐留模塊或者JTAG仿真器進(jìn)行,目前大部分JTAG仿真器均支持ARM ADS。ARM ADS的零售價(jià)為5500美元,如果選用不固定的許可證方式則需要6500美元。四、 Mul

35、ti 2000Multi 2000是美國(guó)Green Hills軟件公司()開發(fā)的集成開發(fā)環(huán)境,支持C/C+/Embedded C+/Ada 95/Fortran編程語言的開發(fā)和調(diào)試,可運(yùn)行于Windows平臺(tái)和Unix平臺(tái),并支持各類設(shè)備的遠(yuǎn)程調(diào)試。Multi 2000支持Green Hills公司的各類編譯器以及其它遵循EABI標(biāo)準(zhǔn)的編譯器,同時(shí)Multi 2000支持眾多流行的16位、32位和64位處理器和DSP,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等,并支持多處理器調(diào)試。Multi 2000包含完成一個(gè)軟件工程所需要的所有工具,這些工具可以

36、單獨(dú)使用,也可集成第三方系統(tǒng)工具。Multi 2000各模塊相互關(guān)系以及和應(yīng)用系統(tǒng)相互作用如下圖所示: l 工程生成工具(Project Builer)工程生成工具實(shí)現(xiàn)對(duì)項(xiàng)目源文件、目標(biāo)文件、庫(kù)文件以及子項(xiàng)目的統(tǒng)一管理,顯示程序結(jié)構(gòu),檢測(cè)文件相互依賴關(guān)系,提供編譯和鏈接的圖形設(shè)置窗口,并可對(duì)編程語言的進(jìn)行特定環(huán)境設(shè)定。 l 源代碼調(diào)試器(Source-Level Debugger)源代碼調(diào)試器提供程序裝載、執(zhí)行、運(yùn)行控制和監(jiān)視所需要的強(qiáng)大的窗口調(diào)試環(huán)境,支持各類語言的顯示和調(diào)試,同時(shí)可以觀察各類調(diào)試信息。 l 事件分析器(EventAnalyzer)事件分析器提供用戶觀察和跟蹤各類應(yīng)用系統(tǒng)運(yùn)行

37、和RTOS事件的可配置的圖形化界面,它可移植到很多第三方工具或集成到實(shí)時(shí)操作系統(tǒng)中,并對(duì)以下事件提供基于時(shí)間的測(cè)量:任務(wù)上下文切換、信號(hào)量獲取/釋放、中斷和異常、消息發(fā)送/接受、用戶定義事件。 l 性能剖析器(Performance Profiler)性能剖析器提供對(duì)代碼運(yùn)行時(shí)間的剖析,可基于表格或圖形顯示結(jié)果,有效的幫助用戶優(yōu)化代碼。 l 實(shí)時(shí)運(yùn)行錯(cuò)誤檢查工具(Run-Time Error Checking)實(shí)時(shí)運(yùn)行錯(cuò)誤檢查工具提供對(duì)程序運(yùn)行錯(cuò)誤的實(shí)時(shí)檢測(cè),對(duì)程序代碼大小和運(yùn)行速度只有極小影響,并具有內(nèi)存泄漏檢測(cè)功能。l 圖形化瀏覽器(Graphical Brower)圖形化瀏覽器提供對(duì)程序

38、中的類、結(jié)構(gòu)變量、全局變量等系統(tǒng)單元的單獨(dú)顯示,并可顯示靜態(tài)的函數(shù)調(diào)用關(guān)系以及動(dòng)態(tài)的函數(shù)調(diào)用表。 l 文本編輯器(Text Editor)Multi 2000的文本編輯器是一個(gè)具有豐富特性的用戶可配置的文本圖形化編輯工具,提供關(guān)鍵字高亮顯示、自動(dòng)對(duì)齊等輔助功能。l 版本控制工具(Version Control System)Multi 2000的版本控制工具和Multi 2000環(huán)境緊密結(jié)合,提供對(duì)應(yīng)用工程的多用戶共同開發(fā)功能。Multi 2000的版本控制工具通過配置對(duì)支持很多流行的版本控制程序,如Rational公司的ClearCase等。五、 Embest IDEEmbest IDE英文

39、全稱是Embest Integrated Development Environment,是深圳市英蓓特信息技術(shù)有限公司()推出的一套應(yīng)用于嵌入式軟件開發(fā)的新一代集成開發(fā)環(huán)境。Embest IDE是一個(gè)高度集成的圖形界面操作環(huán)境,包含編輯器、編譯器、匯編器、鏈接器、調(diào)試器等工具,其界面同Microsoft Visual Studio類似(見下圖)。Embest IDE支持ARM、Motorola等多家公司不同系列的處理器,對(duì)于ARM系列處理器,目前支持到ARM9系列,包括ARM7、ARM5等低系列芯片。 Embest IDE運(yùn)行的主機(jī)環(huán)境為Windows95/98/NT/Me/2000,支持的

40、開發(fā)語言包括標(biāo)準(zhǔn)C、Embedded C和匯編語言。Embest IDE包括編輯器、編譯器、連接器、調(diào)試器、工程管理器等功能模塊,用戶同時(shí)可選配Embest JTAG仿真器。Embest IDE的所有與處理器和調(diào)試設(shè)備相關(guān)模塊采用即插即用方式,可在同一個(gè)工作區(qū)中同時(shí)管理多個(gè)應(yīng)用軟件和庫(kù)工程,各工程均可配置不同的處理器和仿真器,用戶可在各工程中無縫切換。Embest IDE主要特性:l 工程管理器:圖形化的工程管理工具,負(fù)責(zé)應(yīng)用源程序的文件組織和管理,提供編譯、鏈接、庫(kù)文件的設(shè)置窗口。l 源碼編輯器:標(biāo)準(zhǔn)的文本編輯功能,支持語法關(guān)鍵字、關(guān)鍵字色彩顯示等。l 編譯工具:集成著名優(yōu)秀自由軟件GNU的

41、GCC編譯器,并經(jīng)過優(yōu)化和嚴(yán)格測(cè)試。l 調(diào)試器:源碼級(jí)調(diào)試,提供了圖形和命令行兩種調(diào)試方式,可進(jìn)行斷點(diǎn)設(shè)置、單步執(zhí)行、異常處理,可查看修改內(nèi)存、寄存器、變量等,可查看函數(shù)棧,可進(jìn)行反匯編等。l 調(diào)試設(shè)備:Embest JTAG仿真器,一端是一個(gè)DB25的接口,連接到主機(jī)的并行口,另外一端是IDC插頭,連接到目標(biāo)板的JTAG接口。l 聯(lián)機(jī)幫助:中、英文兩種版本在線幫助文檔。用戶可以使用Embest IDE配合Embest JTAG仿真器進(jìn)行應(yīng)用軟件的開發(fā),Embest IDE同時(shí)也支持一些國(guó)內(nèi)外常用的Jtag Cable線。Embest IDE的零售價(jià)格為9600人民幣(包括Embest JTA

42、G仿真器)。六、 Hitool for ARM由Hitool International Inc.( )出品,是一種較新的ARM嵌入式應(yīng)用軟件開發(fā)系統(tǒng),主要包括Hitool ARM Debugger、GNU Compiler(內(nèi)建)、JTAG cable、評(píng)估板以及嵌入式實(shí)時(shí)操作系統(tǒng)ThreadX等。其中編譯器模塊可以替換成ARM ADS Compiler或ARM SDT Compiler。其主要特點(diǎn)如下:1) 近似MS Visual Studio的調(diào)試界面風(fēng)格,可以在Win98/ME/NT等多種Win32環(huán)境下運(yùn)行;2) 優(yōu)秀的工程管理器、源代碼和二進(jìn)制代碼編輯器、字符串搜索引擎以及調(diào)試目標(biāo)

43、的自由拖放等功能;3) 支持匯編、C以及C+源碼級(jí)調(diào)試,不僅可以通過串口和并口進(jìn)行本地調(diào)試,也可以通過TCP/IP進(jìn)行遠(yuǎn)端調(diào)試;4) 集成了S-Record、Binary和Disassembly格式的內(nèi)存上下載工具,F(xiàn)lash編程工具;5) 支持多種常用的Jtag Cable,具備通過宏和腳本實(shí)現(xiàn)的自動(dòng)化調(diào)試功能。有關(guān)Hitool for ARM的詳細(xì)資料見附錄和本書附帶光盤。七、 JEENI仿真器JEENI仿真器是美國(guó)EPI公司() 生產(chǎn)的專門用于調(diào)試ARM7系列的開發(fā)工具。它與PC之間通過以太網(wǎng)口或串口連接,與ARM7目標(biāo)板之間通過JTAG口連接。該仿真器使用獨(dú)立電源。JEENI仿真器支持

44、ARM/THUMB指令,支持匯編/高級(jí)語言調(diào)試。用戶應(yīng)用程序通過JEENI仿真器下載到目標(biāo)RAM中。通過JEENI仿真器,用戶可以觀察/修改ARM7的寄存器和存儲(chǔ)器的內(nèi)容,用戶可以在所下載的程序上設(shè)置斷點(diǎn),用戶可以以匯編/高級(jí)語言單步執(zhí)行程序,也可以全速運(yùn)行程序,用戶可以觀察高級(jí)語言變量的數(shù)據(jù)結(jié)構(gòu)及內(nèi)容并對(duì)變量的內(nèi)容在線修改。JEENI 內(nèi)部使用了一片帶有高速緩存的 ARM 處理器,支持對(duì)調(diào)試操作的快速響應(yīng),比如:?jiǎn)尾健⒆x寫存儲(chǔ)器、讀寫寄存器和下載應(yīng)用程序到目標(biāo)板。JEENI 的這種結(jié)構(gòu),允許以太網(wǎng)接口在處理器執(zhí)行JTAG指令的同時(shí)訪問存儲(chǔ)器。這種設(shè)計(jì)極大的提高了下載速度。JEENI仿真器能夠

45、很好地與SDT2.5工具連接,用戶可使用SDT的編譯器和調(diào)試界面。JEENI 對(duì)那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用戶來說是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多數(shù)第三方的調(diào)試器也都支持 JEENI。八、 Multi-ICEMulti-ICE是ARM公司自己的JTAG在線仿真器,目前的最新版本是2.1版。Multi-ICE的JTAG鏈時(shí)鐘可以設(shè)置為5 kHz到10 MHz,實(shí)現(xiàn)JTAG操作的一些簡(jiǎn)單邏輯由FPGA實(shí)現(xiàn),使得并行口的通信量最小,以提高系統(tǒng)的性能。Multi-ICE硬件支持低至1V的電壓

46、。Multi-ICE 2.1還可以外部供電,不需要消耗目標(biāo)系統(tǒng)的電源,這對(duì)調(diào)試類似手機(jī)等便攜式、電池供電設(shè)備是很重要的。Multi-ICE 2.x支持該公司的實(shí)時(shí)調(diào)試工具M(jìn)ultiTrace,MultiTrace包含一個(gè)處理器,因此可以跟蹤觸發(fā)點(diǎn)前后的軌跡,并且可以在不終止后臺(tái)任務(wù)的同時(shí)對(duì)前臺(tái)任務(wù)進(jìn)行調(diào)試,在微處理器運(yùn)行時(shí)改變存儲(chǔ)器的內(nèi)容,所有這些特性使延時(shí)降到最低。 Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM 10和Intel Xscale微結(jié)構(gòu)系列。它通過TAP控制器串聯(lián),提供多個(gè)ARM處理器以及混合結(jié)構(gòu)芯片的片上調(diào)試。它還支持低頻或變頻設(shè)計(jì)以及超低壓核的調(diào)試,并

47、且支持實(shí)時(shí)調(diào)試。Multi-ICE提供支持Windows NT4.0、Windows95/ 98/2000/Me、HPUX 10.20 和 Solaris V2.6/7.0的驅(qū)動(dòng)程序。Multi-ICE主要優(yōu)點(diǎn):l 快速的下載和單步速度。l 用戶控制的輸入/輸出位。l 可編程的JTAG位傳送速率。l 開放的接口,允許調(diào)試非ARM的核或DSP。l 網(wǎng)絡(luò)連接到多個(gè)調(diào)試器。l 目標(biāo)板供電,或外接電源。ARM基礎(chǔ)知識(shí)(1)(強(qiáng)烈推薦)ARM基礎(chǔ)知識(shí)(1)(強(qiáng)烈推薦)heshw99 發(fā)表于 2006-1-19 14:00:00 ARM基礎(chǔ)知識(shí)一ARM處理器共有37個(gè)寄存器。其中包括: *31個(gè)通用寄存器

48、,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。 *6個(gè)狀態(tài)寄存器。這些寄存器都是32位寄存器。 ARM處理器共有7種不同的處理器模式,每一種模式中都有一組相應(yīng)的寄存器組。在任何時(shí)刻,可見的寄存器包括15個(gè)通用寄存器(R0-R14),一個(gè)或兩個(gè)狀態(tài)寄存器及程序計(jì)數(shù)器(PC)。在所有的寄存器中,有些是各模式公用一個(gè)物理寄存器,有一些寄存器各模式擁有自己獨(dú)立的物理寄存器。 * 通用寄存器 *8 通用寄存器分為以下三類:備份寄存器、未備份寄存器、程序計(jì)數(shù)器PC 未備份寄存器 未備份寄存器包括R0-R7。對(duì)于每一個(gè)未備份寄存器來說,所有處理器模式下都是使用同一個(gè)物理寄存器。未備份寄存器沒有被

49、系統(tǒng)用于特別的用途,任何可采用通用寄存器的場(chǎng)合都可以使用未備份寄存器。 備份寄存器 對(duì)于R8-R12備份寄存器來說,每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器。系統(tǒng)為將備份寄存器用于任何的特殊用途,但是當(dāng)中斷處理非常簡(jiǎn)單,僅僅使用R8-R14寄存器時(shí),F(xiàn)IQ處理程序可以不必執(zhí)行保存和恢復(fù)中斷現(xiàn)場(chǎng)的指令,從而可以使中斷處理非常迅速。 對(duì)于R13,R14備份寄存器來說,每個(gè)寄存器對(duì)應(yīng)六個(gè)不同的物理寄存器,其中的一個(gè)是系統(tǒng)模式和用戶模式共用的;另外的五個(gè)對(duì)應(yīng)于其他的五種處理器模式。采用下面的記號(hào)來區(qū)分各個(gè)物理寄存器: R13_<MODE> 其中MODE可以是下面幾種模式之一:usr,svc,ab

50、t,und,irq,fiq 程序計(jì)數(shù)器PC 可以作為一般的通用寄存器使用,但有一些指令在使用R15時(shí)有一些限制。由于ARM采用了流水線處理器機(jī)制,當(dāng)正確讀取了PC的值時(shí),該值為當(dāng)前指令地址值加上8個(gè)字節(jié)。也就是說,對(duì)于ARM指令集來說,PC指向當(dāng)前指令的下兩條指令的地址。由于ARM指令是字對(duì)齊的,PC值的第0位和第一位總為 0。 需要注意的是,當(dāng)使用str/stm保存R15時(shí),保存的可能是當(dāng)前指令地址值加8個(gè)字節(jié),也可能保存的是當(dāng)前指令地址值加12個(gè)字節(jié)。到底哪種方式取決于芯片的具體設(shè)計(jì)。對(duì)于用戶來說,盡量避免使用STR/STM指令來保存R15的值。 當(dāng)成功的向R15寫入一個(gè)數(shù)值時(shí),程序?qū)⑻D(zhuǎn)到該地址執(zhí)行。由于ARM指令是字對(duì)齊的,寫入R15的值應(yīng)滿足bits1:0為0b00,具體要求arm個(gè)版本有所不同: *對(duì)于arm3以及更低的版本,寫入R15的地址值bits1:0被忽略,即寫入r15的地址值將與0xFFFF FFFC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論