TMS320C6678: Notify_registerEvent函数在0核处理的时候跑飞
程序如下:
主函数:
Int main(Int argc, Char *argv[])
{
Int status = Ipc_start();
if (status < 0) {
System_abort("Ipc_start failed\n");
}
// 注册用于从核向主核回完成消息
SignDectNotifyReg();
// BIOS 启动
BIOS_start();
return (0);
}
SignDectNotifyReg函数:
Void SignDectNotifyReg()
{
int result;
if (MultiProc_self() == SIGN_MASTER_CORE) {
UInt32 coreId;
for (coreId = SIGN_SLAVE_CORE1; coreId <= SIGN_SLAVE_CORE7; coreId++)
result = Notify_registerEvent(coreId, INTERRUPT_LINE, EVENTID, (Notify_FnNotifyCbck)SignNotifyCallBack, NULL);
} else {
// 从核完成事件注册
result = Notify_registerEvent(0, INTERRUPT_LINE, EVENTID, (Notify_FnNotifyCbck)SignNotifyCallBack, NULL);
}
}
核1-核7能够正常运行完这段代码,但是核0在coreId 循环到3的时候,会跑飞。请问各位大佬这是什么原因啊,困扰好几天了。