Here is the description of the system:
Processor: c6474 BIOS: 5.33 CCSv3.3
SW structure: One BossThread and three worker Threads. Worker Threads at lower priority than BossThread.
core0: BossThread (Task) and WorkerThread0 (Task)
core1: WorkerThread1 (Task)
core2: WorkerThread2 (Task)
Each of the WorkerThreads have a MSGQ associated with it (MSGQ opened using MSGQ_open() as part of main function)
No Error reported during MSGQ_open.
WorkerThreads should pend on MSGQ_get() in a forever loop as shown below
void workerThread(void)
{
for(; ;)
{
msgqStatus = MSGQ_get(WorkerMsgQueue[workerId], (MSGQ_Msg *)&msg, SYS_FOEVER);
if(msgqStatus == SYS_OK)
{
}
}
}
PROBLEM: While all the Worker Threads are behaving properly on core1 & core2, there is problem with core0 worker thread. It doesn't pend on the MSGQ_get and always return msgqStatus as 9.
I couldn't find any description of when does MSGQ_get call fails and what does status of '9' mean.
Please help.
Thnaks,
SBanik