Defines |
#define | USE_QSPI_DMA |
#define | Size(pAt25) ((pAt25)->pDesc->size) |
#define | PageSize(pAt25) ((pAt25)->pDesc->pageSize) |
#define | BlockSize(pAt25) ((pAt25)->pDesc->blockSize) |
#define | Name(pAt25) ((pAt25)->pDesc->name) |
#define | ManId(pAt25) (((pAt25)->pDesc->jedecId) & 0xFF) |
#define | PageNumber(pAt25) (Size(pAt25) / PageSize(pAt25)) |
#define | BlockNumber(pAt25) (Size(pAt25) / BlockSize(pAt25)) |
#define | PagePerBlock(pAt25) (BlockSize(pAt25) / PageSize(pAt25)) |
#define | BlockEraseCmd(pAt25) ((pAt25)->pDesc->blockEraseCmd) |
#define | ERROR_PROTECTED 1 |
#define | ERROR_BUSY 2 |
#define | ERROR_PROGRAM 3 |
#define | ERROR_SPI 4 |
#define | STATUS_RDYBSY (1 << 0) |
#define | STATUS_RDYBSY_READY (0 << 0) |
#define | STATUS_RDYBSY_BUSY (1 << 0) |
#define | STATUS_WEL (1 << 1) |
#define | STATUS_WEL_DISABLED (0 << 1) |
#define | STATUS_WEL_ENABLED (1 << 1) |
#define | STATUS_SWP (3 << 2) |
#define | STATUS_SWP_PROTALL (3 << 2) |
#define | STATUS_SWP_PROTSOME (1 << 2) |
#define | STATUS_SWP_PROTNONE (0 << 2) |
#define | STATUS_WPP (1 << 4) |
#define | STATUS_WPP_NOTASSERTED (0 << 4) |
#define | STATUS_WPP_ASSERTED (1 << 4) |
#define | STATUS_EPE (1 << 5) |
#define | STATUS_EPE_SUCCESS (0 << 5) |
#define | STATUS_EPE_ERROR (1 << 5) |
#define | STATUS_SPRL (1 << 7) |
#define | STATUS_SPRL_UNLOCKED (0 << 7) |
#define | STATUS_SPRL_LOCKED (1 << 7) |
#define | STATUS_QUAD_ENABLE (1 << 1) |
#define | STATUS_WRAP_ENABLE (0 << 4) |
#define | STATUS_LATENCY_CTRL (0xF << 0) |
#define | STATUS_WRAP_BYTE (1 << 5) |
#define | BLOCK_PROTECT_Msk (7 << 2) |
#define | TOP_BTM_PROTECT_Msk (1 << 5) |
#define | SEC_PROTECT_Msk (1 << 6) |
#define | CHIP_PROTECT_Msk (0x1F << 2) |
#define | READ_ARRAY 0x0B |
#define | READ_ARRAY_LF 0x03 |
#define | READ_ARRAY_DUAL 0x3B |
#define | READ_ARRAY_QUAD 0x6B |
#define | READ_ARRAY_DUAL_IO 0xBB |
#define | READ_ARRAY_QUAD_IO 0xEB |
#define | BLOCK_ERASE_4K 0x20 |
#define | BLOCK_ERASE_32K 0x52 |
#define | BLOCK_ERASE_64K 0xD8 |
#define | CHIP_ERASE_1 0x60 |
#define | CHIP_ERASE_2 0xC7 |
#define | BYTE_PAGE_PROGRAM 0x02 |
#define | SEQUENTIAL_PROGRAM_1 0xAD |
#define | SEQUENTIAL_PROGRAM_2 0xAF |
#define | WRITE_ENABLE 0x06 |
#define | WRITE_DISABLE 0x04 |
#define | PROTECT_SECTOR 0x36 |
#define | UNPROTECT_SECTOR 0x39 |
#define | READ_SECTOR_PROT 0x3C |
#define | READ_STATUS_1 0x05 |
#define | READ_STATUS_2 0x35 |
#define | READ_STATUS_3 0x33 |
#define | WRITE_STATUS 0x01 |
#define | READ_JEDEC_ID 0x9F |
#define | DEEP_PDOWN 0xB9 |
#define | RES_DEEP_PDOWN 0xAB |
#define | SOFT_RESET_ENABLE 0x66 |
#define | SOFT_RESET 0x99 |
#define | WRAP_ENABLE 0x77 |
#define | CONT_MODE_RESET 0xFF |
#define | ATMEL_SPI_FLASH 0x1F |
#define | ST_SPI_FLASH 0x20 |
#define | WINBOND_SPI_FLASH 0xEF |
#define | MACRONIX_SPI_FLASH 0xC2 |
#define | SST_SPI_FLASH 0xBF |
Functions |
uint32_t | S25FL1D_ReadJedecId (void) |
| Reads and returns the serial flash device ID.
|
void | S25FL1D_InitFlashInterface (uint8_t Mode) |
void | S25FL1D_SoftReset (void) |
void | S25FL1D_ContReadModeReset (void) |
| Issue 'CContinuous Read Mode' command, the device can return to normal SPI command mode, in which all commands can be accepts.
|
unsigned char | S25FL1D_Unprotect (void) |
| Unprotected the contents of the serial flash device.
|
unsigned char | S25FL1D_Protect (uint32_t StartAddr, uint32_t Size) |
| Unprotected the contents of the serial flash device.
|
void | S25FL1D_QuadMode (uint8_t Enable) |
| Enables critical writes operation on a serial flash device, such as sector protection, status register, etc.
|
void | S25FL1D_EnableWrap (uint8_t ByetAlign) |
| Enables critical writes operation on a serial flash device, such as sector protection, status register, etc.
|
void | S25FL1D_SetReadLatencyControl (uint8_t Latency) |
| Enables critical writes operation on a serial flash device, such as sector protection, status register, etc.
|
unsigned char | S25FL1D_EraseChip (void) |
| Erases all the content of the memory chip.
|
unsigned char | S25FL1D_EraseSector (unsigned int address) |
| Erases the specified block of the serial firmware dataflash.
|
unsigned char | S25FL1D_Erase64KBlock (unsigned int address) |
| Erases the specified 64KB block of the serial firmware dataflash.
|
unsigned char | S25FL1D_Write (uint32_t *pData, uint32_t size, uint32_t address, uint8_t Secure) |
| Writes data at the specified address on the serial firmware dataflash. The page(s) to program must have been erased prior to writing. This function handles page boundary crossing automatically.
|
unsigned char | S25FL1D_Read (uint32_t *pData, uint32_t size, uint32_t address) |
| Reads data from the specified address on the serial flash.
|
unsigned char | S25FL1D_ReadDual (uint32_t *pData, uint32_t size, uint32_t address) |
| Reads data from the specified address on the serial flash.
|
unsigned char | S25FL1D_ReadQuad (uint32_t *pData, uint32_t size, uint32_t address) |
| Reads data from the specified address on the serial flash.
|
unsigned char | S25FL1D_ReadDualIO (uint32_t *pData, uint32_t size, uint32_t address, uint8_t ContMode, uint8_t Secure) |
| Reads data from the specified address on the serial flash.
|
unsigned char | S25FL1D_ReadQuadIO (uint32_t *pData, uint32_t size, uint32_t address, uint8_t ContMode, uint8_t Secure) |
| Reads data from the specified address on the serial flash.
|
Interface for the S25fl1 Serial Flash driver.