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.

SEM_post doesn't change blocked task state to ready

Hi,

I have a problem with C6424 which seems to be related to BIOS code.

I'm running C6424 application and use semaphores to synchronize / schedule my tasks. Each task in the system has its own semaphore. After a short period of running time, it seems that all of my tasks are in Blocked state (except the idle task) although I know for sure that the semaphores are posted. I even tried to force SEM_post to any of the task semaphores and it didn't make any difference. In addition, I use hook function which is called when task switching occurs and this function isn't called. The DSP isn't crashed and it keeps running the idle task, but none of the other tasks is called since they seem to be stuck in Blocked state.

I assume it has something to do with memory , but I can't find any clue as to when and where it happens.

My questions are: (1)  What can cause this sort of problem?

(2) Since I don't have a trace and this chip doesn't support HW breakpoint, what part of the BIOS code / data should I debug?

This problem is very urgent, so any quick response will be greatly appreciated.

Thanks in advance,

Elad.