Optional Features for Flash
Some features are not supported on all ESP chips and flash chips. You can check the list below for more information:
Note
When Flash optional features listed in this page are used, aside from the capability of ESP chips and ESP-IDF version you are using, you will also need to make sure these features are supported by flash chips used:
If you are using an official Espressif modules/SiP, please make sure that they support the above features by referring to the datasheet. Otherwise, please contact Espressif's business team to know if we can supply such products for you.
If you are making your own modules with your own bought flash chips and need features listed above, please contact your vendor to see if they support those features, and make sure that the chips can be supplied continuously.
Attention
This document only shows that ESP-IDF code has supported the features of those flash chips. It is not a list of stable flash chips certified by Espressif. If you build your own hardware with your own brought flash chips (even with features listed in this page), you need to validate the reliability of flash chips yourself.
Auto Suspend & Resume
This feature is only supported on ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, and ESP32-H2 for now.
The support for ESP32-P4 may be added in the future.
List of flash chips that support this feature:
XM25QxxC series
GD25QxxE series
FM25Q32
Attention
There are multiple limitations about the auto-suspend feature, please do read Flash Auto Suspend Feature for more information before you enable this feature.
Flash Unique ID
This feature is supported on all Espressif chips.
Unique ID is not flash id, which means flash has 64-bit unique ID for each device. The instruction to read the unique ID (4Bh) accesses a factory-set read-only 64-bit number that is unique to each flash device. This ID number helps you to recognize each device. Not all flash vendors support this feature. If you try to read the unique ID on a chip which does not have this feature, the behavior is not determined.
List of flash chips that support this feature:
ISSI
GD
TH
FM
Winbond
XMC
BOYA
High Performance Mode of QSPI Flash Chips
This feature is only supported on ESP32-S3 for now.
The support for ESP32-S2, ESP32-C3, ESP32-C6, ESP32-H2, and ESP32-P4 may be added in the future.
Note
This section is provided for QSPI flash chips. Octal flash used on ESP-chips supports High Performance mode by default so far, please refer to OPI Flash Support for the list of supported octal flash chips.
32-bit Address Support of QSPI Flash Chips
This feature is supported on all Espressif chips (see restrictions to application below).
Note
This section is provided for QSPI flash chips. The 32-bit address support of Octal flash chips are considered as part of the Octal flash support. Please refer to OPI Flash Support for the list of supported octal flash chips.
Most NOR flash chips used by Espressif chips use 24-bits address, which can cover 16 MB memory. However, for larger memory (usually equal to or larger than 32 MB), flash uses a 32-bits address to address memory region higher than 16 MB. Unfortunately, 32-bits address chips have vendor-specific commands, so we need to support the chips one by one.
List of Flash chips that support this feature:
W25Q256
GD25Q256
Restrictions
Important
Over 16 MB space on flash mentioned above can be only used for data saving
, like file system.
Mapping data/instructions to 32-bit physical address space (so as to be accessed by the CPU) needs the support of MMU. However ESP32-C3 doesn't support this feature. Only ESP32-S3 and ESP32-P4 supports this up to now.
OPI Flash Support
This feature is only supported on ESP32-S3 for now.
OPI flash means that the flash chip supports octal peripheral interface, which has octal I/O pins. Different octal flash has different configurations and different commands. Hence, it is necessary to carefully check the support list.