使用VS Code和ESP-IDF进行ESP32开发和调试
在我们搭建 IDF 框架后,OpenOCD 已经自动下载好了, 我们通过 JTAG 接口连接使用 OpenOCD 进行调试。而ESP32芯片中内置 了JTAG 电路,无需额外芯片即可调试,更加方便,所以这里我们讲解使用模块自带的usb-jtag接口进行调试。
安装驱动程序使用zadig安装winusb
笔主使用的是Windows11,所以需要注意以下方法适用Windows环境,非Linux环境
安装驱动程序需要使用Zadig,而Zadig是一个Windows上用于安装通用USB驱动程序的安装器
在官网下载,下载后双击打开,zadig官网地址如下👇
zadig官网
之后,选择“选项” -> “列出所有设备”。然后,您就能够检测到计算机上的所有端口。
然后,下拉并选择“USB JTAG/serial debug unit (Interface 1)”,选择新的驱动程序为“USB串行 (CDC) - 通信设备类”。点击“更新/安装驱动程序”,然后等待进程完成。
之后再选择USB JTAG/serial debug unit (Interface 2),新驱动选择为libusbK,然后点更新。
IDF工程配置
首先,先看一下USB CDC的端口号,我这里是COM19
OpenOCD 配置文件
用 VSCode 打开待调试的项目文件夹,在项目文件夹中的
.VSCode
文件夹内编辑
launch.json
文件,直接替换原本
launch.json
文件的内容修改为以下
{"version":"0.2.0","configurations":[{"name":"GDB","type":"cppdbg","request":"launch","MIMode":"gdb","miDebuggerPath":"${command:espIdf.getXtensaGdb}","program":"${workspaceFolder}/build/${command:espIdf.getProjectName}.elf","windows":{"program":"${workspaceFolder}\\build\\${command:espIdf.getProjectName}.elf"},"cwd":"${workspaceFolder}","environment":[{"name":"PATH","value":"${config:idf.customExtraPaths}"}],"setupCommands":[{"text":"target remote :3333"},{"text":"set remote hardware-watchpoint-limit 2"},{"text":"mon reset halt"},{"text":"thb app_main"},{"text":"flushregs"}],"externalConsole":false,"logging":{"engineLogging":true}}]}
这里的名字可以自行修改
接下来,我们需要将ESP32-S3开发板通过USB接口连接到电脑。如果使用外部的ESP-Prog进行调试,需要将ESP-Prog通过USB连接到电脑。
设置调试信息
在VS Code中,我们需要进行以下设置:
- 设置串口端口号,如COM10。
- 选择芯片型号,如
ESP32-S3 (ESP-PROG JTAG)
。 - 选择 JTAG 接口进行调试。
开启 OpenOCD
在 VS Code 软件下方有一个“OpenOCD Server”选择,点击。
选择顶部列表的第一个
运行和烧录
接下来,我们可以进行编译和烧录:
- 点击VS Code底栏的编译图标,等待编译完成。
- 点击VS Code底栏的烧录图标,然后等待烧录完成。
调试
最后,我们可以进行调试:
在 VSCode 左侧菜单栏中选择“运行和调试”,点击运行配置好的 GDB 文件
单步调试
- 在程序上打一个断点,然后点击左上角的开始按钮(或者点击F5)
- 把变量添加到监视窗口、单步调试和停止调试
- 停止openocd,依然是点击底栏的openocd配置图标,然后点击Stop Openocd Running。
结语
以上就是使用VS Code和ESP-IDF进行ESP32开发和调试的基本步骤。更加详细的内容可以去看看乐鑫公司的官方文档Visual Studio Code 调试的配置
版权归原作者 宁子希 所有, 如有侵权,请联系我们删除。