Skip to content

ESP32 无线烧录器:用浏览器无线烧录 ESP32

烧录 ESP32 固件的工具不少——esptool.py、浏览器版的 esptool.js、乐鑫官方的桌面烧录工具——但不管用哪个,目标芯片都得通过 USB 线直连到电脑。目标板在机箱里、在移动平台上、或者就是不在桌边,这些场景都得物理和电脑接线。

ESP32 无线烧录器把这两件事一起省掉:浏览器里操作,不需要装任何软件;目标板通过 UART 接到中间设备,通信走 Wi-Fi,不需要 USB 直连。

支持:

  • UART 连接目标芯片(所有型号)
  • USB 直连目标芯片(中间设备为 ESP32-S3 时)
  • 分区读写
  • 寄存器读写
  • Stub 模式加速
  • 压缩传输
  • 串口 / USB 转 TCP(可对接第三方工具)

不支持:

  • JTAG 调试
  • OpenOCD 调试

工作原理

整个系统由两块 ESP32 组成:一块运行无线ESP32烧录器固件(中间设备),另一块是你要烧录的目标芯片。中间设备通过 Wi-Fi 向局域网内的浏览器提供操作界面。

浏览器  →  Wi-Fi  →  无线ESP32烧录器  →  UART        →  目标 ESP32
                                       →  USB (S3)   →  目标 ESP32

在浏览器里选好固件文件和目标地址,点击烧录后,固件会通过 Wi-Fi 传输到中间设备,再经由 UART 或 USB 写入目标芯片的 Flash。写入完成后会自动做完整性校验,确认烧录无误。如果中途出错,界面上会显示具体原因。

接线说明

中间设备通过 UART 和控制引脚连接目标板,需要四类连接:串口数据线(TX/RX)、复位控制(EN)、烧录模式控制(IO0)和共地(GND)。

所有引脚均可通过设置页重新配置,不一定要按默认值来。

功能介绍

ESP32 无线烧录器 界面分四个标签页,覆盖从烧录到调试的常用操作。

烧录 — 烧录操作

烧录标签页以烧录分组的方式组织任务。一个分组里可以包含多个条目,每个条目对应一个 .bin 文件和它的目标地址。比如你可以把 bootloader(0x0)、分区表(0x8000)、应用固件(0x10000)放在同一个分组里,一次点击完成全部烧录,不需要分三次操作。

分组和条目都可以保存下来,下次烧录同一套固件时直接复用。右上角的历史记录按钮可以查看过往的操作记录和当前队列状态。

顶部的连接和复位按钮用来连接目标芯片或触发复位,不需要手动拨动 IO0 和 EN 引脚。

烧录标签页

工具 — 寄存器读写

工具标签页提供寄存器分组功能,可以对目标芯片的寄存器地址执行批量读写操作。适合调试阶段需要反复检查或设置某几个寄存器值的场景,把常用的操作保存成一个分组,下次一键执行。

工具标签页

监视器 — 串口监控

连接目标板后,可以在这里实时查看串口输出。烧录完成后不需要重新操作,直接切到监视器标签页就能看到启动日志,确认固件运行是否正常。遇到问题时,串口输出通常是第一个参考来源。

底部输入框支持发送文本或带转义字符(\n\x 等)的原始数据,也可以开启定时循环发送。界面右下角显示收发字节计数,方便确认数据有没有到达目标芯片。

串口同时支持转发到 TCP,可以在设置页配置 TCP Server 端口,让 VOFA+ 等第三方工具直接连入。

串口监控

设置

设置页分三个部分:

探针配置 — 连接参数:

  • 传输方式:UART(所有型号)或 USB(仅 ESP32-S3),默认自动识别,也可以手动指定
  • 波特率:烧录时使用的串口速率,默认 460800;连接不稳定时可以降低
  • RX / TX / 复位 / 启动 引脚编号:与上面接线表对应,有冲突时在这里修改,不需要重新编译固件

设备模式 — 烧录模式:

  • 默认使用 Stub 模式(目标芯片加载一段辅助程序后再烧录),速度比 ROM 模式快
  • 如果目标芯片的 Stub 加载出现问题,可以关闭 Stub 加载器,退回 ROM 模式

烧录选项:

  • 烧录后校验:烧录完成后自动验证写入内容,默认开启
  • 烧录后复位:烧录完成后自动复位目标芯片,默认开启
  • 烧录后监控:烧录完成后自动跳到监视器页面
  • 启用压缩:传输时对固件数据进行压缩,默认开启,对较大固件有一定加速效果

此外,页面底部有一个擦除全片 Flash 的按钮,会清除目标芯片上所有的 Flash 内容,使用前请确认。

设置页面

支持的目标芯片

下面这些 ESP32 系列都可以作为烧录目标,接在中间设备的 UART 上:

经典: ESP32

S 系列: ESP32-S2 ESP32-S3

C 系列: ESP32-C2 ESP32-C3 ESP32-C6

H 系列: ESP32-H2

P 系列: ESP32-P4

覆盖了目前 ESP-IDF 支持的主流量产芯片。中间设备本身目前支持 ESP32、ESP32-C3 和 ESP32-S3 三种型号运行无线ESP32烧录器固件。

与传统方案对比

传统烧录工具ESP32 无线烧录器
电脑端需要USB 驱动或 Python 环境仅浏览器
目标板距离USB 线长度Wi-Fi 覆盖范围内
目标板需要在手边
多人共享
串口监控单独工具集成在同一界面

传统工具在直连场景下依然是最可靠的选择。ESP32 无线烧录器并不是要取代它,而是在没法或不方便直连时提供一个替代选项。

快速上手

需要准备的硬件:

  • 一块运行无线ESP32烧录器固件的 ESP32(中间设备),支持 ESP32、ESP32-C3、ESP32-S3
  • 一块目标 ESP32(需要烧录的板子)

步骤:

  1. 给中间设备烧录固件:打开 在线固件目录,用 Chrome 或 Edge 浏览器,USB 连接中间设备,选择无线ESP32烧录器固件,按提示完成烧录。这一步只需要做一次。

  2. 配置 Wi-Fi:中间设备上电后会广播名为 无线DAP 的热点(密码:12345678)。连上热点,浏览器打开 192.168.1.1,填入路由器的 Wi-Fi 名称和密码,保存。之后设备会自动连接这个 Wi-Fi,不需要每次重新配置。

  3. 连接目标板:根据中间设备的型号,参考上面的接线表连好 UART TX/RX、RESET、BOOT 和 GND,一共五根线。

  4. 打开 ESP32 无线烧录器 界面:在同一个 Wi-Fi 下,浏览器访问中间设备的 IP 地址,点击 ESP32 无线烧录器 标签页。

  5. 烧录:在烧录标签页点击"添加分组",再点"添加条目",选择 .bin 文件并填入目标地址,然后点击烧录,等进度完成即可。

如果连接失败,先检查 TX/RX 有没有交叉连接,以及 RESET 和 BOOT 引脚是否接对了目标板上对应的 EN 和 IO0。大部分问题出在接线上。


这个功能目前还在持续开发中,可能会有一些还不完善的地方,欢迎体验和反馈。遇到问题或者有改进建议,可以加入 QQ 群(642246000)交流。

如果你同时需要无线调试 STM32,可以看看 无线 DAP-LINK

在线烧录中间设备固件 →

更新于:

浙公网安备33038102332443浙ICP备2024086215号

瑞安允斯软件开发工作室(个体工商户)