SPI Flash API ESP-IDF 版本与芯片 ROM 版本的对比
芯片 ROM 中有一组 SPI flash 驱动程序,可以通过启用 CONFIG_SPI_FLASH_ROM_IMPL 来使用。大多数 ESP-IDF SPI flash 驱动程序的代码都在内部 RAM 中,因此启用此选项可以释放一些内部 RAM 的占用量。请注意,如果启用此选项,一些 ESP-IDF 中的 SPI flash 驱动程序功能和错误修复可能不会体现在芯片 ROM 版本中。
ESP-IDF 支持但不包含在芯片 ROM 中的功能
八线 flash 芯片。详情请参阅 OPI flash 支持。
GD25Q256 32 位地址。请注意,此功能为可选功能,详情请参阅 QSPI flash 芯片的 32 位地址支持。
TH flash 芯片。
Kconfig 选项 CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED。
CONFIG_SPI_FLASH_VERIFY_WRITE,启用此选项可检测错误写入。
CONFIG_SPI_FLASH_LOG_FAILED_WRITE,启用此选项会打印错误写入。
CONFIG_SPI_FLASH_WARN_SETTING_ZERO_TO_ONE,启用此选项会检查是否将 0 写入为 1。
CONFIG_SPI_FLASH_DANGEROUS_WRITE,启用此选项会检查是否对某些受保护的区域(如引导加载程序、分区表或应用程序本身)进行了 flash 编程。
CONFIG_SPI_FLASH_ENABLE_COUNTERS,启用此选项以收集 ESP-IDF SPI flash 驱动程序 API 的性能数据。
CONFIG_SPI_FLASH_AUTO_SUSPEND,启用此选项可在 flash 短时操作时自动挂起或恢复 flash 长时操作。请注意,此功能为可选功能,详情请参阅 自动挂起和恢复。
在 ESP-IDF 中引入,但不包含在芯片 ROM 中的错误修复
正确检测到大于 256 MBit 的 flash 芯片的物理大小。(提交 ID: b4964279d44f73cce7cfd5cf684567fbdfd6fd9e)
改进了 SPI1 的 CS 建立时间,否则可能会在 ZB32Q128 上报错。(提交 ID: 08f1bbe0c75382f1702e40c941e93314285105d4)
修复了只能将 128 KB 虚拟地址范围映射到 flash 指令中的问题。