1/3 Bug 公告 标题 关于极少数启用【flash 擦除的自动暂停功能 (Auto Suspend)】或【在 PSRAM 中执行代码 (XIP from PSRAM)】的应用需要升级 ESP-IDF 的公告 发布日期 2023/09/04 公告编号 AR2023-003 编号 NA 版本 V1.0 判断应用是否受到影响 1. 确认是否启用【flash 擦除的自动暂停功能 (Auto Suspend)】,如果启用,则受影响。判断方法如下: • 芯片平台确认:使用 ESP32-C3 芯片平台的应用存在该风险,除此之外的芯片平台不存在该风险。 • 软件端确认:查看 CONFIG_SPI_FLASH_AUTO_SUSPEND 选项是否启用。若在上述芯片平台中启用了该选项,则应用将受到影响。 2. 确认是否启用【在 PSRAM 中执行代码 (XIP from PSRAM)】,如果启用,则受影响。判断方法如下: • 芯片平台确认:使用 ESP32-S2 或 ESP32-S3 芯片平台的应用存在该风险,除此之外的芯片平台不存在该风险。 • 软件端确认:查看 CONFIG_SPIRAM_FETCH_INSTRUCTIONS 和 CONFIG_SPIRAM_RODATA 选项是否同时启用。若在上述芯片平台中启用了以上两个选项,则应用将受到影响。 注意: • 上文所述三个选项均在 ESP-IDF 中默认关闭。 • 受到影响的应用需要将软件升级到 ESP-IDF 修复版本以上。问题涉及的 ESP-IDF 版本和修复版本见下文。
2/3 问题小结 在上述任一情况下,调用 esp_flash API 时将绕过对主 flash(即连接到 SPI0 CS0 的 flash)的并发访问保护。预料之外的并发访问可能会导致主 flash 数据损坏,设备可能无法启动。 涉及的 ESP-IDF 版本如下: 支持 flash 擦除的自动暂停功能的 ESP-IDF 版本: ESP-IDF 分支 涉及的发布版本 涉及的 Commit ID master after v5.2-dev 未发布相关版本 7a20ea5 至 ad0345a(不含) release/v5.1 v5.1 7a20ea5 至 0930b5c(不含) release/v5.0 v5.0~v5.0.3 7a20ea5 至 3fba342(不含) release/v4.4 v4.4~v4.4.5 7a20ea5 至 48e848c(不含) release/v4.3 v4.3~v4.3.5 7a20ea5 至 e1647e5(不含) 支持在 PSRAM 中执行代码的 ESP-IDF 版本: ESP-IDF 分支 涉及的发布版本 涉及的 Commit ID master after v5.2-dev 未发布相关版本 1005c3b 至 ad0345a(不含) release/v5.1 v5.1 1005c3b 至 0930b5c(不含) release/v5.0 v5.0.1~v5.0.3 987e6b4 至 3fba342(不含) release/v4.4 v4.4.5 43b9f6d 至 48e848c(不含) ESP-IDF 修复版本 ESP-IDF 分支 ESP-IDF 修复版本 修复 Commit ID master after v5.2-dev 预计在 v5.2 中修复 ad0345a release/v5.1 预计在 v5.1.1 中修复 0930b5c release/v5.0 预计在 v5.0.4 中修复 3fba342 release/v4.4 预计在 v4.4.6 中修复 48e848c release/v4.3 预计在 v4.3.6 中修复 e1647e5
3/3 给使用者的建议 如果产品可能会使用上述功能,请检查项目的 sdkconfig 文件,查看是否启用了受影响的功能。如果启用了上述功能,并且所使用的 ESP-IDF 版本在受影响的版本之列,建议升级到修复后的 ESP-IDF 版本或合并了补丁的 ESP-IDF 版本,见上表。如果在升级过程中遇到任何问题,请将使用的 ESP-IDF 版本号或 Commit ID 提供给乐鑫。我们将尽快协助您处理相关问题。