18.25 JLink調試程序步驟


S3C2440開發板啟動時候選擇NandFlash啟動,然后輸入如下命令:

  r                                 /*復位cpu*/

  h                                /*暫停CPU*/    

  loadbin e:/les.bin 0 /*下載e目錄下的leds.bin到0地址*/

  setpc 0                       /*設置pc執行地址為下載代碼的地址0*/

  s                                 /*單步調試*/

  regs                            /*查看寄存器是否和預想的一樣*/

  s                                 /*繼續單步調試*/

  每執行一行s,會彈出一個PC=xxxx的地址,

  這是還未執行的,PC當前指向的地址

 

 1   mem 30000000 8       /*從30000000地址讀取8位數據*/
 2 
 3   J-Link>mem 30000000 4    /*用於測試內存是否完成初始化*/
 4 
 5   30000000 = 01 DA A0 E3
 6 
 7   從低位到高位讀
 8 
 9   J-Link>w4 30000000 0x12345678 /*在0x30000000寫16位數據*/
10 
11   J-Link>mem 30000000 4
12 
13   30000000 = 78 56 34 12

  本次調試所用到的命令:

 1 h          halt
 2 g          go
 3 s          Single step the target chip
 4 mem        Read memory.           Syntax: mem  <Addr>, <NumBytes> (hex)
 5 w1         Write  8-bit items. Syntax: w1 <Addr>, <Data> (hex)
 6 w2         Write 16-bit items. Syntax: w2 <Addr>, <Data> (hex)
 7 w4         Write 32-bit items. Syntax: w4 <Addr>, <Data> (hex)
 8 q          Quit
 9 qc         Close JLink connection and quit
10 r          Reset target         (RESET)
11 Regs       Display contents of registers
12 wreg       Write register.   Syntax: wreg <RegName>, <Value>
13 SetBP      Set breakpoint.   Syntax: SetBP <addr> [A/T] [S/H]
14 SetWP      Set Watchpoint. Syntax: <Addr> [R/W] [<Data> [<D-Mask>] [A-Mask]]
15 ClrBP      Clear breakpoint. Syntax: ClrBP  <BP_Handle>
16 ClrWP      Clear watchpoint. Syntax: ClrWP  <WP_Handle>
17 loadbin    Load binary file into target memory.
18              Syntax: loadbin <filename>, <addr>
19 SetPC      Set the PC to specified value. Syntax: SetPC <Addr>
20 ---- JTAG ------------
21 Config     Set number of IR/DR bits before ARM device.
22              Syntax: Config <IRpre>, <DRpre>
23 speed      Set JTAG speed. Syntax: speed <freq>|auto|adaptive, e.g. speed 2000,
24 i          Read JTAG Id (Host CPU)
25 
26 Jlink 命令調試-斷點/條件斷點
27 
28 普通斷點:
29 
30 通常使用的普通斷點的添加方法:SetBP <addr> [A/T] [S/H]
31 條件斷點:
32 
33 watch point, 可以視為一種條件斷點。
34   設置變量變為指定值時觸發的斷點:
35 setWP <addr> [<accesstype>] [<size>] [<data> [<data mask> [<addr mask>]]]
36 for example: 當變量m_marsh_test變為0xDEADBEEF時觸發
37 通過map文件得到m_marsh_test的變量地址為0x20004f58;
38 setWP 0x20004f58 W S32 0xDEADBEEF 0 0

  調試要對匯編語言有充分的理解,.dis的反匯編文件作為調試中的重要參考文件。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM