AXD調(diào)試工具的使用-詳解.ppt_第1頁
AXD調(diào)試工具的使用-詳解.ppt_第2頁
AXD調(diào)試工具的使用-詳解.ppt_第3頁
AXD調(diào)試工具的使用-詳解.ppt_第4頁
AXD調(diào)試工具的使用-詳解.ppt_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章 AXD調(diào)試工具的使用,一、AXD調(diào)試工具介紹 二、AXD調(diào)試方法,一、AXD調(diào)試工具介紹,1.1 AXD調(diào)試介紹,AXD支持多種調(diào)試方法:JTAG、Angel、ARMulator等等。 AXD調(diào)試工具具有如下一些特點: 提供合適的調(diào)試方法,比如中斷功能、斷點設(shè)置、連續(xù)運行或非連續(xù)運 行等; 能夠執(zhí)行所設(shè)計的計算機指令,檢查軟件程序設(shè)計是否存在缺陷; 能夠方便地監(jiān)測調(diào)試對象的運行和程序的運行; 能夠根據(jù)調(diào)試命令實時控制硬件動作,檢測硬件電路設(shè)計是否合理。,1.使用JTAG的調(diào)試方法,調(diào)試系統(tǒng)一般包括三個部分:調(diào)試主機、協(xié)議轉(zhuǎn)換器和調(diào)試目標(biāo)。,通過JTAG接口直接和ARM內(nèi)核對話,實現(xiàn)了如下功能: 1. 程序下載; 2. 停止或啟動程序運行; 3. 觀察和修改內(nèi)存; 4. 觀察和修改ARM的內(nèi)核運行狀態(tài).,2使用Angel的調(diào)試方法,3使用ARMulator的調(diào)試方法 AXD提供的一種軟件仿真的調(diào)試方法,ARMulator調(diào)試方法。ARMulator調(diào)試方法是一種脫離硬件調(diào)試軟件的方法。這種方法所使用的工具軟件是armulate.dll。,Angel是AXD中的另一種調(diào)試方法或工具。這種方法的軟件支持工具(調(diào)試環(huán)境)稱為 ADP(Angel Debug Protocol),其文件名是 remote_a.dll。 Angel調(diào)試方法的結(jié)構(gòu)包括計算機和目標(biāo)板兩部分。這種調(diào)試方法在目標(biāo)板上必須含有調(diào)試監(jiān)控程序。計算機和目標(biāo)板的通信實際上是計算機與調(diào)試監(jiān)控程序之間的通信。,AXD調(diào)試結(jié)構(gòu),1.2 AXD調(diào)試步驟,AXD調(diào)試界面,各菜單的含義如下: File 用于文件管理; Processor Views 用于處理器選項管理,可以選擇在調(diào)試時觀察處理器的某些選項:如寄存器、變量和存儲器等; System Views 用于對調(diào)試目標(biāo)管理,這是處理器以外的內(nèi)容,比如其他寄存器和斷點等; Options 用于對AXD進(jìn)行配置,如進(jìn)行目標(biāo)配置; Excute 控制程序運行,如單步、執(zhí)行到斷點等。,進(jìn)行程序調(diào)試前的兩個基本步驟:,1 目標(biāo)配置 單擊菜單“Options”“Configure Target”,彈出一個Target Environments選項窗口。這個窗口中有幾個系統(tǒng)加載的選項,如圖所示。,使用ARMulate作為調(diào)試工具,點擊“Configure”,則出現(xiàn)如圖所示的配 置對話框。,2 加載映像文件,加載已經(jīng)編譯和鏈接過的映像文件: 進(jìn)入菜單File后,選擇上面第1項 Load Image加載映像文件,彈出一個文件搜索對話窗口。加載的映像文件在工程項目文件夾中,擴展名是AXF,文件名稱和工程項目名稱相同。 打開映像文件之后,大部分選項被激活。可以進(jìn)行其他選項設(shè)置,也可以開始調(diào)試。 注意:AXD沒有復(fù)位功能,調(diào)試過程中如果想重新運行程序,需要重新加載程序。,1.3 View菜單介紹,Processor Views菜單,System Views菜單,1.Control Monitor菜單介紹,選擇“System Views”“Control Monitor”,就會打開如圖所示的顯示窗口。這個“Control Monitor”窗口共有四個標(biāo)簽頁:Target、Image、Files、Class。在“Control Monitor”窗口的任一標(biāo)簽頁中點擊右鍵,選擇右鍵菜單“Hide”命令可以隱藏本窗口。, Target標(biāo)簽頁 在Target標(biāo)簽頁中,顯示了當(dāng)前的目標(biāo)硬件,如圖所示,圖中顯示當(dāng)前的目標(biāo)硬件是ARM7TDMI內(nèi)核。, Image標(biāo)簽頁 :顯示了當(dāng)前裝載的映像文件路徑和名稱, Files標(biāo)簽頁:顯示這個映像文件所涉及到的一些源文件, Class標(biāo)簽頁:顯示這個映像文件所涉及的類、全局變量和全局函數(shù)。,2Output、Console菜單介紹,Console窗口是一個控制臺窗口,不但可以接收用戶的按鍵信息,而且可以顯示程序的輸出信息。,這個輸出窗口共有RDI Log和Debug Log兩個標(biāo)簽頁,分別顯示RDI日志信息和調(diào)試過程中產(chǎn)生的日志信息。,3Disassembly、Source菜單介紹,在“Processor Views”菜單下“Source”菜單用來打開源程序;“Disassembly”菜單用來打開反匯編代碼文件。,4Registers菜單介紹,調(diào)試中有兩部分寄存器: 一部分是ARM內(nèi)部的寄存器; 一部分是ARM外部其他模塊的寄存器。 單擊“Processor Views”“Registers”打開一個ARM寄存器選項窗口。,ARM寄存器窗口,ARM寄存器選項窗口共有8個選項,每個選項可以打開一組寄存器。 1. Current當(dāng)前工作寄存器,包括ROR14、PC、CPSR和SPSR; 2. User/System用戶模式/系統(tǒng)模式寄存器組,包括ROR14、PC、CPSR; 3. FIQ快速中斷模式寄存器組,包括FIQ模式中的R8R14、SPSR; 4. IRQ通用中斷模式寄存器組,包括IRQ模式中的R13、R14和SPSR; 5. SVC 管理模式寄存器組,包括管理模式中的R13、R14和SPSR; 6. Abort中止模式寄存器組,包括abt模式中的R13、R14和SPSR; 7. Undef未定義模式寄存器組,包括und模式中的R13、R14和SPSR; 8. Debug Comms調(diào)試信息,包括控制信息寄存器,讀狀態(tài)寄存器和寫 狀態(tài)寄存器。,5Memory菜單介紹 單擊菜單欄“Processor Views”“Memory”打開存儲器顯示窗口。,在Start addresser處可以輸入要顯示內(nèi)存的起始地址,圖中輸入0x8000,所以內(nèi)存單元內(nèi)容從0x8000處開始顯示。,6Low Level Symbols菜單介紹,左側(cè)的窗口是符號表管理窗口,每個符號都對應(yīng)一個地址。,7Watch菜單介紹,使用觀測項(Watch)可以在調(diào)試程序時動態(tài)地了解某些信息,這些信息取決于所設(shè)置的觀測項的表達(dá)式。 在觀測項窗口所得到的是一個表達(dá)式的值,表達(dá)式可以由程序調(diào)試者輸入。,R0 + R5-R6 ;使用寄存器和算術(shù)運算符 R0 + R7*0x20 ;使用寄存器和算術(shù)運算符 &b ;求變量b的地址 b + value ;兩個變量相加,Add Watch 添加觀察項; Locate Using Value 搜尋觀察項的值; Locate Using Address 搜尋觀察項的地址; Format 設(shè)置數(shù)據(jù)顯示格式。,Add Watch窗口,在Watch窗口的右鍵菜單中選擇“Add Watch”。然后單擊Evaluate按鈕,這個表達(dá)式和這個表達(dá)式的值就會出現(xiàn)在下面的窗口中。,8Watchpoint菜單介紹,AXD中還有一種輔助調(diào)試手段,叫做觀測點(Watchpoint)。觀測點與觀測項的主要區(qū)別: 1.觀測項是檢查一個表達(dá)式的值,要對表達(dá)式進(jìn)行計算,而觀測點不對表達(dá)式進(jìn)行計算; 2.觀測項不會使正在執(zhí)行的程序停止;而觀測點與斷點一樣可以使程序停止; 3.觀測點和斷點一樣,可以設(shè)置實現(xiàn)條件;觀測項沒有條件,通過菜單選項“Systerm Views”“Watchpoint”打開系統(tǒng)觀測點管理窗口:,State: 表明當(dāng)前觀測點的狀態(tài),當(dāng)圖標(biāo)為圓形時,該觀測點處于打開狀態(tài); Processor: 目標(biāo)處理器的名稱; Item: 觀測點的地址或名稱,可能是變量名、寄存器名或者是地址; Watching : 注釋項; Count: 計數(shù)器,分母是一個設(shè)定的循環(huán)次數(shù)。 Condition: 觀測點條件; Action: 程序執(zhí)行到觀測點時有兩種可能的結(jié)果:一種是停止運行(Break);另一種是注釋字符串到指定日志文件中。,右鍵菜單中選擇“Add”,系統(tǒng)彈出一個觀測點設(shè)置對話框,如圖所示,二、AXD調(diào)試方法,1.1 常用的調(diào)試方法,控制程序運行的方法分為兩種: 單步運行 單步運行就是讓程序一條語句接一條語句執(zhí)行,可以通過查看寄存器、內(nèi)存表、變量以及表達(dá)式的值來判斷程序的運行結(jié)果。 設(shè)置斷點運行。 設(shè)置斷點的方法能夠用來調(diào)試大段的程序。程序中并不重要部分直接讓它運行,在程序中的關(guān)鍵點處設(shè)置斷點,當(dāng)程序運行到斷點處時會自動停止,然后觀察運行的結(jié)果或決定程序是否繼續(xù)運行。,1.2 單步調(diào)試,工具欄中的“單步”運行按鈕。這個單步運行操作使程序執(zhí)行到下一條指令。如果指令是一條函數(shù)調(diào)用指令,則這項功能不進(jìn)入函數(shù)體內(nèi)。 工具欄中的“進(jìn)入單步”運行按鈕。這個單步運行操作使程序運行到下一條指令。如果指令是一條函數(shù)調(diào)用指令,則這項功能將進(jìn)入函數(shù)體內(nèi)。 工具欄中的“跳出單步”運行按鈕。這個單步運行操作使程序執(zhí)行到下一條指令。如果指令是在函數(shù)體內(nèi),則這項功能使程序跳出函數(shù)體。 工具欄中的“執(zhí)行到光標(biāo)處”運行按鈕。這項功能可以使程序運行到事先選定的指令行。,字符串拷貝程序清單,AREA BufData,DATA,READWRITE ;聲明數(shù)據(jù)段BufData Mes DCB “HELLO,The World!” Buf SPACE 100 ;分配100字節(jié)空間 AREA Example1,CODE,READONLY ;聲明代碼段Example1 ENTRY ;標(biāo)識程序入口 CODE32 ;聲明32位ARM指令 START LDR R1, =Mes LDR R2, =Buf LDRB R3, R1,#16 ;裝載Mes數(shù)組的最后一個字符$ N LDRB R0, R1, #1 ;讀源地址的字符,R1自動加1 STRB R0, R2, #1 ;保存字符到目的地址,R2自動加1 CMP R0, R3 ;比較,判斷字符是否為$ BNE N ;沒有碰到$,繼續(xù)傳送字符 B START END,源程序窗口和反匯編窗口,存儲器顯示窗口,1.3 使用斷點進(jìn)行調(diào)試,1斷點的簡單應(yīng)用 在調(diào)試程序的過程中,使用斷點是經(jīng)常要使用的方法。, 設(shè)置斷點 在源程序或反匯編程序的窗口中,把光標(biāo)指向要設(shè)置斷點的指令行,雙擊即把這個選中的指令行標(biāo)注為斷點位置?;蛘邌螕粢O(shè)置為斷點的指令行設(shè)置斷點。 執(zhí)行到斷點 按F9鍵使程序開始運行,直到最近一個斷點。 刪除斷點 刪除斷點跟設(shè)置斷點一樣,最簡單的方法是:在源文件或反匯編文件的斷點位置雙擊這個指令行,就可以刪除這個斷點。,2. 斷點管理窗口,State 斷點狀態(tài); Processor 處理器型號; Position 斷點位置; Count 斷點計數(shù)器; Condition 斷點計數(shù)器計數(shù)條件。 Size 代碼類型。 Action 斷點執(zhí)行動作。,Add 增加一個斷點; Disable 關(guān)閉選中的斷點; Delete 刪除選中斷點; Delete All 刪除斷點管理窗口中所有的斷點; Locate Using Address搜索斷點所在指令行的地址; Refresh 斷點管理窗口中的內(nèi)容刷新一次; Properties 設(shè)置斷點的屬性。 Float within main window使斷點管理窗口浮置,浮置的窗口可以懸掛在屏幕的任意位置; Allow

溫馨提示

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

評論

0/150

提交評論