量产 Flash 下载工具

产品从研发进入量产阶段后,需要稳定、高效地将同一固件镜像批量烧录到大量设备。乐鑫为 Windows 平台提供 Flash 下载工具,支持 DevelopFactory 两种工作模式,并可在产线上并行烧录多台设备。

工具详细说明请参阅 Flash 下载工具用户指南


概述

Flash 下载工具是乐鑫官方 GUI 工具,用于将 .bin 固件写入 flash,避免量产部署时使用繁琐的命令行操作。

工作模式

启动工具后,选择芯片型号(例如 ESP32-S31)及工作模式:

工作模式适用场景说明
Develop研发、调试、小批量烧录使用绝对路径配置固件。一次烧录一台设备。支持多个 .bin 文件、偏移地址、芯片信息(Read Efuse、flash ID)及整片 flash 擦除。
Factory量产、代工交付使用相对路径配置固件。界面默认锁定,减少误操作。支持多通道并行烧录(例如一拖四或一拖八)。

Factory 模式下,如需修改下载路径或 SPI flash 参数,请点击 LockSettings


硬件接线

批量烧录 ESP32-S31 前,请按芯片进入下载模式的要求完成接线。

下载接口

ESP32-S31 支持通过内置 USB 或 UART0 烧录固件。

[!NOTE] 量产推荐方案:使用内置 USB Serial/JTAG 接口。 无需外置 USB 转串口芯片(如 CP2102、CH340),可简化产测夹具设计。

  • 方案 A:内置 USB Serial/JTAG(推荐)
    • GPIO14 (USB_D+)GPIO13 (USB_D-) 连接至 USB 接口或产测主板。
    • 无需外置转串芯片,支持最高 12 Mbps 或 480 Mbps 稳定传输(取决于所用接口)。
  • 方案 B:UART0
    • GPIO58 (U0TXD)GPIO59 (U0RXD) 连接至外置 USB 转 TTL 模块的 RXD 与 TXD。

Strapping 管脚

上电进入下载模式时,需满足以下 Strapping 管脚电平:

管脚功能下载模式电平夹具设计
GPIO61启动模式控制低电平 (0)在复位瞬间于产测夹具上将该管脚接地,使芯片自动进入下载模式。
GPIO60ROM 日志控制悬空 / 弱上拉 (1)保持默认状态,勿加强下拉。

量产测试硬件

乐鑫提供量产烧录与 RF 测试硬件,便于工厂部署。详见 产测配件概述

ESP-FactoryTB2

面向大规模量产的 UART 测试底板。

  • 提供稳定的多路 USB 串口与供电保护。
  • 作为 PC 与模块测试夹具之间的通信桥梁,承载高速批量烧录数据。
  • 具备电气保护与隔离,防止待测板异常损坏 PC 的 USB 口。

模块测试夹具

针对乐鑫模组的压合式测试夹具。

  • 通过弹簧探针接触模组测试焊盘或邮票孔,无需焊接。
  • 对 ESP32-S31 模组,应选用能引出电源(VDD/GND)、UART(TXD/RXD)及控制管脚(CHIP_PU / GPIO61)的专用夹具。

ESP-BAT32

低成本的 RF 黄金样机,用于产线 RF 筛选。

  • 作为标准发射/接收源,评估吞吐量、RSSI 及 RF 质量。
  • 适合在每条产线做 100% 合格/不合格 RF 筛选,无需每台配备完整 RF 综测仪。

准备合并固件

研发阶段,ESP-IDF 会分别生成 bootloader.binpartition-table.binota_data_initial.bin 及应用 .bin 等镜像。

量产交付时应提供 单一合并二进制文件。操作员只需加载一个 .bin 文件,地址设为 0x0

方法 1:Flash 下载工具 CombineBin

  1. Develop 模式打开工具。
  2. 加载各分区 .bin 并填写正确的 flash 偏移地址。
  3. 勾选待合并文件,确认 SPI SPEEDSPI MODEFLASH SIZE 与硬件一致。
  4. 点击 CombineBin
  5. 工具会生成 ./combine/target.bin

方法 2:esptool.py merge_bin

适用于 CI/CD 流水线:

esptool.py --chip esp32s31 merge_bin -o factory_merged.bin --flash_mode dio --flash_size 8MB 0x2000 bootloader.bin 0x10000 partition-table.bin 0x12000 ota_data_initial.bin 0x20000 app.bin

偏移地址需与分区表一致。


Factory 模式烧录步骤

准备好 factory_merged.bin 后,按以下步骤配置批量烧录。

步骤 1:启动 Factory 模式

打开 flash_download_tool.exe,设置:

  1. ChipTypeESP32-S31
  2. WorkModeFactory

步骤 2:加载固件与 SPI 参数

  1. 固件路径:选择 factory_merged.bin
  2. 下载地址0x0(勾选启用)。
  3. SPI flash 参数(须与模组一致):
    • SPI SPEED40MHz80MHz
    • SPI MODEDIODOUT
    • FLASH SIZE:例如 8MB16MB

[!NOTE] 在工具版本 >= 3.9.10 中,SPI SPEEDSPI MODE 可能为只读,须与固件编译配置一致。

步骤 3:配置 COM 口

  1. 通过工业 USB Hub 连接多台待烧录设备。
  2. 为每个通道分配 COM 口。
  3. 波特率设为 9216001152000,以缩短烧录时间。

Factory 模式界面

步骤 4:开始烧录

  1. 点击 START(全局或单通道)。
  2. 烧录过程中各通道显示 DOWNLOADING
  3. 成功显示 PASS,失败显示 FAIL 及错误码。
  4. 更换下一块板卡。工具可检测串口插拔,也可再次点击 START

锁定 Factory 配置

为防止产线操作员误改 flash 容量、波特率或固件路径,可锁定配置文件:

  1. 打开工具安装目录下的 configure 文件夹。

  2. 编辑 esp32s31/multi_download.conf(或对应芯片的配置文件)。

  3. 添加或修改:

    [SECURE]
    lock_setting_password = true
    
  4. 保存并重启工具。路径、地址及 SPI 参数变为只读,仅 COM 口选择与 START / STOP 可编辑。


故障排查

SYNC fail / Waiting for packet header

芯片未进入下载模式。

  • 确认上电瞬间 GPIO61 为低电平。
  • 检查 UART TX/RXD 或 USB D+/D- 接线。
  • 确认 3.3 V 供电在烧录启动时至少可提供 600 mA。

MD5 check fail

回读校验失败,常见于长线缆干扰或 flash 损坏。

  • 降低波特率(例如从 1152000 降至 921600)。
  • 缩短夹具与模组之间的线缆。

量产建议

  • 产线使用探针夹具,避免手工焊接排线。
  • 多通道烧录时使用带独立电源的工业 USB Hub。
  • 启用串口插拔自动启动,减少重复点击 START