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当前指向的地址

  mem 30000000 8      /*从0地址读取8位数据*/

  本次调试所用到的命令:

 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的反汇编文件作为调试中的重要参考文件。


猜你喜欢

转载自www.cnblogs.com/baixu/p/10743783.html