# flash 的可选功能

[English]

有些功能并非所有的 ESP 芯片和 flash 芯片都支持，具体功能可参阅以下列表：

- 自动挂起和恢复

- flash 的唯一 ID

- QSPI flash 芯片的高性能模式

- SPI flash 芯片的深度掉电模式

- QSPI flash 芯片的 32 位地址支持

- OPI flash 支持

备注

使用上述 flash 可选功能时，除了 ESP 芯片自身的功能以及所选的 ESP-IDF 版本，还需确保所用的 flash 芯片支持下列功能：

- 如果使用乐鑫官方的模组或 SiP，请查阅 技术规格书，确保其具备上述功能。也可以联系 乐鑫商务部，咨询具备此类功能的相关产品。

- 如果使用其他厂商的 flash 芯片来自行组装模组，并且需要应用上述功能，请联系供应商确认所用芯片支持上述功能，并确保厂商会持续量产所用的芯片。

注意

本文档仅表明 ESP-IDF 代码支持 flash 芯片的部分功能，乐鑫官方并未对这些芯片进行全面的稳定性认证。如果使用其他厂商生产的 flash 芯片来组建硬件，即便这些芯片具备上述功能，也需要自行验证其可靠性。

## 自动挂起和恢复

乐鑫芯片除 ESP32、ESP32-S2 外，均支持此功能。

支持此功能的 flash 芯片列表：

1. XM25xxD 系列

2. GD25QxxE 系列

3. FM25Q32

注意

自动挂起功能有多重限制，在启用此功能前请务必先行阅读 flash 自动暂停功能。

## flash 的唯一 ID

所有乐鑫芯片均支持此功能。

flash 的唯一 ID 并不等同于 flash ID，每个 flash 设备都有一个 64 位的唯一 ID。读取这个唯一 ID (4Bh) 的指令将访问出厂设置的 64 位只读数字，从而识别出每台设备。并非所有 flash 供应商都支持此功能，如果在没有此功能的芯片上读取该唯一 ID，则可能导致不确定的后果。

支持此功能的 flash 芯片列表：

1. ISSI

2. GD

3. TH

4. FM

5. Winbond

6. XMC

7. BOYA

## QSPI flash 芯片的高性能模式

目前仅有 ESP32-S3 支持此功能。

未来 ESP32-S2, ESP32-C3, ESP32-C6, ESP32-H2 及 ESP32-P4 可能会添加此功能。

备注

本节适用于 QSPI flash 芯片。ESP 芯片上使用的八线 flash 默认支持高性能模式。有关支持高性能模式的所有八线 flash 芯片，请参考 OPI flash 支持。

## SPI flash 芯片的深度掉电模式

目前仅有 ESP32-H21， ESP32-H4 和 ESP32-P4（版本小于v3） 支持此功能。

其他 ESP32 系列芯片暂未支持此功能。若你有相关需求，可向乐鑫（Espressif）官方提出申请。

深度掉电模式是大多数 SPI flash 芯片均支持的一种电源模式，相较于 standby 模式（保持片选信号有效），SPI flash 在此模式下的功耗表现更优，这能使电流降低约 10 uA。

若你计划在 ESP32-H21 或 ESP32-H4 上使用其他型号的闪存芯片，或是在开发其他 ESP32 系列芯片的相关项目，请务必查阅对应的 SPI flash 数据手册，或直接向我们咨询。

## QSPI flash 芯片的 32 位地址支持

所有乐鑫芯片均支持此功能（见下文的应用限制章节）。

备注

本节适用于 QSPI flash 芯片。八线 flash 芯片的 32 位地址支持属于八线 flash 支持的一部分。有关支持此功能的八线 flash 芯片列表，请参考 OPI flash 支持。

乐鑫芯片所用的大多数 NOR flash 芯片使用 24 位地址，可以覆盖 16 MB 的内存。但对于更大的内存（通常大于或等于 32 MB），flash 使用 32 位地址来访问超过 16 MB 内存的区域。但是，32 位地址的芯片具有厂商特定的命令，因此需要逐一支持这些芯片。

支持此功能的 flash 芯片列表：

1. W25Q256

2. GD25Q256

3. XM25QH256D

### 限制

重要

上述超过 16 MB 内存的 flash 区域可用于数据存储，例如使用文件系统。

将数据或指令映射到 32 位物理地址空间（以便由 CPU 访问）需要 MMU 的支持。但 ESP32-C3 并不支持此功能。目前只有 ESP32-S3 和 ESP32-P4 支持此功能。

## OPI flash 支持

目前仅有 ESP32-S3 支持此功能。

OPI flash 是指 flash 芯片支持八线外设接口，具有八个 I/O 管脚。不同的八线 flash 有不同的配置和命令，因此必须仔细检查支持列表。

此文档对您有帮助吗？

- 反馈已收到，谢谢！
- 如果您有其他意见，欢迎填写乐鑫文档反馈表。

- 我们重视您的反馈。
- 您可以填写乐鑫文档反馈表告诉我们如何改进该文档。