flash_download_tool
工具烧录 ESP-IDF 生成的固件到 ESP32 的方法如下:
步骤 1:准备固件文件
- 在 VSCode + ESP-IDF 项目中完成编译后,固件文件默认生成在项目的
build
目录下。 - 需要以下关键文件:
- Bootloader 文件:
bootloader/bootloader.bin
- 分区表文件:
partition_table/partition-table.bin
- 主应用程序文件:
app.bin
(位于项目根目录的build
下),生成的app.bin
根据工程配置不同,名称不同。
- Bootloader 文件:
步骤 2:下载 Flash 下载工具
- 从乐鑫官方下载工具:
Flash Download Tool 下载地址https://www.espressif.com.cn/zh-hans/support/download/other-tools`
步骤 3:配置 Flash 下载工具
-
打开工具:
- 运行解压后的
flash_download_tool_x.x.x.exe
。 - 选择芯片类型(如
ESP32
或ESP32-S2/S3
)。
- 运行解压后的
-
配置烧录参数:
- Development Mode:选择
Develop
(默认)。 - WorkMode:选择
UART
(通过串口烧录)。 - SPI SPEED: 通常选择
80MHz
。 - SPI MODE: 通常选择
DIO
或QIO
(与项目配置一致)。
- Development Mode:选择
-
添加固件文件:
- 点击右侧的
...
按钮,依次添加以下文件并指定烧录地址:文件路径 烧录地址 (Hex) bootloader.bin
0x0
partition-table.bin
0x8000
your_project.bin
0x10000
注意:地址可能因项目配置不同而变化(如自定义分区表)。
- 点击右侧的
-
设置串口参数:
- COM Port: 选择 ESP32 连接的串口号(如
COM8
)。 - Baudrate: 推荐
921600
(下载失败时可降低为115200
)。
- COM Port: 选择 ESP32 连接的串口号(如
步骤 4:开始烧录
-
连接 ESP32:
- 通过 USB 连接 ESP32 到电脑,确保串口驱动已安装(如 CP210x 或 CH340)。
- 确保开发板处于 下载模式:
- 按住
BOOT
按钮不放 → 短按RESET
按钮 → 松开RESET
→ 再松开BOOT
。
- 按住
-
启动烧录:
- 点击工具下方的
START
按钮。
- 等待进度条完成,显示
FINISH
表示烧录成功。
- 点击工具下方的
步骤 5:验证固件
- 按
RESET
按钮重启 ESP32-S3。 - 使用串口工具(如
idf.py monitor
或PuTTY
)查看串口输出,确认程序正常运行。
常见问题
- 找不到 COM 口:检查 USB 驱动是否安装,或尝试更换 USB 线。
- 烧录失败:降低波特率(如
115200
)或检查硬件连接。 - 地址错误:确认
partition-table.bin
的地址是否与项目配置一致。
通过以上步骤,你可以将 ESP-IDF 生成的固件成功烧录到 ESP32-S3 设备中。
参考-VSCode基于ESP-IDF的下载过程日志
正在执行任务: C:\Users\esp32\.espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe C:\Users\esp32\esp\v5.2.5\esp-idf\components\esptool_py\esptool\esptool.py -p COM4 -b 460800
--before default_reset
--after hard_reset
--chip esp32s3 write_flash
--flash_mode dio
--flash_freq 80m
--flash_size 16MB
0x0 bootloader/bootloader.bin
0x10000 app.bin
0x8000 partition_table/partition-table.bin
esptool.py v4.8.1
Serial port COM4
Connecting....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: 10:51:db:85:ac:5c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00005fff...
Flash will be erased from 0x00010000 to 0x000f1fff...
Flash will be erased from 0x00008000 to 0x00008fff...
SHA digest in image updated
Compressed 21632 bytes to 13321...
Wrote 21632 bytes (13321 compressed) at 0x00000000 in 0.7 seconds (effective 263.5 kbit/s)...
Hash of data verified.
Compressed 922880 bytes to 569390...
Wrote 922880 bytes (569390 compressed) at 0x00010000 in 14.4 seconds (effective 512.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 103...
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 320.5 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
参考:
Flash 下载工具用户指南