Hi all,
When I run my application program on dual-core of C6678evm. the program
is blocked at function NameServer_getUInt32 . I create the entry in my cfg
files below:
var NameServer = xdc.useModule("ti.sdo.utils.NameServer");
var params = new NameServer.Params;
Program.global.barrierTable = NameServer.create("barriers", params);
Program.global.shmTable = NameServer.create("codecshm", params);
And then use it.
I find that core0 can creat bar and the shared memory section successfully.
Because valid value is returned after calling the next 2 functions in core0:
ipcBarrier = Bar_create("BARRIER0", nCoresInBarrier, (void *)barrierTable);
NameServer_addUInt32((NameServer_Handle)barrierTable, name, (UInt32)bar);
NameServer_addUInt32((NameServer_Handle)shmTable, "SHARE", (UInt32)share);
But the function below will be blocked when running on core1:
ipcBarrier = Bar_open("BARRIER0", (void *)barrierTable);
status = NameServer_getUInt32((NameServer_Handle)barrierTable, name, (UInt32 *)&bar, NULL);
status = NameServer_getUInt32((NameServer_Handle)shmTable, "SHARE", (UInt32 *)&share, NULL);
I am confused about the possible reason causing NameServer_getUInt32 be blocked and how to debug these
functions in CCS. They are library functions. So no source code provided to check the reason.
Thanks a lot!
B.R.
Sunzhao