This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

What to do if all tasks blocked?

We're developing mutimedia software on OMAP4460's ducati system.

The develope environment is:

bios 6.34.02.18

code generation tools 5.0.1

xdctools 3.24.03.33

When my program runs for several hours, all tasks blocked. I can't receive any messages printed by task threads. But a hwi isr print some messages occasionally.

Some tasks blocked after calling Task_sleep. I add System_printf just before and after Task_sleep. As a result, messages after Task_sleep never printed.

I tried to change the thread's priority to highest(15) but it didn't make difference.

CPU may be occupied by swi hwi, and there is a dead-cycle. Is there any way to help locating the wrong code?

  • Do you have CCS connected?   Are you familiar with the RTOS Object View tool?   Try Tools->RTOS Object View and you should be able to see the state of your various Tasks.


    If your ISRs are very frequent, or there's some other high rate high priority thread running, it is possible that the lower priority threads will be starved and never get any CPU cycles.


    Unfortunately, theres not enough information in your question to say much more.   You might be able to use Task hooks to see the context switches of assorted tasks.  I think that you will find that your threads are being starved for some reason.