Merge branch 'feature/configure_flash_write_chunk_size' into 'master'
spi_flash: add configuration option to select flash write chunk size See merge request espressif/esp-idf!9067
This commit is contained in:
commit
479269a52b
3 changed files with 20 additions and 0 deletions
|
@ -130,6 +130,16 @@ menu "SPI Flash driver"
|
||||||
help
|
help
|
||||||
Defines how many ticks will be before returning to continue a erasing.
|
Defines how many ticks will be before returning to continue a erasing.
|
||||||
|
|
||||||
|
config SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
int "Flash write chunk size"
|
||||||
|
default 8192
|
||||||
|
range 256 8192
|
||||||
|
help
|
||||||
|
Flash write is broken down in terms of multiple (smaller) write operations.
|
||||||
|
This configuration options helps to set individual write chunk size, smaller
|
||||||
|
value here ensures that cache (and non-IRAM resident interrupts) remains
|
||||||
|
disabled for shorter duration.
|
||||||
|
|
||||||
menu "Auto-detect flash chips"
|
menu "Auto-detect flash chips"
|
||||||
|
|
||||||
config SPI_FLASH_SUPPORT_ISSI_CHIP
|
config SPI_FLASH_SUPPORT_ISSI_CHIP
|
||||||
|
|
|
@ -28,7 +28,12 @@
|
||||||
|
|
||||||
static const char TAG[] = "spi_flash";
|
static const char TAG[] = "spi_flash";
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
#define MAX_WRITE_CHUNK CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE /* write in chunks */
|
||||||
|
#else
|
||||||
#define MAX_WRITE_CHUNK 8192 /* write in chunks */
|
#define MAX_WRITE_CHUNK 8192 /* write in chunks */
|
||||||
|
#endif // CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
|
||||||
#define MAX_READ_CHUNK 16384
|
#define MAX_READ_CHUNK 16384
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,12 @@ esp_rom_spiflash_result_t IRAM_ATTR spi_flash_write_encrypted_chip(size_t dest_a
|
||||||
/* Limit number of bytes written/read in a single SPI operation,
|
/* Limit number of bytes written/read in a single SPI operation,
|
||||||
as these operations disable all higher priority tasks from running.
|
as these operations disable all higher priority tasks from running.
|
||||||
*/
|
*/
|
||||||
|
#ifdef CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
#define MAX_WRITE_CHUNK CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
#else
|
||||||
#define MAX_WRITE_CHUNK 8192
|
#define MAX_WRITE_CHUNK 8192
|
||||||
|
#endif // CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE
|
||||||
|
|
||||||
#define MAX_READ_CHUNK 16384
|
#define MAX_READ_CHUNK 16384
|
||||||
|
|
||||||
static const char *TAG __attribute__((unused)) = "spi_flash";
|
static const char *TAG __attribute__((unused)) = "spi_flash";
|
||||||
|
|
Loading…
Reference in a new issue