Closed MadDogMayCry0 closed 5 years ago
Not terrific behavior, but documented. https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/sleep_modes.html#power-down-of-rtc-peripherals-and-memories
@lbernstone
Note: in revision 0 of the ESP32, RTC fast memory will always be kept enabled in deep sleep, so that the deep sleep stub can run after reset. This can be overridden, if the application doesn’t need clean reset behaviour after deep sleep.
I have rev 0 of the chip? :)
Hello world example sais "This is ESP32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 1, 4MB external flash" Arduino ide sais Chip is ESP32D0WDQ6 (revision 1)
I guess the first sentence applies to rev 0, the second applies to all :) You need clean reset behavior after the sleep, so you need RTC fast to be active.
@lbernstone I don't understand. :( When esp going to restart the app just loading from flash is'nt? Why it's need to be loaded in fast mem? Real time clock uses fast mem? but I just need to use the RTC counter.. Ohh.. :(
You may get a better answer from an espressif employee in https://github.com/espressif/esp-idf/issues. I am just another user. I would guess that the system needs to read something out of the fast memory to boot cleanly. If you don't care about the clean reboot, perhaps it can be ignored. How much power does it save to turn off the fast memory domain?
Thx you @lbernstone maby 2 -3 uA... not sure. I try to found it out and post issue later.
@lbernstone hello ) i recive answer from idf
esp-idf/components/esp32/Kconfig
Lines 765 to 781 in 594dcd5 config ESP32_DEEP_SLEEP_WAKEUP_DELAY int "Extra delay in deep sleep wake stub (in us)" default 2000 range 0 5000 help When ESP32 exits deep sleep, the CPU and the flash chip are powered on at the same time. CPU will run deep sleep stub first, and then proceed to load code from flash. Some flash chips need sufficient time to pass between power on and first read operation. By default, without any extra delay, this time is approximately 900us, although some flash chip types need more than that.
By default extra delay is set to 2000us. When optimizing startup time
I did ESP32_DEEP_SLEEP_WAKEUP_DELAY 5000 but still
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) flash read err, 1000 ets_main.c 371
I think this is a Hardware issue about flash chip model... try to found it out :(
That define is compiled into the libraries. To change it, you would need to use arduino as an esp-idf component
@lbernstone i do.. Arduino as IDF-component. In make menuconfig Component config -> esp32 specific -> ESP32_DEEP_SLEEP_WAKEUP_DELAY 5000
I think this is a Hardware issue about flash chip model.
My chip is HJ1723 (GIGADEVICE) 25Q16CT AP0T866 Datasheet I will try Winbond w25q16
No issue. @igrr recomend enable fast mem... Closed.
Wroom-32
if esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_ON); then it's ok.
BUG?