break;
}
}
- panicPutStr("\n\n");
+ panicPutStr("\r\n\r\n");
}
+ void esp_restart_noos() __attribute__ ((noreturn));
+
/*
We arrive here after a panic or unhandled exception, when no OCD is detected. Dump the registers to the
serial port and either jump to the gdb stub, halt the CPU or reboot.
disableAllWdts();
panicPutStr("Entering gdb stub now.\r\n");
esp_gdbstub_panic_handler(frame);
-#elif CONFIG_ESP32_PANIC_PRINT_REBOOT || CONFIG_ESP32_PANIC_SILENT_REBOOT
+#else
+#if CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH
+ esp_core_dump_to_flash(frame);
+#endif
+#if CONFIG_ESP32_ENABLE_COREDUMP_TO_UART && !CONFIG_ESP32_PANIC_SILENT_REBOOT
+ esp_core_dump_to_uart(frame);
+#endif
+#if CONFIG_ESP32_PANIC_PRINT_REBOOT || CONFIG_ESP32_PANIC_SILENT_REBOOT
panicPutStr("Rebooting...\r\n");
- for (x = 0; x < 100; x++) {
- ets_delay_us(1000);
- }
- software_reset();
+ esp_restart_noos();
#else
disableAllWdts();
panicPutStr("CPU halted.\r\n");
esp_err_t system_efuse_read_mac(uint8_t mac[6]) __attribute__((alias("esp_efuse_read_mac")));
+ void esp_restart_noos() __attribute__ ((noreturn));
+
void IRAM_ATTR esp_restart(void)
{
+#ifdef CONFIG_WIFI_ENABLED
esp_wifi_stop();
+#endif
// Disable scheduler on this core.
vTaskSuspendAll();