原来我用比较小的数据量,没有任何错误
后来使用了较大的数据量(用fread()读取了一张图片),MessageQ_open就提示MessageQ_QueueId为NULL了,这是怎么回事?MessageQ的创建和堆分配都已经成功了。
下面是代码:
MessageQ_QueueId* sloverCoreQueueId;
int status;
do{ // 等待,直到打开MessageQ
if(CoreName[i]==NULL)
System_printf("CoreName%d is NULL\n",i);
if(sloverCoreQueueId==NULL)
System_printf("sloverCoreQueueId%d is NULL\n",i);
status= MessageQ_open(CoreName[i], sloverCoreQueueId);
if (status < 0)
Task_sleep(1);
}while (status < 0);