升级库后ESP32固件链接失败:缺失bootloader__40m.elf文件
解决ESP32升级PlatformIO库后固件链接失败的问题
升级相关库后,ESP32固件链接操作失败,报错信息:
*** [.pio/build/nano/bootloader.bin] Source
/Users/stephanedeluca/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/bin/bootloader__40m.elf' not found, needed by target.pio/build/nano/bootloader.bin'.
升级的PlatformIO配置如下:
[env] platform = espressif32 ;@ ~3.5.0 board = esp-wrover-kit ;board = esp32dev framework = arduino platform_packages = framework-arduinoespressif32 ;3.20007.0 << new version ;@3.10006.210326 tool-esptoolpy ;@1.40201.0 << new version ;@1.30100.210531 toolchain-xtensa32 ;@2.50200.97 << stick to the same version ;@2.50200.97
同事电脑可正常完成固件链接,本人使用MacBook。
解决办法:
清理缓存并重新安装依赖
- 关闭VS Code/PlatformIO IDE
- 删除本地framework缓存目录:
/Users/stephanedeluca/.platformio/packages/framework-arduinoespressif32 - 重新打开IDE,执行
PlatformIO: Rebuild IntelliSense,让PlatformIO重新下载完整的framework包
(新版本framework的bootloader文件路径或命名可能有变化,重新下载能确保文件完整无缺失)
核对board配置一致性
确认你的board配置(当前是esp-wrover-kit)和同事完全一致,不同board的默认时钟、bootloader配置逻辑可能不同。可以临时切换到esp32dev测试编译,排查是否是board配置导致的路径不匹配。固定framework的稳定版本
从配置注释看你升级到了3.20007.0版本,这个版本可能在Mac环境下存在文件缺失的bug。可以尝试改成同事使用的稳定版本,修改配置如下:platform_packages = framework-arduinoespressif32@3.10006.210326 tool-esptoolpy@1.40201.0 toolchain-xtensa32@2.50200.97固定版本后重新编译,看是否解决问题。
修复文件权限问题
Mac系统下可能存在权限限制,导致PlatformIO无法读取或写入bootloader文件。执行以下命令给packages目录赋予足够权限:sudo chown -R $USER /Users/stephanedeluca/.platformio/packages/
内容的提问来源于stack exchange,提问作者Stéphane de Luca
相关产品推荐
相关产品推荐

