I have RTOS running on SAM7P Olimex board. The program has 2 tasks with same priority (1) and is generally working great. However, once every while, the program will freeze indefinitely on the idle task and no task switching happen even if some tasks are in a ready state. What is even more strange is that if I pause execution (using j-link debugger) and immediately resume execution the program will unfreeze and continue to work as expected.
My question, what does pause/resume change in this? and make a code that freeze indefinitely work again? and what things should I look for to investigate this problem.
-I've some LEDs and serial log where I can tell if task switching happened or not.
-I can provide more details or code if required.
Are you using semihosting to direct printf() output to the J link?
I don't think so! (check the attached)!
Also, there are no printf,scanf....etc in my code.
The configuration shown in the image is not using semihosting. The semihosting options is grayed out because semihosting is not selected in the first place.