Rp2040/Components/spi_flash/include/esp_spi_flash.h File Reference
#include <esp_system.h>
#include <sys/pgmspace.h>
Include dependency graph for Rp2040/Components/spi_flash/include/esp_spi_flash.h:
Go to the source code of this file.
Classes | |
struct | SPIFlashInfo |
SPI Flash memory information block. Copied from bootloader header. See esp_image_header_t . More... | |
Macros | |
#define | SPI_FLASH_SEC_SIZE 4096 |
#define | FLASH_TOTAL_SEC_COUNT PICO_FLASH_SIZE_BYTES |
#define | SYS_PARAM_SEC_COUNT 4 |
Number of flash sectors reserved for system parameters at start. More... | |
#define | FLASH_WORK_SEC_COUNT (FLASH_TOTAL_SEC_COUNT - SYS_PARAM_SEC_COUNT) |
#define | INTERNAL_FLASH_SECTOR_SIZE SPI_FLASH_SEC_SIZE |
#define | INTERNAL_FLASH_SIZE ((FLASH_WORK_SEC_COUNT)*INTERNAL_FLASH_SECTOR_SIZE) |
#define | INTERNAL_FLASH_START_ADDRESS FLASH_BASE |
Enumerations | |
enum | SPIFlashMode { MODE_QIO = ESP_IMAGE_SPI_MODE_QIO , MODE_QOUT = ESP_IMAGE_SPI_MODE_QOUT , MODE_DIO = ESP_IMAGE_SPI_MODE_DIO , MODE_DOUT = ESP_IMAGE_SPI_MODE_DOUT , MODE_FAST_READ = ESP_IMAGE_SPI_MODE_FAST_READ , MODE_SLOW_READ = ESP_IMAGE_SPI_MODE_SLOW_READ , MODE_QIO = 0 , MODE_QOUT = 1 , MODE_DIO = 2 , MODE_DOUT = 15 , MODE_SLOW_READ = 0xFE , MODE_FAST_READ = 0xFF , MODE_QIO = 0 , MODE_QOUT = 1 , MODE_DIO = 2 , MODE_DOUT = 15 , MODE_SLOW_READ = 0xFE , MODE_FAST_READ = 0xFF } |
enum | SPIFlashSpeed { SPEED_40MHZ = 0 , SPEED_26MHZ = 1 , SPEED_20MHZ = 2 , SPEED_80MHZ = 0x0f , SPEED_40MHZ = 0 , SPEED_26MHZ = 1 , SPEED_20MHZ = 2 , SPEED_80MHZ = 15 , SPEED_40MHZ = 0 , SPEED_26MHZ = 1 , SPEED_20MHZ = 2 , SPEED_80MHZ = 15 } |
enum | SPIFlashSize { SIZE_1MBIT = ESP_IMAGE_FLASH_SIZE_1MB , SIZE_2MBIT = ESP_IMAGE_FLASH_SIZE_2MB , SIZE_4MBIT = ESP_IMAGE_FLASH_SIZE_4MB , SIZE_8MBIT = ESP_IMAGE_FLASH_SIZE_8MB , SIZE_16MBIT = ESP_IMAGE_FLASH_SIZE_16MB , SIZE_32MBIT = 0xFF , SIZE_4MBIT = 0 , SIZE_2MBIT = 1 , SIZE_8MBIT = 2 , SIZE_16MBIT = 3 , SIZE_32MBIT = 4 , SIZE_1MBIT = 0xFF , SIZE_4MBIT = 0 , SIZE_2MBIT = 1 , SIZE_8MBIT = 2 , SIZE_16MBIT = 3 , SIZE_32MBIT = 4 , SIZE_1MBIT = 0xFF } |
Functions | |
static uint32_t | flashmem_get_address (const void *memptr) |
Obtain the flash memory address for a memory pointer. More... | |
uint32_t | flashmem_write (const void *from, uint32_t toaddr, uint32_t size) |
Write a block of data to flash. More... | |
uint32_t | flashmem_read (void *to, uint32_t fromaddr, uint32_t size) |
Read a block of data from flash. More... | |
bool | flashmem_erase_sector (uint32_t sector_id) |
Erase a single flash sector. More... | |
SPIFlashInfo | flashmem_get_info () |
Get flash memory information block. More... | |
uint8_t | flashmem_get_size_type () |
Returns a number indicating the size of flash memory chip. More... | |
uint32_t | flashmem_get_size_bytes () |
get the total flash memory size More... | |
uint16_t | flashmem_get_size_sectors () |
Get the total number of flash sectors. More... | |
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. More... | |
uint32_t | flashmem_get_sector_of_address (uint32_t addr) |
Get sector number containing the given address. More... | |
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) |
Macro Definition Documentation
◆ SPI_FLASH_SEC_SIZE
#define SPI_FLASH_SEC_SIZE 4096 |
Function Documentation
◆ flashmem_get_address()
|
inlinestatic |
Obtain the flash memory address for a memory pointer.
- Parameters
-
memptr
- Return values
-
uint32_t Offset from start of flash memory
- Note
- If memptr is not in valid flash memory it will return an offset which exceeds the internal flash memory size.
- The flash location is dependent on where rBoot has mapped the firmware.