调试之前首先需要将 Jlink 与 ESP32 相连,接口图如下:
引脚图如下:
Jlink 与 ESP32 连接好后,我们就可以开始调试了。
ESP32 利用 openocd 来进行调试,我们可以使用命令 openocd -f interface/jlink.cfg -f board/esp-wroom-32.cfg 来启动一个 gdb server ,启动成功后我们就可以使用 gdb(交叉编译器版本)连接这个 server 了。但是遇到了下述问题,
错误信息:
错误信息提示没有找到 J-Link 设备,这是由于 Windows 下没有 libusb,需要更新 Jlink 驱动。解决办法如下:
我这里用两个 Jlink (不同固件)测试,驱动名称分别为:
参考:
更新了 Jlink 驱动后,又遇见了下述问题:
第一个错误提示为 Error: JTAG I/O operation failed: 0x1. ,这种问题会出现在 openocd-esp32 2020 及以后的版本。
解决办法为:
这样,就能成功地启动 gdb server 了。
参考:
办法总比困难多,遇见困难就是一个提升自我的过程。
对准你要调的函数前加2行<1>
#pragma
SAVE
<2>
#pragma
OT(0)
yourFunction()
{
}
<3>
#pragma
RESTORE
即可!意图为:不要编译器做任何优化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)