下载指导
本文档以 ESP32-C61-WROOM-1 模组为例,介绍如何下载 AT 固件并将其烧录到模组上。其它 ESP32-C61 系列模组也可参考本文档。
下载和烧录 AT 固件之前,请确保已正确连接所需硬件,详见 硬件连接。
不同系列模组的 AT 默认固件所支持的命令有所差异,详见 ESP-AT 固件差异。
请根据下方详细步骤,完成 AT 固件的下载、烧录和检查。
第一步:下载 AT 固件
请前往 ESP32-C61 AT 发布版固件,下载对应模组的固件并解压。
ESP32-C61-WROOM-1 固件见 ESP32-C61-4MB 系列。
factory 目录下有两份量产固件,均可烧录到地址 0x0:
factory/factory_ESP32C61-4MB_unfilled.bin(推荐):单文件即可满足全部必要功能,体积最小、烧录最快。较新发布的固件包中提供。将必要区域填充为0xFF,直至ota_0分区中 AT 应用固件esp-at.bin的末尾。若固件包中未提供该文件,请使用factory/factory_ESP32C61-4MB.bin。factory/factory_ESP32C61-4MB.bin:单文件即可满足全部必要功能,但文件较大、烧录较慢。早期填充方式,新固件包中仍会提供。填充至最后一个分区ota_1的末尾,文件大小通常为 2 MB 或 4 MB。
固件包中其它文件的说明见 附录:固件包内容。
第二步:烧录 AT 固件至设备
根据使用场景选择烧录方式。
方式 |
适用场景 |
说明 |
|---|---|---|
首次烧录、量产 |
将一份量产固件烧录到 |
|
更新部分分区、二次开发 |
按 |
方式一:烧录量产固件(推荐)
将 factory/factory_ESP32C61-4MB_unfilled.bin (推荐)或 factory/factory_ESP32C61-4MB.bin 烧录到地址 0x0。
Windows
开始烧录之前,请下载 Windows Flash 下载工具,详见 Flash 下载工具用户指南。请确认开发板下载接口的 COM 端口号,稍后在 “COM:” 下拉列表中选择该端口。如何查看端口号,见 在 Windows 上查看端口。
打开 Flash 下载工具
选择芯片类型(此处选择
ESP32-C61)选择工作模式(此处选择
develop)选择下载接口(此处选择
uart)
固件下载配置选择
选择
factory/factory_ESP32C61-4MB_unfilled.bin(推荐)或factory/factory_ESP32C61-4MB.bin,烧录地址为0x0勾选 “DoNotChgBin”,使用量产固件中的 flash 参数
选择正确的 COM 口后开始烧录
下载至单个地址界面图(点击放大)
烧录完成后,请 检查 AT 固件是否烧录成功。
Linux 或 macOS
开始烧录之前,请安装 esptool:
pip install esptool
请将下列命令中的端口名替换为开发板的下载接口,并在解压后的固件目录中执行。若无法确定接口名称,请参考 在 Linux 和 macOS 上查看端口。推荐烧录 factory/factory_ESP32C61-4MB_unfilled.bin。
esptool --chip auto --port /dev/tty.usbserial-0001 --baud 115200 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq 80m --flash-size 4MB 0x0 factory/factory_ESP32C61-4MB_unfilled.bin
烧录完成后,请 检查 AT 固件是否烧录成功。
方式二:按 download.config 分地址烧录
适用于更新部分分区或二次开发。请按 download.config 配置各 bin 文件的烧录地址和 flash 参数。
ESP32-C61-WROOM-1 对应固件的 download.config 如下:
--flash-mode dio --flash-freq 80m --flash-size 4MB
0x0 bootloader/bootloader.bin
0xc000 partition_table/partition-table.bin
0xd000 ota_data_initial.bin
0x30000 at_customize.bin
0x31000 customized_partitions/mfg_nvs.bin
0xa0000 esp-at.bin
--flash-mode dio代表此固件采用的 flash dio 模式进行编译;--flash-freq 80m代表此固件采用的 flash 通讯频率为 80 MHz;--flash-size 4MB代表此固件适用的 flash 最小为 4 MB;0xd000 ota_data_initial.bin代表在0xd000地址烧录ota_data_initial.bin文件。
Windows
配置方式与 方式一:烧录量产固件(推荐) 中 Windows 部分相同,区别如下:
根据
download.config配置各 bin 文件及对应地址请勿勾选 “DoNotChgBin”,并将 SPI SPEED、SPI MODE 设置成与
download.config一致
下载至多个地址界面图(点击放大)
烧录完成后,请 检查 AT 固件是否烧录成功。
Linux 或 macOS
请将 PORTNAME 替换为开发板的下载接口,将 download.config 替换为该文件中的参数列表,并在解压后的固件目录中执行。若无法确定接口名称,请参考 在 Linux 和 macOS 上查看端口。
esptool --chip auto --port PORTNAME --baud 115200 --before default-reset --after hard-reset write-flash -z download.config
以下为烧录至 ESP32-C61-WROOM-1 模组的示例命令:
esptool --chip auto --port /dev/tty.usbserial-0001 --baud 115200 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq 80m --flash-size 4MB 0xc000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin 0x0 bootloader/bootloader.bin 0xa0000 esp-at.bin 0x30000 at_customize.bin 0x31000 customized_partitions/mfg_nvs.bin
烧录完成后,请 检查 AT 固件是否烧录成功。
第三步:检查 AT 固件是否烧录成功
打开串口工具(如 SecureCRT),按以下参数连接用于发送或接收“AT 命令/响应”的串口,端口说明见 硬件连接:
参数 |
取值 |
|---|---|
波特率 |
115200 |
数据位 |
8 |
校验位 |
None |
停止位 |
1 |
流控 |
None |
换行 |
CR LF |
输入 AT+GMR 命令并换行。若响应为 OK,则表示 AT 固件烧录成功。
AT+GMR
AT version:5.0.0.0(f6b0e89 - ESP32C61 - Oct 17 2025 08:55:06)
SDK version:v5.5.1-255-g07e9bf4970
compile time(65202f43):Oct 17 2025 19:46:13
Bin version:v5.0.0.0(ESP32C61-4MB)
OK
若未返回 OK,请查看 ESP32-C61 开机日志,确认固件是否正确初始化。
打开串口工具,选择用于“下载固件/输出日志”的串口,串口详情见 硬件连接。
波特率 115200,数据位 8,校验位 None,停止位 1,流控 None。
按下开发板的 RST 键。若日志与下面的参考日志相似,则说明 ESP-AT 固件已经正确初始化。
参考日志
ESP32-C61 开机日志:
ESP-ROM:esp32c61-eco3-20250228
Build:Feb 28 2025
rst:0xc (SW_CPU),boot:0xc (SPI_FAST_FLASH_BOOT)
Core0 Saved PC:0x4080a438
SPI mode:DIO, clock div:1
load:0x40845c00,len:0x1b80
load:0x4083bd70,len:0xce4
load:0x4083ea70,len:0x3248
load:0x4084a000,len:0x222c
entry 0x4083bd7a
I (29) boot: ESP-IDF v5.5.1-255-g07e9bf4970-dirty 2nd stage bootloader
I (30) boot: compile time Oct 17 2025 19:46:05
I (32) boot: chip revision: v1.0
I (32) boot: efuse block revision: v0.1
I (35) boot.esp32c61: SPI Speed : 80MHz
I (39) boot.esp32c61: SPI Mode : DIO
I (43) boot.esp32c61: SPI Flash Size : 4MB
I (47) boot: Enabling RNG early entropy source...
I (51) boot: Partition Table:
I (54) boot: ## Label Usage Type ST Offset Length
I (60) boot: 0 otadata OTA data 01 00 0000d000 00002000
I (67) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (73) boot: 2 nvs WiFi data 01 02 00010000 00020000
I (80) boot: 3 at_customize unknown 40 00 00030000 00070000
I (86) boot: 4 ota_0 OTA app 00 10 000a0000 00220000
I (93) boot: 5 ota_1 OTA app 00 11 002c0000 00140000
I (100) boot: End of partition table
I (103) esp_image: segment 0: paddr=000a0020 vaddr=42170020 size=2d18ch (184716) map
I (157) esp_image: segment 1: paddr=000cd1b4 vaddr=40800000 size=02e64h ( 11876) load
I (162) esp_image: segment 2: paddr=000d0020 vaddr=42000020 size=16ccb8h (1494200) map
I (533) esp_image: segment 3: paddr=0023cce0 vaddr=40802e64 size=0ff78h ( 65400) load
I (555) esp_image: segment 4: paddr=0024cc60 vaddr=40812e00 size=0416ch ( 16748) load
I (570) boot: Loaded app from partition at offset 0xa0000
I (571) boot: Disabling RNG early entropy source...
I (1087) at-init: at param mode: 1
I (1177) at-uart: AT cmd port:uart1 tx:6 rx:5 cts:4 rts:3 baudrate:115200
I (1178) at-init: module_name: ESP32C61-4MB
I (1179) at-init: max tx power=78, ret=0
I (1181) at-init: v5.0.0.0 (gitlab)
附录:固件包内容
解压后的 AT 固件目录结构如下(也可参考 AT 固件简介):
.
├── at_customize.bin // 二级分区表
├── bootloader // bootloader
│ └── bootloader.bin
├── customized_partitions // AT 自定义 bin 文件
│ ├── mfg_nvs.csv // 量产 NVS 分区的原始数据
│ └── mfg_nvs.bin // 量产 NVS 分区 bin 文件
├── download.config // 烧录固件的参数
├── esp-at.bin // AT 应用固件
├── esp-at.elf
├── esp-at.map
├── factory // 量产所需打包好的 bin 文件
│ ├── factory_XXX.bin // 填充至 ota_1 末尾的量产固件
│ └── factory_XXX_unfilled.bin // 填充至 AT 应用固件末尾的量产固件(推荐)
├── flasher_args.json // 烧录参数
├── ota_data_initial.bin // ota data 区初始值
├── partition_table // 一级分区列表
│ └── partition-table.bin
└── sdkconfig // AT 固件对应的编译配置