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


  • 相关阅读:
    设计模式6大原则依赖倒置原则
    HTML5开发HTML5入门
    设计模式6大原则迪米特法则
    设计模式6大原则接口隔离原则
    Android ROM开发ubuntu下编译CyanogenMod生成SDK
    设计模式6大原则单一职责原则
    Android杂谈修改Android系统内/system目录权限使其可读写
    [转]SMTP协议
    QQ发送邮件失败的解决办法
    开始→运行→命令集锦
  • 原文地址:https://www.cnblogs.com/baixu/p/10743783.html
Copyright © 2020-2023  润新知