mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/spi_flash_rom_corruption_execute_flash_cmd' into 'master'
spi_flash: fix the corruption of ROM after calling bootloader_execute_flash_command See merge request espressif/esp-idf!14855
This commit is contained in:
commit
e5e36c899d
@ -578,6 +578,8 @@ IRAM_ATTR static uint32_t bootloader_flash_execute_command_common(
|
||||
assert(mosi_len <= 32);
|
||||
assert(miso_len <= 32);
|
||||
uint32_t old_ctrl_reg = SPIFLASH.ctrl.val;
|
||||
uint32_t old_user_reg = SPIFLASH.user.val;
|
||||
uint32_t old_user1_reg = SPIFLASH.user1.val;
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
SPIFLASH.ctrl.val = SPI_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
|
||||
#else
|
||||
@ -624,6 +626,8 @@ IRAM_ATTR static uint32_t bootloader_flash_execute_command_common(
|
||||
while (SPIFLASH.cmd.usr != 0) {
|
||||
}
|
||||
SPIFLASH.ctrl.val = old_ctrl_reg;
|
||||
SPIFLASH.user.val = old_user_reg;
|
||||
SPIFLASH.user1.val = old_user1_reg;
|
||||
|
||||
uint32_t ret = SPIFLASH.data_buf[0];
|
||||
if (miso_len < 32) {
|
||||
|
Loading…
Reference in New Issue
Block a user