First of all, as an embedded developer, I want thank FreeRTOS to make my life easier.
I am using FreeRTOS V8.1.2 on custom board using STM32L151 uC. My applications run smooth most of the time. however, sometimes within 1 minute after power ON or sometimes after few hours, freeRTOS calls configASSERT function and execution get stopped (as I have written configASSERT function to stop execution).
In configASSERT function, debugger shows error is in “tasks.c” file and line number which cause error is “2160”.
After some debugging, I found that uxNumberOfItems of pxReadyTasksLists[ uxTopPriority ] becomes “0” due to that configASSERT been called.
I am using configUSE_PORT_OPTIMISED_TASK_SELECTION. However, I have tried with disabling “port optimized task selection” with no luck.
I have provided more than sufficient stack to every tasks and set every interrupt priority to configLIBRARY_LOWEST_INTERRUPT_PRIORITY. Yes, I am using “FromISR” functions from ISR.
I have also called “NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);” in main after system initialization.
I have tried hard to solve this issue but till data not find any solution.
I am requesting you all to help me to get rid on this issue.
Thanks in Advance.