7.20. SDTAP
Overview
提供SDTAP操作说明和常见问题。SDTAP 用于GDB调试程序,例如通过信号(signal)、断点(breakpoint)、通过step命令执行单步调试。在程序暂停之后,你可以检查并改变变量的值,设置新的断点或者移除老的断点,然后继续执行程序。
7.20.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.20.2. 常见问题
目前SDTAP/JTAG只对内部开放,用户请寻求FAE援助