ESP32-S3 支持两种下载方式:UART0 下载和 USB 下载。
1 UART0 下载
-
串口驱动参见 与 ESP32-S3 创建串口连接
2 USB 下载
ESP32-S3 系列集成了全速 USB OnThe-Go (OTG) 接口,符合 USB 1.1 规范,可以支持使用
USB 下载固件
和USB 通信
- ESP32-S3 USB 下载说明参见 Device Firmware Upgrade through USB 说明
2.1 ESP32-S3 与 USB 接口
2.2 ESP32-S3 USB 下载的硬件接线要求如下:
VDD -> 3V3
GND -> GND
EN -> 拉高(或接 3V3)
GPIO19 -> D - (白色)
GPIO20 -> D + (绿色)
注意:
当 GPIO46 = 1 且 GPIO0 = 0 时不可使用
。目前只在 esp-idf master 版本上支持 USB 下载方式。
2.3 在 esp-idf 编译环境下,以 esp-idf/examples/get-started/hello_world 例程为例
2.3.1 基于 Ubuntu 的 esp-idf 编译环境下,请按照如下进行操作
- 在 menuconfig 中选择如下配置
Component config → ESP System Settings → Channel for console output → USB Serial/JTAG Controller
-
执行如下命令进行编译:
idf.py dfu
-
执行如下命令查询 USB 端口号
ll /dev/ttyACM*
-
执行如下命令进行下载:
在下载固件前,请先使用 UART0 查看日志是否进入下载模式,进入下载模式的日志如下:
ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x15 (USB_UART_CHIP_RESET),boot:0x0 (DOWNLOAD(USB/UART0)) Saved PC:0x40041a76 waiting for download
idf.py -p /dev/ttyACM0 flash
2.3.2 基于 Windows 的 esp-idf 编译环境下,请按照如下进行操作
-
如果使用的是 ESP32-S3 开发板上的 USB 接口下载固件,请按住 Boot 按键在进行上电,然后获取 COM 口。
-
如果使用的是模组通过 USB (GPIO19、GPIO20)管脚直接连线,则直接上电获取 COM 口即可。
-
然后使用
idf.py -p COM* flash monitor
命令来下载固件。
【说明】
-
Ubuntu 上查询 USB 接口
ll dev/ttyACM*
-
在 Ubuntu 环境则需要使用如下命令,通过 USB 接口查看程序启动日志
idf.py -p /dev/ttyACM0 monitor