首页 / 资讯中心 / 文章详情

ESP32-S3 烧录成功反复重启:Flash 配置容量与实物不一致(ESP-IDF v6.1)

ESP32-S3 烧录成功反复重启:Flash 配置容量与实物不一致(ESP-IDF v6.1) ★ FEATURED ARTICLE
本文适用ESP-IDF v6.1ESP32-S3。烧录成功但上电循环重启根源sdkconfig中 Flash 配置容量大于开发板真实 Flash。配套环境搭建ESP-IDF v6.1 Windows 环境安装一、现象idf.py build、idf.py -p COMx flash编译、烧录全部成功开发板复位后串口持续循环重启无法进入业务代码日志二、报错日志特征工程配置 Flash 为 16MB开发板实物只有 8MB 时典型报错I (39) boot.esp32s3: SPI Flash Size : 16MB ... E (350) spi_flash: Detected size(8192k) smaller than the size in the binary image header(16384k). Probe failed. assert failed: __esp_sys_init_fn_init_flash esp_flash_spi_init.c:650 (flash_ret ESP_OK) ... Rebooting...日志关键点区分SPI Flash Size : 16MB固件镜像头部写死的配置值不是板子真实 FlashDetected size(8192k)芯片 SPI 探测到的真实 Flash 大小8192k 8MB16384k 16MB探测真实容量 镜像声明容量 → Flash 初始化断言失败直接触发重启常见产生原因复制别人工程对方硬件是 N16R8自己板子是 N8R8未改 Flash 配置ESP32-S3-DevKitC-1 有 N8R8 / N16R8 等子型号商品标题易混直接沿用示例工程配置拿到开发板未实测 Flash凭商品描述配置N8R88MB Flash 8MB PSRAMN16R816MB Flash 8MB PSRAM。商品标题仅作参考以探测结果为准。三、先确认板子真实 Flash 容量没有串口日志时在已激活的 ESP-IDF 环境中执行COMx换成实际串口esptool.py -p COMx flash_id输出中的Detected flash size即为真实 Flash 容量以此修改工程配置。项目含义Detected size串口启动日志 / esptool 探测开发板真实 Flash 容量SPI Flash Size镜像内配置修改后必须与 Detected size 一致四、修复步骤两处配置都要改重点sdkconfig与sdkconfig.defaults必须同步修改否则idf.py fullclean后 defaults 会把 Flash 配置盖回旧值。步骤 1 修改 sdkconfig.defaults追加或修改为CONFIG_ESPTOOLPY_FLASHSIZE_8MBy CONFIG_ESPTOOLPY_FLASHSIZE8MB步骤 2 修改 sdkconfig方式 A图形界面idf.py menuconfig依次进入Serial flasher config→Flash size选择8MB。方式 B直接打开sdkconfig文本修改 Flash 对应配置项。步骤 3 全量清理重新编译烧录改动 Flash 容量或分区表时建议先fullclean避免旧产物残留导致「配置已改、现象不变」。cd F:\esp\projects\wifi_led idf.py fullclean idf.py build idf.py -p COMx flash monitorCOMx换成实际串口。修复成功日志示例I (39) boot.esp32s3: SPI Flash Size : 8MB ... I (410) app: wifi_led boot正常进入业务日志不再循环重启。五、验收清单Flash 配置容量与 Detected size 一致esptool.py -p COMx flash_id探测容量与工程配置匹配启动日志打印SPI Flash Size : 8MB无 spi_flash 断言、不再反复重启成功打印应用业务日志六、快速排查速查表现象排查方案烧录成功上电循环重启对比日志镜像 SPI Flash Size 是否大于 Detected 真实容量Detected 8192kheader 写 16384k改 Flash 为 8MB → fullclean → build flash修改后清理Flash 又变回 16MB是否同步修改了sdkconfig.defaults改完配置现象完全不变是否执行了idf.py fullclean系列博文上一篇ESP-IDF v6.1 Windows 环境安装教程
阅读完成 · 觉得有帮助?
咨询建站