AVR單片機(jī)JTAG調(diào)試快速入門
以下的degug方式,英文版來自 AVR Studio 4. 為達(dá)到準(zhǔn)確理解的效果,我試圖將它翻譯出來。如有不準(zhǔn)確的地方,請(qǐng)大家指正:
Auto Step 自動(dòng)執(zhí)行
它能重復(fù)執(zhí)行指令。如果當(dāng)前處于 source 方式時(shí)(即C語言窗口顯示方式),一條的指令會(huì)被執(zhí)行。如果處理 disassembly 方式 (即顯示為匯編指令方式),一條匯編指令會(huì)被執(zhí)行。每條指僅被執(zhí)行后,窗口的所有信息會(huì)更新。
每條指令的執(zhí)行延時(shí),可以在 debug option 里選擇。
當(dāng)用戶按下停止或有斷點(diǎn)(breakpoint)時(shí),將停止自動(dòng)執(zhí)行。
Step Into 單步執(zhí)行:
僅執(zhí)行一條指令。如果當(dāng)前處于 source 方式時(shí)(即C語言窗口顯示方式),一條的指令會(huì)被執(zhí)行。如果處理 disassembly 方式 (即顯示為匯編指令方式),一條匯編指令會(huì)被執(zhí)行。每條指僅被
執(zhí)行后,窗口的所有信息會(huì)更新。
Step Over
僅執(zhí)行一條指令。如果這條指令包含或調(diào)用了函數(shù)或子程序,也會(huì)執(zhí)行完這個(gè)函數(shù)或子程序。如果存在斷點(diǎn),會(huì)停止執(zhí)行。執(zhí)行完成,信息會(huì)在窗口里顯示。
Step Out
Step Out 一直會(huì)執(zhí)行到當(dāng)前的程序結(jié)束為止。如果存在斷點(diǎn),會(huì)停止執(zhí)行地。當(dāng)在程序的開始位置執(zhí)行step out動(dòng)作,程序?yàn)橐恢眻?zhí)行到結(jié)束,除非是存在斷點(diǎn)或用戶手工中斷它。運(yùn)行結(jié)束
后,所有的信息會(huì)在窗口顯示。
Run to Cursor 執(zhí)行到光標(biāo)位置
會(huì)執(zhí)行到光標(biāo)放置在 source 窗口(即C語言窗口)的位置。就算有斷點(diǎn),也不會(huì)中斷。如果光標(biāo)所在的位置一直都無法執(zhí)行到,程序會(huì)一直執(zhí)行到用戶手工將它中斷。執(zhí)行完成后,所有信息會(huì)
顯示在窗口中。由于這種方式,依賴光標(biāo)放置的位置,所以,只能在source,即C語言窗口方式時(shí),才能使用。
QuickWatch :在程序模擬運(yùn)行時(shí),立即將一些端口或變量的數(shù)值顯示出來。
操作方法:比如我們想看到i在運(yùn)行中的數(shù)值。在C源碼中選中i,彈出pop-up菜單,選擇:Add to Watch: i (或者可以選擇i后,按下圖紅色框標(biāo)出的quickwatch 按鈕)。
用類似的方法,將 PORTB 也加進(jìn)watch... 執(zhí)行 AutoStep或Step Into 就能在程序運(yùn)行時(shí),顯示出這兩個(gè)變量的數(shù)值啦!
評(píng)論