Windows 环境下,使用 ESP32 JTAG 接口进行调试的流程

前提

ESP32 管脚JTAG 信号
MTDO / GPIO15TDO
MTDI / GPIO12TDI
MTCK / GPIO13TCK
MTMS / GPIO14TMS
GNDGND

在这里插入图片描述

  • 检查 ESP32 上用于 JTAG 通信的管脚是否被连接到了其它硬件上,这可能会影响 JTAG 的工作。

  • 连接 ESP32 和 JTAG 接口上的管脚或信号。

JTAG 调试详细步骤说明

1 运行 openocd

  • 由于 esp-idf CMD 编译环境已经安装好 openocd 的环境,因此不需要手动安装,只需要打开 esp-idf CMD 终端窗口即可。
    在这里插入图片描述

  • 然后运行如下指令查询 openocd 环境:

openocd --version
  • 运行如下指令启动 OpenOCD 环境
openocd -f interface/ftdi/esp32_devkitj_v1.cfg -f target/esp32.cfg

在这里插入图片描述

  • 若 openocd 环境运行失败,报错 Not found Device ,需考虑手动安装 Zadig 驱动,请参见 “Windows - 手动更改驱动程序” 说明。
  • 若运行 openocd 环境,报错如下,需检查 ESP32 的 JTAG 管脚是否被用于其他功能。
Open On-chip Debugger vo.12.0-esp32-20241016(2024-10-16-14:17)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
dapter speed: 20000 kHz
Info : Listening on port 6666 for tcl connections
Info :
Listening on port 4444 for telnet connections
rror:failed to reset FTDI device: LIBUSB ERROR PIPE
serial '*'at bus location '*
rror:unable to open ftdi device with description '*
E: esp2\Espressifltools openocd-esp32\v0.12.0-esp32-20241016\openocd-esp32\sharelopenocd scripts/target/esp common.cfg:!
Error:
it file "E: \esp2 Espressifltoolslopenocd-esp32 v0.12.0-esp32-20241016\openocd-esp32 share lopenocd scripts/target/esp _co
non.cfg", line 9

2 编译、下载工程固件

  • 重新开启一个新的终端环境,可以再次打开 esp-idf CMD 终端窗口

在这里插入图片描述


idf.py build

idf.py flash monitor
  • 使用 Ctrl + ] 退出 idf.py monitor 环境

3 在当前调试工程下,创建一个名为 gdbinit 的配置文件,写入如下内容:

可参见 “使用命令行调试”说明。

target remote :3333
set remote hardware-watchpoint-limit 2
mon reset halt
maintenance flush register-cache
thb app_main
c

在这里插入图片描述

4 准备好启动 GDB,请在新的终端环境中输入以下命令来运行待调试工程下的 build 文件夹下的 elf 文件,elf 文件路径要正确:

可参见“使用命令行调试”说明。

在这里插入图片描述

  • 运行如下指令启用 GDB 调试
xtensa-esp32-elf-gdb -x gdbinit build\blink.elf

在这里插入图片描述

  • 在 GDB 中断环境下,设置和清除断点

    • 使用 break 33 命令设置断点行
    • 使用 c 命令运行断点

在这里插入图片描述

  • 使用 Q + Enter 退出 GDB 运行环境

5 openocd 终端将打印如下日志:

在这里插入图片描述

  • 使用 Ctrl +C 退出 openocd 运行环境**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值