PlatformIO and FreeRTOS
-
A little help would go a long way!
I am trying to use FreeRTOS with PlatformIO on my M5Stack Core 2
I can get it to work on cpu core 1 but not on cpu core 0. Any suggestions?
I am suspicious that it has to do with SPI communication with the LCD screen. I am hoping I am doing something wrong. It is easier to fix my faults than those of TFT_eSPI or M5Display.
Thanks in advance!
Code snippet
xTaskCreatePinnedToCore(loop,"task1",8192,NULL,1,taskHandle,1); //Works xTaskCreatePinnedToCore(loop,"task2",8192,NULL,1,taskHandle,0); // Sets CPU in panic and reboots void loop(void *parameters) { while(1) { M5.Lcd.println("Somthing to think about!"); Serial.println("Something to ponder?"); delay(1000); }
Stacktrace
Backtrace: 0x4008a380:0x3ffbe4f0 0x4008a5f9:0x3ffbe510 0x400e73e7:0x3ffbe530 0x40086195:0x3ffbe550 0x400d29a9:0x3ffb5ce0 0x400d3941:0x3ffb5d00 0x400d3e15:0x3ffb5d80 0x400d33a9:0x3ffb5df0 0x400fba1b:0x3ffb5e20 0x400d6232:0x3ffb5e40 0x400d6311:0x3ffb5e60 0x400d5f4e:0x3ffb5e80 0x400d5e74:0x3ffb5fd0 0x4008b5fe:0x3ffb5ff0
#0 0x4008a380:0x3ffbe4f0 in invoke_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
#1 0x4008a5f9:0x3ffbe510 in abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
#2 0x400e73e7:0x3ffbe530 in task_wdt_isr at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/task_wdt.c:252
#3 0x40086195:0x3ffbe550 in _xt_lowint1 at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/xtensa_vectors.S:1154
#4 0x400d29a9:0x3ffb5ce0 in TFT_eSPI::setWindow(int, int, int, int) at .pio/libdeps/m5stack-core2/M5Core2/src/utility/In_eSPI.cpp:6120
#5 0x400d3941:0x3ffb5d00 in TFT_eSPI::drawChar(int, int, unsigned short, unsigned int, unsigned int, unsigned char) at .pio/libdeps/m5stack-core2/M5Core2/src/utility/In_eSPI.cpp:6120
#6 0x400d3e15:0x3ffb5d80 in TFT_eSPI::drawChar(unsigned short, int, int, unsigned char) at .pio/libdeps/m5stack-core2/M5Core2/src/utility/In_eSPI.cpp:6120
#7 0x400d33a9:0x3ffb5df0 in TFT_eSPI::write(unsigned char) at .pio/libdeps/m5stack-core2/M5Core2/src/utility/In_eSPI.cpp:6120
#8 0x400fba1b:0x3ffb5e20 in Print::write(unsigned char const*, unsigned int) at /Users/noname/.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.cpp:42
#9 0x400d6232:0x3ffb5e40 in Print::write(char const*) at /Users/noname/.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.cpp:261
#10 0x400d6311:0x3ffb5e60 in Print::print(char const*) at /Users/noname/.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.cpp:261
(inlined by) Print::println(char const*) at /Users/noname/.platformio/packages/framework-arduinoespressif32/cores/esp32/Print.cpp:195
#11 0x400d5f4e:0x3ffb5e80 in M5OS::ScreenClass::println(char const*, ...) at lib/M5OS/src/Screen.cpp:31
#12 0x400d5e74:0x3ffb5fd0 in loop(void*) at main.cpp:10 (discriminator 1)
#13 0x4008b5fe:0x3ffb5ff0 in vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)