benjamingraef95 wrote on Thursday, February 07, 2019:
I have a problem with my project. I am using a STM32F303 MCU with freeRTOS and everything runs fine until a specific task is send into the suspended state. I never call vTaskSuspend(). I have a total of 7 tasks. One is doing some stuff and blinking an LED approx. every 800ms. Suddenly the LED stops and the task gets suspended ( I checked with the debuger). Then I restart the MCU and the task now is suspended from the beginning, meaning the LED never light up. Any ideas what could be the cause? I am really clueless. I check the stack of every task and no task is running out of stack. Any help is welcome
rtel wrote on Thursday, February 07, 2019:
Sorry - without seeing some code I can’t even begin to guess. However,
note that some debuggers will show tasks that are blocked indefinitely
(blocked with a timeout of portMAX_DELAY) as being in the Suspended
state whereas they are actually in the Blocked state. Does that give
you any clues?
benjamingraef95 wrote on Friday, February 08, 2019:
Thank you for you answer. I wanted to delete my post because the answer to my problem was not related to the code but to the hardware. I could not find where to delete it, sorry for that.
Nevertheless, your answer helped me because the debuger showed the task as suspended but it was not, as you said i used portMAX_DELAY and thats why the debugger showed suspended.
My MCU got reset due to high negative voltage spices on my 3.3V supply and it behaved like this task was not running.
So problem solved (more or less xD)