这个错误的直接原因是:你正在往一颗ESP32-C5 revision v1.0芯片里烧录一个bootloader.bin,但这个 bootloader 在编译时声明自己只支持芯片版本:
[v0.0 - v0.99]而实际芯片是:
this chip is revision v1.0所以esptool.py阻止烧录:
A fatal error occurred: bootloader/bootloader.bin requires chip revision in range [v0.0 - v0.99] (this chip is revision v1.0). Use --force to flash anyway.也就是说:bootloader 与实际 ESP32-C5 芯片 revision 不匹配。
关键日志解读
你的日志里已经识别到了芯片:
Chip is ESP32-C5 (revision v1.0)但是烧录的 bootloader 是:
bootloader/bootloader.bin requires chip revision in range [v0.0 - v0.99]这说明bootloader.bin不是针对这颗 v1.0 芯片构建的,或者构建配置里把支持的最高芯片版本限制在了v0.99。
常见原因
1. ESP-IDF 版本对 ESP32-C5 rev v1.0 支持不完整
你当前路径看起来是:
idf5.4_py3.11_env如果你使用的是较早的 ESP-IDF 5.4 分支、旧的 preview 支持包,可能默认只支持 ESP32-C5 早期工程样片 / ECO 版本,也就是v0.x。
现在你的板子是正式或较新的:
ESP32-C5 revision v1.0因此老的 bootloader revision 约束不接受它。
2. 项目残留了旧的sdkconfig
如果这个工程之前是给旧版 ESP32-C5、ESP32-C6、ESP32-C3 或者其他芯片配置过的,sdkconfig里可能保留了芯片 revision 限制。
比如类似这种配置:
CONFIG_ESP32C5_REV_MIN... CONFIG_ESP32C5_REV_MAX...或者构建系统生成的 bootloader image header 里写入了最大 revision0.99。
3. 没有重新完整清理 bootloader
ESP-IDF 的 bootloader 是单独构建产物。你即使改了部分配置,如果没有fullclean,旧的 bootloader 可能还在:
build/bootloader/bootloader.bin于是继续烧录旧产物。
不建议直接用--force
日志提示:
Use --force to flash anyway.但这个只是绕过检查,不代表一定能正常运行。
不建议直接加--force,原因是 bootloader 可能真的没有针对 ESP32-C5 rev v1.0 做兼容,烧进去之后可能出现:
invalid header boot loop rst:0x... waiting for download只有在你非常确定 bootloader 实际兼容、只是 revision metadata 写错时,才考虑临时用--force。
建议处理方式
方案 1:升级 ESP-IDF
优先确认你用的 ESP-IDF 版本是否正式支持ESP32-C5 revision v1.0。
建议使用较新的 ESP-IDF release 或 master 分支,然后重新配置环境。
方案 2:删除旧配置并重新设置 target
在工程目录下执行:
idf.py fullclean idf.py set-target esp32c5 idf.py menuconfig idf.py build idf.py flash如果怀疑sdkconfig有历史残留,可以更彻底一点:
del sdkconfig idf.py set-target esp32c5 idf.py build idf.py flashWindows PowerShell 下是:
Remove-Item sdkconfig idf.py set-target esp32c5 idf.py build idf.py flash方案 3:检查 menuconfig 里的芯片 revision 配置
进入:
idf.py menuconfig然后查找和芯片 revision 相关的配置项,通常在类似位置:
Component config → ESP System Settings → Minimum Supported ESP32-C5 Revision → Maximum Supported ESP32-C5 Revision确保最大支持 revision 不要限制在v0.99,要覆盖你的实际芯片:
v1.0结论
你的问题不是串口、波特率、USB 驱动或 flash 接线问题。前面已经成功连接芯片并上传 stub:
Stub running... Changed. Configuring flash size...真正失败点是bootloader 的 chip revision 检查。
根因可以概括为:
当前生成的
bootloader.bin只允许烧录到 ESP32-C5 rev v0.x,但你的芯片是 ESP32-C5 rev v1.0。需要升级 ESP-IDF 或重新配置项目的 ESP32-C5 revision 支持范围,并完整重新构建 bootloader。