diff --git a/components/esp32/cpu_start.c b/components/esp32/cpu_start.c index 9a088bb7bc..7a4038510b 100644 --- a/components/esp32/cpu_start.c +++ b/components/esp32/cpu_start.c @@ -112,6 +112,7 @@ void IRAM_ATTR call_start_cpu0() #if !CONFIG_FREERTOS_UNICORE rst_reas[1] = rtc_get_reset_reason(1); #endif + // from panic handler we can be reset by RWDT or TG0WDT if (rst_reas[0] == RTCWDT_SYS_RESET || rst_reas[0] == TG0WDT_SYS_RESET #if !CONFIG_FREERTOS_UNICORE @@ -119,10 +120,10 @@ void IRAM_ATTR call_start_cpu0() #endif ) { // stop wdt in case of any - ESP_EARLY_LOGI(TAG, "Stop panic WDT"); esp_panic_wdt_stop(); } + //Clear BSS. Please do not attempt to do any complex stuff (like early logging) before this. memset(&_bss_start, 0, (&_bss_end - &_bss_start) * sizeof(_bss_start)); /* Unless waking from deep sleep (implying RTC memory is intact), clear RTC bss */ @@ -130,7 +131,6 @@ void IRAM_ATTR call_start_cpu0() memset(&_rtc_bss_start, 0, (&_rtc_bss_end - &_rtc_bss_start) * sizeof(_rtc_bss_start)); } - ESP_EARLY_LOGI(TAG, "Pro cpu up."); #if !CONFIG_FREERTOS_UNICORE