【AI技术支持】ESP32-S3 JTAG调试问题处理

描述


启明云端/ 01

 

你是否曾遇到过?

在使用ESP32-S3模块,ESP-IDF版本为idf 5.0时,调试JTAG,尝试很久也无法调通,这是为什么呢?

 

启明云端/ 02

 

这是咋回事呢?
 

这个过程需要安装zadig进行调试,需要给interface 0和interface 2同时安装驱动WINUSB。

ESP32

 

启明云端/ 03

 

问题调试

在安装了USB JTAG (Interface 2)驱动的情况下,开始调试JTAG,执行“openocd-f board/esp32s3-builtin.cfg”,此命令是启动OpenOCD,但执行报错:

ESP32

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指令测试成功。

ESP32

 

启明云端/ 05

 

解决方案

安装zadig,需要给interface0安装驱动为WINUSB,给interface2同时也安装为WINUSB,安装Windows下的环境,编译烧录blink示例,打开第二个终端,用指令sudo apt install openocd安装openocd,随后运行指令openocd-f board/esp32s3-builtin.cfg,运行结果:

ESP32

回到下载blink的终端输入指令idf.py gdb,在该工程中的build生成build/gdbinit/connect文件,运行结果如下:

ESP32

随后在命令行中输入q,回车即可退出该界面;最后再输入xtensa-esp32s3-elf-gdb-x build/gdbinit/connect build/blink.elf你会得到如下运行结果,此时JTAG已经运行成功。

ESP32

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分