Wake up from deep sleep problem
Posted: Wed Jan 18, 2023 12:24 pm
Hi,
ENVIRONMENT:
espressif32@3.3.2 -> framework-espidf @ 3.40300.0 (4.3.0)
ESPTOOL -> tool-esptoolpy @ 1.30100.210531 (3.1.0)
DESCRIPTION:
In some wake ups from deep sleep (whatever the wakeup source programmed), the ESP32 wakes up but it doesn't run the function main() of the code and the micro keeps awake forever (consuming 23mA). When it wakes up, I can't see through UART bootlader info.
I can't take out the ESP32 from that state. I tried configuring the panic functionality of the task watchdog but it doesn't boot the micro and I don't know where the ESP32 is waking up.
I noticed that this problem happens if the ESP32 keeps in deep sleep for more than 2 minutes and you wake it up. Before enter deep sleep I run this configuration:
esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_ON);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_ON);
ENVIRONMENT:
espressif32@3.3.2 -> framework-espidf @ 3.40300.0 (4.3.0)
ESPTOOL -> tool-esptoolpy @ 1.30100.210531 (3.1.0)
DESCRIPTION:
In some wake ups from deep sleep (whatever the wakeup source programmed), the ESP32 wakes up but it doesn't run the function main() of the code and the micro keeps awake forever (consuming 23mA). When it wakes up, I can't see through UART bootlader info.
I can't take out the ESP32 from that state. I tried configuring the panic functionality of the task watchdog but it doesn't boot the micro and I don't know where the ESP32 is waking up.
I noticed that this problem happens if the ESP32 keeps in deep sleep for more than 2 minutes and you wake it up. Before enter deep sleep I run this configuration:
esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_ON);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_ON);