mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-01 04:50:58 +02:00
Update IDF to a8916daeb (#2992)
This commit is contained in:
@ -313,6 +313,10 @@ typedef void (*spi_flash_op_lock_func_t)(void);
|
||||
* @brief SPI flash operation unlock function.
|
||||
*/
|
||||
typedef void (*spi_flash_op_unlock_func_t)(void);
|
||||
/**
|
||||
* @brief Function to protect SPI flash critical regions corruption.
|
||||
*/
|
||||
typedef bool (*spi_flash_is_safe_write_address_t)(size_t addr, size_t size);
|
||||
|
||||
/**
|
||||
* Structure holding SPI flash access critical sections management functions.
|
||||
@ -332,6 +336,9 @@ typedef void (*spi_flash_op_unlock_func_t)(void);
|
||||
* - 'op_unlock' unlocks access to flash API internal data.
|
||||
* These two functions are recursive and can be used around the outside of multiple calls to
|
||||
* 'start' & 'end', in order to create atomic multi-part flash operations.
|
||||
* 3) When CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is disabled, flash writing/erasing
|
||||
* API checks for addresses provided by user to avoid corruption of critical flash regions
|
||||
* (bootloader, partition table, running application etc.).
|
||||
*
|
||||
* Different versions of the guarding functions should be used depending on the context of
|
||||
* execution (with or without functional OS). In normal conditions when flash API is called
|
||||
@ -343,10 +350,13 @@ typedef void (*spi_flash_op_unlock_func_t)(void);
|
||||
* For example structure can be placed in DRAM and functions in IRAM sections.
|
||||
*/
|
||||
typedef struct {
|
||||
spi_flash_guard_start_func_t start; /**< critical section start function. */
|
||||
spi_flash_guard_end_func_t end; /**< critical section end function. */
|
||||
spi_flash_op_lock_func_t op_lock; /**< flash access API lock function.*/
|
||||
spi_flash_op_unlock_func_t op_unlock; /**< flash access API unlock function.*/
|
||||
spi_flash_guard_start_func_t start; /**< critical section start function. */
|
||||
spi_flash_guard_end_func_t end; /**< critical section end function. */
|
||||
spi_flash_op_lock_func_t op_lock; /**< flash access API lock function.*/
|
||||
spi_flash_op_unlock_func_t op_unlock; /**< flash access API unlock function.*/
|
||||
#if !CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
|
||||
spi_flash_is_safe_write_address_t is_safe_write_address; /**< checks flash write addresses.*/
|
||||
#endif
|
||||
} spi_flash_guard_funcs_t;
|
||||
|
||||
/**
|
||||
@ -359,7 +369,6 @@ typedef struct {
|
||||
*/
|
||||
void spi_flash_guard_set(const spi_flash_guard_funcs_t* funcs);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get the guard functions used for flash access
|
||||
*
|
||||
|
Reference in New Issue
Block a user