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.