S25FL1 NOR Flash
NuttX provides support for NOR flashes from S25FL1 family. Capacity up to 64 Mbit (8 MB) is supported.
QSPI based flash is enabled by option CONFIG_MTD_S25FL1. It is possible
to select the QSPI mode with CONFIG_S25FL1_QSPIMODE option and
communication frequency with CONFIG_S25FL1_QSPI_FREQUENCY option.
The flash allows to simulate 512-byte large erase blocks if option
CONFIG_S25FL1_SECTOR512 is enabled. Data scrambling can be enabled
by CONFIG_S25FL1_SCRAMBLE. This requiores a driver support for data
scrambling/descrambling. Scrambling key is set by
CONFIG_S25FL1_SCRAMBLE_KEY option.
The size of the flash is set automatically during the device initialization.
The flash memory has to be initialized before used. This is typically done from board support package layer during the board’s bringup phase. This operation is performed by following function.
#include <nuttx/mtd/mtd.h>
FAR struct mtd_dev_s *s25fl1_initialize(FAR struct qspi_dev_s *qspi,
bool unprotect)