Hi, I am currently using FreeRTOS 11.1.0 in Symmetric MultiProcessing and I am encountering a strange error while executing a simple example program. I have defined the traceTASK_SWITCHED_IN and traceTASK_SWITCHED_OUT to track the tasks execution on 2 cores and this is the result:
---------- New Session ----------
Hello from Freertos example main
[TASK] IDLE0 SWITCHED-IN ## CORE 0
[TASK] IDLE1 SWITCHED-OUT ## CORE 1
[TASK] Tmr Svc SWITCHED-IN ## CORE 1
[TASK] IDLE0 SWITCHED-OUT ## CORE 0
[TASK] IDLE1 SWITCHED-IN ## CORE 0
[TASK] IDLE1 SWITCHED-OUT ## CORE 0
HALT: Task IDLE1 overflowed its stack.
Aside from increasing the stack size of the idle tasks (which btw didn’t solve the problem), I also investigated why CORE0 executes IDLE1 since, from my understanding, each core can only execute its idle task. I found out that the core affinity of idle tasks is set to -1 so they can be scheduled on every available core. Is this the correct behavior?