7.21. SDTAP

Overview

提供SDTAP操作说明和常见问题。SDTAP 用于GDB调试程序,例如通过信号(signal)、断点(breakpoint)、通过step命令执行单步调试。在程序暂停之后,你可以检查并改变变量的值,设置新的断点或者移除老的断点,然后继续执行程序。

7.21.1. 操作说明

  • 1.在 app_config.h 打开宏 SDTAP_DEBUG

  • 2.编译工程,烧录镜像,复位启动

  • 3.使用下图USB Updater V4.0版本或以上,开关7拨到ON;

  • 4.打开SDK工具里面对应cpu的tools目录下的 DebugServer.exe

  • 5.在isd_client 创建一个project 命名为: jtag, 选择工作目录为对应cpu的tools目录下的jtag

  • 6.在服务器linux终端输入 /opt/gdb cpu/wl82/tools/sdk.elf -ex “target remote proxy:jtag:9872”

  • 7.可以继续输入命令进行GDB调试:

    输入 si :汇编级单步调试

    输入 ni :C语言级单步调试

    输入 b 函数名 : 设置函数入口为断点

    输入 Ctrl + c : 程序停止运行

    输入 c : 程序继续运行

    输入 bt : 查看函数调用树

    输入 i r : 查看寄存器

    输入 layout reg: 可以观察更多

    输入 thread 1/2 : 切换另外一个核

    rwatch 命令:只要程序中出现读取目标变量(表达式)的值的操作,程序就会停止运行;

    awatch 命令:只要程序中出现读取目标变量(表达式)的值或者改变值的操作,程序就会停止运行。

7.21.2. 常见问题

  • 目前SDTAP/JTAG只对内部开放,用户请寻求FAE援助

7.21.3. API Reference