电脑基础 · 2023年3月2日

VScode下 ESP32 下载程序

ESP32-S3 下载方式可以通过UART0 下载,USB 下载,JTAG下载,还可以使用WIFI进行远程OTA升级程序。

插件底栏按键介绍:

VScode下 ESP32 下载程序

①选择串口端口号,如COM3; ②选择芯片型号; ③工程idf设置,相当于menuconfig; ④清理所有编译文件; ⑤编译; ⑥烧录方式,如uart、jtag和DFU; ⑦烧录; ⑧log监视窗口(monitor); ⑨编译+烧录+自动打开log监视窗口; ⑩openocd配置,开启openocd或停止openocd。 编译和烧录 先配置uart烧录端口,要根据自己实际端口号来选择,然后选择芯片型号,一定要选择目标芯片,不然编译会报错,我选的是ESP32-S3 (ESP-PROG JTAG),即外部jtag;

一,UART0下载方式。

硬件环境:

使用工具“USB转串口”;

3.3V供电,GND,EN使能;

上电前IO0引脚先接地,如果使用串口工具查看UART0的输出信息,如下图

VScode下 ESP32 下载程序

使用VScode下载程序。

IO0引脚先接地,上电,编译后生成.bin文件。

VScode下 ESP32 下载程序

编译完,点击图中按键就可以下了。

VScode下 ESP32 下载程序

下载完成,输出上图信息。

二,在线调试

uart0可以下载程序,并不能进行在线调试,在线调试需要使用JTAG,ESP32不支持SWD模式。

工作原理

介绍 ESP32-S3、JTAG(Joint Test Action Group)接口、OpenOCD 和 GDB 如何相互连接,从而实现 ESP32-S3 的调试功能

选择 JTAG 适配器

如果您想使用单独的 JTAG 适配器,请确保其与 ESP32-S3 的电平电压和 OpenOCD 软件都兼容。ESP32-S3 使用的是业界标准的 JTAG 接口,它未使用(实际上也并不需要)TRST 信号脚。JTAG 使用的 IO 管脚由 VDD_3P3_RTC 电源管脚供电(通常连接到外部 3.3 V 的电源轨),因此 JTAG 硬件适配器的管脚需要能够在该电压范围内正常工作。

在软件方面,OpenOCD 支持相当多数量的 JTAG 适配器,请参阅 OpenOCD 支持的适配器列表 (请注意这一列表并不完整),其中还列出了兼容 SWD 接口的适配器,但请注意,ESP32-S3 目前并不支持 SWD。此外,被硬编码为只支持特定产品线的 JTAG 适配器也无法在 ESP32-S3 上工作,例如仅针对 STM32 系列产品的 ST-LINK 适配器。

JTAG 正常工作至少需要连接的信号线有:TDI、TDO、TCK、TMS 和 GND。一些 JTAG 适配器还需要 ESP32-S3 提供一路电源到适配器的某个管脚上(比如 Vtar),用于设置适配器的工作电压。您也可以选择将 SRST 信号线连接到 ESP32-S3 的 CH_PD 管脚上,但请注意,目前 OpenOCD 对该信号线提供的支持相当有限。

ESP-Prog 中展示了使用外部电路板进行调试的实例,方法是将其连接到 ESP32-S3 的 JTAG 管脚上。

参考文章

【esp32开发】vscode+espidf开发环境搭建(实现单步调试) - vscode单步调试ostream - 实验室设备网 (zztongyun.com)

【esp32开发】vscode+espidf开发环境搭建(实现单步调试) - vscode单步调试ostream - 实验室设备网 (zztongyun.com)

(42条消息) ESP32S3 固件烧录需满足的硬件环境整理_25March的博客-CSDN博客

JTAG 调试 - ESP32-S3 - — ESP-IDF 编程指南 v4.4 文档 (espressif.com)