Hi ,
MCSDK version : 2.2.1.03
IPC : ipc_1_25_03_15
CCS : V5.5
Compiler : c6000_7.4.4
On trying out IPC communication module : IPC_attach is always getting into an indefinite loop state .
Am attaching the .CFG file along with this post .
Code Snippet :
void attachAll(Int numCores)
{
SharedRegion_Entry entry;
Int i , status ;
UInt16 clusterBaseId = MultiProc_getBaseIdOfCluster();
/* Call Ipc_start() */
status = Ipc_start();
if (status < 0) {
System_abort("Ipc_start failed!\n");
}
System_printf("IPS START DONE\n");
/* get region 0 information */
SharedRegion_getEntry(0, &entry);
System_printf("Shared region entry success\n");
/* if entry is not valid then return */
if (entry.isValid == FALSE) {
return;
}
System_printf("Shared region entry success: %d ||| %d\n",entry.ownerProcId,MultiProc_self());
/* Must attach to owner first to get default GateMP */
if (MultiProc_self() != entry.ownerProcId) {
do {
status = Ipc_attach(entry.ownerProcId);
} while (status < 0);
}
System_printf("attach done\n");
/* Loop to attach to all other processors */
for (i = clusterBaseId; i < (clusterBaseId+numCores); i++)
{
if ((i == MultiProc_self()) ||
(i == entry.ownerProcId)) {
continue;
}
if (Notify_numIntLines(i) == 0) {
continue;
}
/* call Ipc_attach for every remote processor */
do {
status = Ipc_attach(i);
} while (status < 0);
}
}
When i use
Ipc.procSync = Ipc.ProcSync_ALL;
IPC_start gets into a indefinite while loop . Is there any issue with the IPC_attach call procedure .