TI工程师们,
你们好!我在C6657上使用MessageQ实现两核通信,由core0传递数据给core1,但是core1总是中断运行。根据单步运行core1得到的退出位置,以及之前在论坛里提问时得到的回答,猜测是MessageQ_get等待时间超时而退出。因为core0在核间通信之前先进行了网络接收,所以MessageQ_get先于MessageQ_put调用并阻塞。我不了解MessageQ_get的等待机制,请问MessageQ_get(messageQ, (MessageQ_Msg *)&message, MessageQ_FOREVER)这条语句中的MessageQ_FOREVER是指在MessageQ_put调用之前就一直阻塞吗?如果是的话为什么还会出现等待超时退出的情况?希望能够得到解答!
原帖链接: