]> granicus.if.org Git - esp-idf/commitdiff
Merge branch 'bugfix/spi_flash_lock_period' into 'master'
authorIvan Grokhotkov <ivan@espressif.com>
Fri, 24 Mar 2017 07:55:42 +0000 (15:55 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Fri, 24 Mar 2017 07:55:42 +0000 (15:55 +0800)
SPI flash operations lock for shorter periods

Based on bug report here:
https://esp32.com/viewtopic.php?f=13&t=1489&p=6816#p6773

Long SPI flash erase (and possibly write/read) cycles block all tasks on both CPUs for an extended period, and can lead to WiFi dissassociation (and general priority inversion.)

This MR inserts preemption breaks into large operations (all erases, writes every 8KB, reads every 16KB).

Overhead of a single spi_flash_guart_start()/spi_flash_guard_end() cycle measured at approx 67us (assuming no preemption.)

See merge request !600

1  2 
components/esp32/ld/esp32.common.ld

Simple merge