Why does task behavior change depending on priority in STM32 FreeRTOS?
I'm using an STM32G431 with FreeRTOS.
I have a total of 5 tasks, including the default task, and all of them were set to osPriorityLow.
With this configuration, the tasks did not run properly. When creating the tasks, NULL was not returned and no error occurred.
After changing all task priorities to osPriorityNormal, the problem was fixed.
I don't really understand why this happens. Each task has a reasonable osDelay(), so I don't think any specific task is blocking the others. Also, if a task were blocking, I would expect the same problem to happen even after changing the priority.
I also tried changing the heap size and the stack size, but that did not seem to be the cause.
Has anyone experienced a similar issue, or does anyone know why changing all tasks from osPriorityLow to osPriorityNormal would make a difference?