Skip to content

6_ESP32烧录和更新指南

一、使用串口工具进行烧录的方法(UART)

1. 简介:

2. 更新ESP32固件步骤

2.1 准备工作

2.2 连接及更新参数设置

  • 串口自动下载需要用到4(RST),5(BOOT MODE),49/50(UART0),板载电路或使用自动下载器
  • 打开flash_download_tools,设置以下参数.

注意:flash大小及接口方式依据实际电路设置

Image

  • 点击 Start 更新固件,并等待完成更新

  • 复位并验证输出以确认更新是否正确完成。

二、进行USB进行烧录的方法(DFU)

1. 简介:

一般情况下,ESP32-S3 的固件是通过芯片的串口烧录。但是,通过串口烧录 ESP32-S3 需要连接 USB 转串口转换器(如 CP210x 或 FTDI),详细信息可参阅 与 ESP32-S3 创建串口连接。ESP32-S3 包含一个 USB OTG 外设,使其可以通过 USB 将 ESP32-S3 直接连接到主机,即不需要 USB 转串口转换器也可完成烧录。

提示

开发 ESP32-S2 及之前版本的芯片通常使用两种通信方式:串口通信和 JTAG 调试端口通信。串口是一个双线 接口,传统上用于将开发中的新固件烧录到ESP32 上。由于大多数现代计算机上已没有兼容的串口,因此需要 一个USB 转串口集成电路或开发板来解决这一问题。固件烧录完成后,该端口即被用于监视程序中的调试输出 数据,从而关注程序运行的总体状态。当程序运行中出现异常情况(程序崩溃)时,需使用JTAG 调试端口检查 程序及其变量的状态,并设置断点和观察点。此时便需要利用一个外部JTAG 适配器使SoC 与JTAG 调试端口 建立连接。 上述外部接口共需占用6 个管脚,且在调试过程中,这些管脚便不能用于其他功能。然而,对于ESP32-S3 这 种小封装的设备,不能使用上述管脚会限制其设计。 为解决这一问题,同时尽可能减少对外部设备的需求,ESP32-S3 中包含了一个USB 串口/JTAG 控制器,同时 集成 USB-串口转换器和 USB-JTAG 适配器功能。由于该模块仅使用 USB Specification 2.0 所需的两条数据线 直接连接外部USB 主机,因此ESP32-S3 仅需占用2 个管脚用于调试.

设备固件升级 (DFU) 是一种通过通用串行总线 (USB) 升级设备固件的机制。

使用py脚本烧录 DFU 镜像 请参考以下章节:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s3/api-guides/dfu.html#api-guide-dfu-flash

2. USB连接

ESP32-S3 的内部 USB PHY(收发器)与 GPIO 的连接如下表所示: | GPIO | USB | | ------ | --- | | 20 | D+ | | 19 | D- | | GND | GND | | +5V | +5V | 默认情况下,ESP32-S3 内部 USB PHY 与 USB_SERIAL_JTAG 模块连接,此时 USB OTG 外设只有在连接外部 USB PHY 时才能使用。DFU 是通过 USB OTG 外设提供,因此在默认的设置下,无法通过内部 USB PHY 使用 DFU。

注意:ESP32-S3 芯片需要处于引导加载程序模式才能被检测为 DFU 设备并烧录。可以通过下拉 GPIO0(例如按下 BOOT 按钮)、拉低 RESET 片刻并释放 GPIO0 来实现。

三、使用WIFI进行更新的方法(OTA)