将官方固件烧录到ESP32

将官方固件烧录到ESP32主要分为两个阶段:准备固件文件执行烧录。最常用的方法是使用乐鑫官方提供的 esptool.py 命令行工具,它稳定且支持所有ESP系列芯片

以下是详细的操作步骤,我将其拆解为三个核心部分。

第一步:准备工作

你需要确认两件事:

  1. 获取固件文件:根据你的需求,去乐鑫官网或相关项目(如MicroPython、ESPHome)下载正确的固件(.bin文件)。注意选择与你开发板型号(如ESP32、ESP32-S3、ESP32-C3)匹配的固件。
  2. 安装烧录工具
    • 推荐方法:在电脑上打开命令行(CMD或终端),运行以下命令安装 esptool
    • 备选方法:如果你不想用命令行,也可以下载乐鑫官方的图形化烧录工具——Flash Download Tool(仅支持Windows)
  3. 命令安装 esptool:
pip install esptool

第二步:执行烧录(核心步骤)

烧录前,最好先擦除一下Flash,避免旧数据干扰新固件。然后在命令行中,导航到你存放固件文件的文件夹。

1. 擦除Flash

将下面命令中的 <你的串口号> 替换为实际的端口(如 Windows 的 COM3,Linux 的 /dev/ttyUSB0):

bash

esptool.py --port <你的串口号> erase_flash

2. 写入新固件

擦除成功后,使用以下命令烧录固件。请务必注意 0x10000 这个起始地址,它是ESP32存放应用程序的标准位置,写错会导致无法启动

bash

esptool.py --port <你的串口号> --baud 460800 write_flash 0x10000 <你的固件文件名>.bin
  • --baud 460800 是烧录速度,如果失败可以降低到 115200
  • 如果系统自动识别串口失败,可以像擦除命令一样,手动指定 --port 参数。

3. 手动进入下载模式(如果烧录失败)

如果命令行一直显示“Connecting…”或失败,你需要手动将ESP32置于下载模式:

  1. 按住开发板上的 BOOT 按钮不放。
  2. 按一下 EN(或RST)按钮后松开。
  3. 再松开 BOOT 按钮。
  4. 此时芯片已进入等待下载状态,可以再次尝试运行烧录命令

第三步:验证固件是否成功

烧录完成后,开发板通常会自动复位。你可以用串口工具(如 PuTTYThonny 或 Arduino IDE 的串口监视器)来检查:

  1. 将波特率设置为 115200
  2. 按下开发板的 EN 按钮重启。
  3. 如果看到类似 rst:0x1 (POWERON_RESET) 的系统日志或MicroPython的 >>> 提示符,就说明固件已经成功运行了

关于ESP-IDF固件的特别说明:如果你烧录的是自己用乐鑫物联网开发框架编译出来的固件,通常需要烧录三个文件:引导加载程序 (bootloader.bin)、分区表 (partition-table.bin) 和应用程序 (<your_app>.bin)。它们的起始地址通常是 0x10000x8000 和 0x10000,具体路径在编译完成后会在终端里显示

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注