Hi TI experts,
***********************************************************************************************
My situation: C6670, CCSv5.2, SYS/BIOSv6.33.6.50, IPCv1.24.3.32, MCSDKv1.1.2.6, XDCv3.23.4.60
***********************************************************************************************
Before I add MessageQ in my current project, I want to make some things clear.
In my project, Core0 has a data in Core0's L2SRAM. Core0 will transfer this data to Core1 and then send a interrupt to Core1 to trigger Core1 to process this data.
As I know, Core0 can use the code below to send a message to Core1(msg contains the data).
status = MessageQ_put(remoteQueueId, msg);
And Core1 can use the code below to get the data in msg.
status = MessageQ_get(messageQ, &msg, MessageQ_FOREVER);
But before Core0 send msg to Core1, Core1 will block at the code above until Core1 gets the msg.
***********************************************************************************************
What I want to do is that Core1 does its normal works and when the Core0 send the msg to Core1, Core1 will go to process the data in msg immediately.
So I want to know if Core0 can trigger Core1 through interrupt after it sends msg to Core1 or not.
***********************************************************************************************
If not, I maybe change my code. Core0 will send IPC notify to Core1 after it put a msg to Core1. And Core1 will get the msg in its IPC Notify callback func and process the data in msg.
status = Notify_sendEvent((DNUM+1)%4, INTERRUPT_LINE, EVENTID, 0, TRUE);
***********************************************************************************************
Are there any other better way?
***********************************************************************************************
Regards,
Feng