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.
我在6678上用IPC NOTIFY功能实现简单的中断,有两个工程,CORE0与CORE1.由于源代码无法拷出来。大体情况如下:
CORE0发送NOTIFY到CORE1.CORE0只发送,CORE1只接收。
在CORE0中,除了主函数的初始化IPC_START()还在任务函数中Notify_sendEvent(1, INTERRUPT_LINE, EVENTID, seq, TRUE);
在CORE1中,没有定义任务函数,直接 在main函数外面直接使用了Void cbFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg, UInt32 payload)与
主函数中使用了Notify_registerEvent(0,INTERRUPT_LINE, EVENTID, (Notify_FnNotifyCbck)cbFxn, NULL);
在运行过程中,发现不显示cbFxn定义的System_printf中的内容。
我的疑问时,怎样才能确定CORE0发送NOTIFY到CORE1中?是否进入了cbFxn函数?因为我试了下不能在cbFxn中设断点,还有是不是在CORE1中没有定义任务函数。所以不能进入到cbFxn中?
主要代码大致如下:
CORE0 :
void tsk0_func(UArg arg0,Uarg arg1)
{ int payload=2222;
int status;
status=Notify_sentEvent(1,INTERRUPT_LIVE,EventID,payload,True);
}
int main(int argc ,char*argv[])
{ int status;
status=IPC_start();
BIOS_start();
return(0);
}
CORE1:
int main(int argc ,char*argv[])
{ int status;
IPC_start();
status=Notify_registerEvent(0,INTERRUPT_LINE,EVENTID,(Notify_FnNOTIFYcbk)cbFxn,NULL);
BIOS_start();
return(0);
}
void
Void cbFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg, UInt32 payload);
{recProcId=ProcId;
seq=payload;}