Esp32/Components/spi_flash/include/esp_spi_flash.h File Reference
#include <esp_idf_version.h>
#include <rom/spi_flash.h>
#include <esp_app_format.h>
Include dependency graph for Esp32/Components/spi_flash/include/esp_spi_flash.h:

Go to the source code of this file.

Classes

struct  SPIFlashInfo
 SPI Flash memory information block. Stored at the beginning of flash memory. More...
 

Macros

#define INTERNAL_FLASH_WRITE_UNIT_SIZE   4
 Flash memory access must be aligned and in multiples of 4-byte words. More...
 
#define INTERNAL_FLASH_READ_UNIT_SIZE   4
 
#define FLASH_TOTAL_SEC_COUNT   (flashmem_get_size_sectors())
 
#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)
 

Enumerations

enum  SPIFlashMode {
  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,
  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
}
 
enum  SPIFlashSpeed {
  SPEED_40MHZ = 0, SPEED_26MHZ = 1, SPEED_20MHZ = 2, SPEED_80MHZ = 15,
  SPEED_40MHZ = 0, SPEED_26MHZ = 1, SPEED_20MHZ = 2, SPEED_80MHZ = 15,
  SPEED_40MHZ = 0, SPEED_26MHZ = 1, SPEED_20MHZ = 2, SPEED_80MHZ = 0x0f
}
 
enum  SPIFlashSize {
  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,
  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
}
 

Functions

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 spi_flash_get_id (void)