I searched this forum and could not solve this problem. I concocted a simple app:
Code: Select all
#include <stdio.h>
#include <esp_system.h>
RTC_DATA_ATTR int n;
void app_main()
{
printf ("##### n=%d #####\n", n);
n = 1;
esp_deep_sleep(5*1000000);
}
Code: Select all
ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK
>ets Jun 8 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:4392
load:0x40078000,len:11092
load:0x40080000,len:252
entry 0x40080034
W (46) boot: PRO CPU has been reset by WDT.
W (46) boot: WDT reset info: PRO CPU PC=0xfa88689a
W (46) boot: WDT reset info: APP CPU PC=0xa43ffa6f
I (63) boot: ESP-IDF v2.0-rc1-803-g1e0710f 2nd stage bootloader
I (84) boot: compile time 16:37:22
I (96) boot: Enabling RNG early entropy source...
I (113) boot: SPI Speed : 40MHz
I (126) boot: SPI Mode : DIO
I (138) boot: SPI Flash Size : 4MB
I (151) boot: Partition Table:
I (163) boot: ## Label Usage Type ST Offset Length
I (185) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (208) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (232) boot: 2 factory factory app 00 00 00010000 00100000
I (255) boot: End of partition table
I (268) boot: Disabling RNG early entropy source...
I (285) boot: Loading app partition at offset 00010000
I (801) boot: segment 0: paddr=0x00010018 vaddr=0x00000000 size=0x0ffe8 ( 65512)
I (801) boot: segment 1: paddr=0x00020008 vaddr=0x3f400010 size=0x06860 ( 26720) map
I (817) boot: segment 2: paddr=0x00026870 vaddr=0x3ffb0000 size=0x02b18 ( 11032) load
I (848) boot: segment 3: paddr=0x00029390 vaddr=0x40080000 size=0x00400 ( 1024) load
I (871) boot: segment 4: paddr=0x00029798 vaddr=0x40080400 size=0x12e0c ( 77324) load
I (933) boot: segment 5: paddr=0x0003c5ac vaddr=0x400c0000 size=0x00064 ( 100) load
I (934) boot: segment 6: paddr=0x0003c618 vaddr=0x00000000 size=0x039f0 ( 14832)
I (954) boot: segment 7: paddr=0x00040010 vaddr=0x400d0018 size=0x26cb0 (158896) map
I (980) boot: segment 8: paddr=0x00066cc8 vaddr=0x50000000 size=0x00004 ( 4) load
I (1007) cpu_start: Pro cpu up.
I (1018) cpu_start: Starting app cpu, entry point is 0x40080edc
I (0) cpu_start: App cpu up.
I (1051) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (1073) heap_alloc_caps: At 3FFAE2A0 len 00001D60 (7 KiB): DRAM
I (1094) heap_alloc_caps: At 3FFB6428 len 00029BD8 (166 KiB): DRAM
I (1115) heap_alloc_caps: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (1136) heap_alloc_caps: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1158) heap_alloc_caps: At 4009320C len 0000CDF4 (51 KiB): IRAM
I (1179) cpu_start: Pro cpu start user code
I (1236) cpu_start: Starting scheduler on PRO CPU.
I (202) cpu_start: Starting scheduler on APP CPU.
##### n=0 #####
2) Is this expected: "boot: PRO CPU has been reset by WDT"?
3) The final line always shows "n=0", so the RTC memory is not preserved, seems to be reset on wakeup.
BTW, hitting Enter quickly after the OK does drop into the basic command prompt.
TIA