Back from ESP32-S2 hibernate with FAST memory off
Posted: Tue Mar 30, 2021 9:42 pm
Hi,
I wrote low level code to put ESP32-S2 chip into hibernate mode and wake-up from there by RTC alarm timer. It works.
My concern is that when RTC FAST memory is enabled to power down on sleep, system reports error when got waked up. See the error and log:
E (46) boot: Fast booting is not successful
This error doesn't appear when FAST memory stays powered on during hibernate. But this is not a true hibernate indeed. Chip documentation says it should be off. And I've read docs at "32.5 RTC Boot". I see no option there to go without RTC memory.
My question is, is there a normal software way to tell bootloader to go right to "legacy" SPI boot, because FAST memory is actually off and so there's nothing to expect from it this way. Booting time doesn't matter for this example.
Thanks
I wrote low level code to put ESP32-S2 chip into hibernate mode and wake-up from there by RTC alarm timer. It works.
My concern is that when RTC FAST memory is enabled to power down on sleep, system reports error when got waked up. See the error and log:
E (46) boot: Fast booting is not successful
Code: Select all
ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe6100,len:0x4
load:0x3ffe6104,len:0x1308
load:0x4004c000,len:0x1580
load:0x40050000,len:0x1fe8
entry 0x4004c2e0
MCU reset 0x01
Wake count: 0
Wait: 262144 up to 0x00000004dc30
Entering hibernate...
ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x5 (DSLEEP),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe6100,len:0x4
load:0x3ffe6104,len:0x1308
load:0x4004c000,len:0x1580
load:0x40050000,len:0x1fe8
entry 0x4004c2e0
E (46) boot: Fast booting is not successful
RTC TIMER wakeup 0x00000008
Wake count: 1
Wait: 262144 up to 0x00000009ac63
Entering hibernate...
My question is, is there a normal software way to tell bootloader to go right to "legacy" SPI boot, because FAST memory is actually off and so there's nothing to expect from it this way. Booting time doesn't matter for this example.
Thanks