- static void setup2()
- {
- Serial.println("Setup (runnning on 2nd core)");
- }
- static void loop2()
- {
- HandleConfigButton();
- HandleActivity();
- // To resolve core panic because of Watch Dog Timer not being reset
- delay(1);
- }
- // This is task running on the second core of ESP32
- void TaskOnCore2( void * pvParameters )
- {
- Serial.print("Task running on core ");
- Serial.println(xPortGetCoreID());
- // One time setup
- setup2();
- for (;;)
- {
- // Loop function
- loop2();
- }
- }
- TaskHandle_t HandleTaskOnCore2;
- void LaunchLoopOnSecondCore()
- {
- xTaskCreatePinnedToCore(
- TaskOnCore2, /* Task function. */
- "TaskOnCore_2", /* name of task. */
- 10000, /* Stack size of task */
- NULL, /* parameter of the task */
- 1, /* priority of the task */
- &HandleTaskOnCore2, /* Task handle to keep track of created task */
- ESP32_SECOND_CORE); /* pin task to second core */
- }
- void setup()
- {
- Serial.begin(9600);
- LaunchLoopOnSecondCore();
- }
- void loop()
- {
- HandleActivity();
- }
Above given is a short version of the Arduino code I used in my ESP32-S3.
On some occasion I am getting a crash , but unlike any other crash this one is not restarting the Board itself - it is forever stuck at the crash.
Here is the crash Log:
I used ESP Exception decoder and found these :Task running on core 0
Setup (runnning on 2nd core)Guru Meditation Error: Core 1 panic'ed (Unhandled debug exception).
Debug exception reason: Stack canary watchpoint triggered (ipc1)
Core 1 register dump:
PC : 0x4037db37 PS : 0x00060036 A0 : 0x8037c750 A1 : 0x3fcf1b10
A2 : 0x3fc94510 A3 : 0xb33fffff A4 : 0x0000cdcd A5 : 0x00060023
A6 : 0x00060023 A7 : 0x0000abab A8 : 0xb33fffff A9 : 0xffffffff
A10 : 0x00000000 A11 : 0x3fc94450 A12 : 0x7e140000 A13 : 0x08bb0000
A14 : 0x02c94510 A15 : 0x00ffffff SAR : 0x0000000e EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x4037db34:0x3fcf1b10 0x4037c74d:0x3fcf1b50 0x4037b02c:0x3fcf1b80 0x4037b022:0xa5a5a5a5 |<-CORRUPTED
ELF file SHA256: d451f74eeae971ec
PC: 0x4037db37EXCVADDR:
0x00000000
Decoding stack results
0x4037db34: xPortEnterCriticalTimeout at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf public/components/esp_hw_support/include/soc/compare_set.h line 25
0x4037c74d: vTaskSwitchContext at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/include/freertos/portmacro.h line 578
can someone please explain what is wrong.