启明云端/ 01
你是否曾遇到过?
在使用ESP32-S3模块,ESP-IDF版本为idf 5.0时,调试JTAG,尝试很久也无法调通,这是为什么呢?
启明云端/ 02
这是咋回事呢?
这个过程需要安装zadig进行调试,需要给interface 0和interface 2同时安装驱动WINUSB。
启明云端/ 03
问题调试
在安装了USB JTAG (Interface 2)驱动的情况下,开始调试JTAG,执行“openocd-f board/esp32s3-builtin.cfg”,此命令是启动OpenOCD,但执行报错:
在JTAG指导文档中有介绍:对于带有用于 JTAG 连接的 FT2232H 或 FT232H 芯片的定制板,或带有ESP-Prog 的定制板,可执行“board/esp32s3-ftdi.cfg”,建议客户两个都尝试一下,但还是测不通。
启明云端/ 04
Windows测试环境
在Windows环境下先通过uart下载hello工程进入模组,然后再调用“openocd-f board/esp32s3-builtin.cfg”,会每隔10秒打印一次信息;因为有重启原因,于是换成烧录 blink示例,随后启动openocd 后,可以直接在 blink 目录下 idf.py gdb,应该会在 app_main 停下来。
但实际测试结果在blink目录下运行idf.py gdb后,是需要输入一些指令去识别(如下图),而且在openocd 中并没有任何反应。
最后确认是idf.py gdb 在 windows 上有问题,再次用xtensa-esp32s3-elf-gdb-x build/gdbinit/connect build/blink.elf尝试。最终用xtensa-esp32s3-elf-gdb-x build/gdbinit/connectbuild/blink.elf指令测试成功。
启明云端/ 05
解决方案
安装zadig,需要给interface0安装驱动为WINUSB,给interface2同时也安装为WINUSB,安装Windows下的环境,编译烧录blink示例,打开第二个终端,用指令sudo apt install openocd安装openocd,随后运行指令openocd-f board/esp32s3-builtin.cfg,运行结果:
回到下载blink的终端输入指令idf.py gdb,在该工程中的build生成build/gdbinit/connect文件,运行结果如下:
随后在命令行中输入q,回车即可退出该界面;最后再输入xtensa-esp32s3-elf-gdb-x build/gdbinit/connect build/blink.elf你会得到如下运行结果,此时JTAG已经运行成功。
全部0条评论
快来发表一下你的评论吧 !