]> granicus.if.org Git - esp-idf/commitdiff
Merge branch 'bugfix/erase_with_vtaskdelay_v3.1' into 'release/v3.1'
authorJiang Jiang Jian <jack@espressif.com>
Sun, 28 Apr 2019 02:40:13 +0000 (10:40 +0800)
committerJiang Jiang Jian <jack@espressif.com>
Sun, 28 Apr 2019 02:40:13 +0000 (10:40 +0800)
spi_flash: Add vTaskDelay while a long erasing (v3.1)

See merge request idf/esp-idf!4874

1  2 
components/spi_flash/flash_ops.c

index 89f9ef5e141fd7256edf0e384a2857d10e8bb225,69e5e6305e8b01bb23223a5eeb37bb29fc18b494..e55514845522f5a589c667c16ecf6dbce1b77c53
@@@ -217,8 -218,11 +218,11 @@@ esp_err_t IRAM_ATTR spi_flash_erase_ran
      rc = spi_flash_unlock();
      if (rc == ESP_ROM_SPIFLASH_RESULT_OK) {
          for (size_t sector = start; sector != end && rc == ESP_ROM_SPIFLASH_RESULT_OK; ) {
+ #ifdef CONFIG_SPI_FLASH_YIELD_DURING_ERASE
+             int64_t start_time_us = esp_timer_get_time();
+ #endif
              spi_flash_guard_start();
 -            if (sector % sectors_per_block == 0 && end - sector > sectors_per_block) {
 +            if (sector % sectors_per_block == 0 && end - sector >= sectors_per_block) {
                  rc = esp_rom_spiflash_erase_block(sector / sectors_per_block);
                  sector += sectors_per_block;
                  COUNTER_ADD_BYTES(erase, sectors_per_block * SPI_FLASH_SEC_SIZE);