各位好,
我使用qmssIpcBenchmark工程,修改增加代码后;大致框架是:
core0发送msg给core1-7;core1-7接收到msg后,处理后,发送接收到msg给core0;core0接收到core1-7发送的msg后,处理完毕。正常。
但是当我再次,加入pcie中断部分,core0检测寄存器,检测到pcie中断,core0发送msg给core1-7;core1-7接收到msg后,处理后,发送接收到msg给core0;这时候core0messageQ_get 获取不到core1-7发送的msg,一直IDLE
请问会是什么原因?
还有一个问题;我将
msg = MessageQ_alloc(HEAP_ID, MESSAGE_SIZE_IN_BYTES);
Int MessageQ_put(MessageQ_QueueId queueId, MessageQ_Msg msg);
Int MessageQ_get(MessageQ_Handle handle, MessageQ_Msg *msg, UInt timeout);
Int MessageQ_free(MessageQ_Msg msg);
这整条链路,循环执行;正常执行两次,便报一个错误
ti.sdo.ipc.MessageQ: line 257: assertion failure: A_heapIdInvalid: heapId is invalid
xdc.runtime.Error.raise: terminating execution
请问会是怎样的问题?
谢谢