API Documentation
-
enum SPIFlashMode
Values:
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_FAST_READ
-
enumerator MODE_SLOW_READ
-
enumerator MODE_QIO
-
enum SPIFlashSpeed
Values:
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enum SPIFlashSize
Values:
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_1MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_4MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
Not listed.
-
enumerator SIZE_4MBIT
-
enum SPIFlashMode
Values:
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_FAST_READ
-
enumerator MODE_SLOW_READ
-
enumerator MODE_QIO
-
enum SPIFlashSpeed
Values:
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enum SPIFlashSize
Values:
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_1MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_4MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
Not listed.
-
enumerator SIZE_4MBIT
-
enum SPIFlashMode
Values:
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_SLOW_READ
Not supported.
-
enumerator MODE_FAST_READ
Not supported.
-
enumerator MODE_QIO
-
enumerator MODE_QOUT
-
enumerator MODE_DIO
-
enumerator MODE_DOUT
-
enumerator MODE_FAST_READ
-
enumerator MODE_SLOW_READ
-
enumerator MODE_QIO
-
enum SPIFlashSpeed
Values:
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enumerator SPEED_26MHZ
-
enumerator SPEED_20MHZ
-
enumerator SPEED_80MHZ
-
enumerator SPEED_40MHZ
-
enum SPIFlashSize
Values:
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_4MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
-
enumerator SIZE_1MBIT
Not supported.
-
enumerator SIZE_1MBIT
-
enumerator SIZE_2MBIT
-
enumerator SIZE_4MBIT
-
enumerator SIZE_8MBIT
-
enumerator SIZE_16MBIT
-
enumerator SIZE_32MBIT
Not listed.
-
enumerator SIZE_4MBIT
-
inline uint32_t flashmem_get_address(const void *memptr)
Obtain the flash memory address for a memory pointer.
Note
If memptr is not in valid flash memory it will return an offset which exceeds the internal flash memory size.
Note
The flash location is dependent on where rBoot has mapped the firmware.
- Parameters
memptr –
- Returns
uint32_t – Offset from start of flash memory
-
uint32_t flashmem_write(const void *from, uint32_t toaddr, uint32_t size)
Write a block of data to flash.
Note
None of the parameters need to be aligned
- Parameters
from – Buffer to obtain data from
toaddr – Flash location to start writing
size – Number of bytes to write
- Returns
uint32_t – Number of bytes written
-
uint32_t flashmem_read(void *to, uint32_t fromaddr, uint32_t size)
Read a block of data from flash.
Note
none of the parameters need to be aligned
- Parameters
to – Buffer to store data
fromaddr – Flash location to start reading
size – Number of bytes to read
- Returns
uint32_t – Number of bytes written
-
bool flashmem_erase_sector(uint32_t sector_id)
Erase a single flash sector.
- Parameters
sector_id – the sector to erase
- Returns
true – on success
-
SPIFlashInfo flashmem_get_info()
Get flash memory information block.
- Returns
SPIFlashInfo – Information block
-
uint8_t flashmem_get_size_type()
Returns a number indicating the size of flash memory chip.
- Returns
uint8_t – See SpiFlashInfo.size field for possible values
-
uint32_t flashmem_get_size_bytes()
get the total flash memory size
- Returns
uint32_t – Size in bytes
-
uint16_t flashmem_get_size_sectors()
Get the total number of flash sectors.
- Returns
uint16_t – Sector count
-
uint32_t flashmem_find_sector(uint32_t address, uint32_t *pstart, uint32_t *pend)
Helper function: find the flash sector in which an address resides.
Note
Optional parameters may be null
- Parameters
address –
pstart – OUT/OPTIONAL: Start of sector containing the given address
pend – OUT/OPTIONAL: Last address in sector
- Returns
uint32_t – Sector number for the given address
-
uint32_t flashmem_get_sector_of_address(uint32_t addr)
Get sector number containing the given address.
- Parameters
addr –
- Returns
uint32_t – sector number
-
uint32_t flashmem_write_internal(const void *from, uint32_t toaddr, uint32_t size)
write to flash memory
Note
All parameters MUST be aligned to 4-byte word boundaries, including the RAM pointer
- Parameters
from – Buffer to read data from - MUST be word-aligned
toaddr – Flash address (offset) to write to - MUST be word-aligned
size – Number of bytes to write - MUST be word-aligned
- Returns
uint32_t – Number of bytes actually written
-
uint32_t flashmem_read_internal(void *to, uint32_t fromaddr, uint32_t size)
Read from flash memory.
Note
All parameters MUST be aligned to 4-byte word boundaries, including the RAM pointer
- Parameters
to – Buffer to store data - MUST be word-aligned
fromaddr – Flash address (offset) to read from - MUST be word-aligned
size – Number of bytes to read - MUST be word-aligned
- Returns
uint32_t – Number of bytes actually read
-
uint32_t flashmem_get_first_free_block_address()
-
uint32_t spi_flash_get_id(void)
-
void flashmem_sfdp_read(uint32_t addr, void *buffer, size_t count)
-
INTERNAL_FLASH_WRITE_UNIT_SIZE
Flash memory access must be aligned and in multiples of 4-byte words.
-
INTERNAL_FLASH_READ_UNIT_SIZE
-
FLASH_TOTAL_SEC_COUNT
-
SYS_PARAM_SEC_COUNT
Number of flash sectors reserved for system parameters at start.
-
FLASH_WORK_SEC_COUNT
-
INTERNAL_FLASH_SECTOR_SIZE
-
INTERNAL_FLASH_SIZE
-
INTERNAL_FLASH_START_ADDRESS
-
FLASH_TOTAL_SEC_COUNT
-
SYS_PARAM_SEC_COUNT
Number of flash sectors reserved for system parameters at start.
-
FLASH_WORK_SEC_COUNT
-
INTERNAL_FLASH_SECTOR_SIZE
-
INTERNAL_FLASH_SIZE
-
INTERNAL_FLASH_START_ADDRESS
-
SPI_FLASH_RESULT_OK
-
INTERNAL_FLASH_WRITE_UNIT_SIZE
Flash memory access must be aligned and in multiples of 4-byte words.
-
INTERNAL_FLASH_READ_UNIT_SIZE
-
FLASH_TOTAL_SEC_COUNT
-
SYS_PARAM_SEC_COUNT
Number of flash sectors reserved for system parameters at start.
-
FLASH_WORK_SEC_COUNT
-
INTERNAL_FLASH_SECTOR_SIZE
-
INTERNAL_FLASH_SIZE
-
struct STORE_TYPEDEF_ATTR
- #include <esp_spi_flash.h>
SPI Flash memory information block. Stored at the beginning of flash memory.
Public Members
-
uint8_t mode
SPIFlashMode.
-
uint8_t speed
SPIFlashSpeed.
-
uint8_t size
SPIFlashSize.
-
uint8_t mode
-
struct SPIFlashInfo
- #include <esp_spi_flash.h>
SPI Flash memory information block. Stored at the beginning of flash memory.
SPI Flash memory information block. Copied from bootloader header. See
esp_image_header_t
.Public Members
-
uint8_t mode
SPIFlashMode.
-
uint8_t speed
SPIFlashSpeed.
-
uint8_t size
SPIFlashSize.
-
uint8_t mode