revision版本不一致
这个错误的直接原因是:你正在往一颗 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 里写入了最大 revision 0.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 flash
Windows 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。
更多推荐


所有评论(0)