Note:
Data Structures | |
struct | lfs_spi_flash_bd_config_t |
Configuration structure for the SPI flash block device. More... | |
Macros | |
#define | LFS_SPI_FLASH_BD_TRACE(...) |
Enable trace for this driver by defining this macro. More... | |
Functions | |
void | lfs_spi_flash_bd_get_default_config (lfs_spi_flash_bd_config_t *bd_cfg) |
Fetches the default configuration for the block device for use with the lfs_spi_flash_bd_create() function. More... | |
cy_rslt_t | lfs_spi_flash_bd_create (struct lfs_config *lfs_cfg, const lfs_spi_flash_bd_config_t *bd_cfg) |
Initializes the SPI flash and populates the lfs_config structure with the default values. More... | |
void | lfs_spi_flash_bd_destroy (const struct lfs_config *lfs_cfg) |
De-initializes the SPI flash and frees the resources. More... | |
int | lfs_spi_flash_bd_read (const struct lfs_config *lfs_cfg, lfs_block_t block, lfs_off_t off, void *buffer, lfs_size_t size) |
Reads the data starting from a given block and offset. More... | |
int | lfs_spi_flash_bd_prog (const struct lfs_config *lfs_cfg, lfs_block_t block, lfs_off_t off, const void *buffer, lfs_size_t size) |
Programs or writes the data starting from a given block and offset. More... | |
int | lfs_spi_flash_bd_erase (const struct lfs_config *lfs_cfg, lfs_block_t block) |
Erases a given block. More... | |
int | lfs_spi_flash_bd_sync (const struct lfs_config *lfs_cfg) |
Flushes the write cache when present. More... | |
int | lfs_spi_flash_bd_lock (const struct lfs_config *lfs_cfg) |
Locks or gets the mutex associated with this block device. More... | |
int | lfs_spi_flash_bd_unlock (const struct lfs_config *lfs_cfg) |
Unlocks or sets the mutex associated with this block device. More... | |
struct lfs_spi_flash_bd_config_t |
#define LFS_SPI_FLASH_BD_TRACE | ( | ... | ) |
Enable trace for this driver by defining this macro.
You must also define the global trace enable macro LFS_YES_TRACE.
void lfs_spi_flash_bd_get_default_config | ( | lfs_spi_flash_bd_config_t * | bd_cfg | ) |
Fetches the default configuration for the block device for use with the lfs_spi_flash_bd_create() function.
Default configuration: SFDP enabled, QSPI (IO0 to Io3) mode, 50 MHz clock.
bd_cfg | Pointer to the block device configuration structure. |
cy_rslt_t lfs_spi_flash_bd_create | ( | struct lfs_config * | lfs_cfg, |
const lfs_spi_flash_bd_config_t * | bd_cfg | ||
) |
Initializes the SPI flash and populates the lfs_config structure with the default values.
lfs_cfg | Pointer to the lfs_config structure that will be initialized with the default values. |
bd_cfg | Pointer to the block device configuration structure. |
void lfs_spi_flash_bd_destroy | ( | const struct lfs_config * | lfs_cfg | ) |
De-initializes the SPI flash and frees the resources.
lfs_cfg | Pointer to the lfs_config structure. |
int lfs_spi_flash_bd_read | ( | const struct lfs_config * | lfs_cfg, |
lfs_block_t | block, | ||
lfs_off_t | off, | ||
void * | buffer, | ||
lfs_size_t | size | ||
) |
Reads the data starting from a given block and offset.
Calls the non-blocking read API from serial-flash and waits on a semaphore until read completes if COMPONENTS=RTOS_AWARE is added in the makefile. Otherwise, calls the blocking read function.
lfs_cfg | Pointer to the lfs_config structure. |
block | Block number from which read should begin. |
off | Offset in the block from which read should begin. |
buffer | Pointer to the buffer to store the data read from the memory. |
size | Number of bytes to read. |
int lfs_spi_flash_bd_prog | ( | const struct lfs_config * | lfs_cfg, |
lfs_block_t | block, | ||
lfs_off_t | off, | ||
const void * | buffer, | ||
lfs_size_t | size | ||
) |
Programs or writes the data starting from a given block and offset.
The block must have been previously erased. This is a blocking function.
lfs_cfg | Pointer to the lfs_config structure. |
block | Block number from which write should begin. |
off | Offset in the block from which write should begin. |
buffer | Pointer to the buffer that contains the data to be written. |
size | Number of bytes to write. |
int lfs_spi_flash_bd_erase | ( | const struct lfs_config * | lfs_cfg, |
lfs_block_t | block | ||
) |
Erases a given block.
A block must be erased before being programmed. This is a blocking function.
lfs_cfg | Pointer to the lfs_config structure. |
block | Block number to be erased. |
int lfs_spi_flash_bd_sync | ( | const struct lfs_config * | lfs_cfg | ) |
Flushes the write cache when present.
Simply returns zero because QSPI block does not have any write cache in MMIO mode.
lfs_cfg | Pointer to the lfs_config structure. |
int lfs_spi_flash_bd_lock | ( | const struct lfs_config * | lfs_cfg | ) |
Locks or gets the mutex associated with this block device.
This function is internally called by the littlefs APIs when LFS_THREADSAFE is defined. User should call this function directly only if the other block device functions are directly called and thread-safety is required in that case.
lfs_cfg | Pointer to the lfs_config structure. |
int lfs_spi_flash_bd_unlock | ( | const struct lfs_config * | lfs_cfg | ) |
Unlocks or sets the mutex associated with this block device.
This function is internally called by the littlefs APIs when LFS_THREADSAFE is defined. User should call this function directly only if the other block device functions are directly called and thread-safety is required in that case.
lfs_cfg | Pointer to the lfs_config structure. |