MessageQ_open貌似打不开
Qu Zhong:
for(i=1;i<8;i++){ // 7个消息队列都需要发送消息 MessageQ_QueueId* sloverCoreQueueId; int status; do{ // 等待,直到打开MessageQ status= MessageQ_open(CoreName[i], sloverCoreQueueId); if (status < 0) Task_sleep(1); }while (status < 0); status = MessageQ_put(*sloverCoreQueueId, (MessageQ_Msg)msg); if (status < 0) System_abort("MessageQ_put was not successful\n");
do{ // 等待,直到关闭MessageQ status= MessageQ_close(sloverCoreQueueId); if (status < 0) Task_sleep(1); }while (status < 0); }
,
Qu Zhong:
for(i=1;i<8;i++){// 7个消息队列都需要发送消息MessageQ_QueueId* sloverCoreQueueId;int status;do{ // 等待,直到打开MessageQstatus= MessageQ_open(CoreName[i], sloverCoreQueueId);if (status < 0)Task_sleep(1);}while (status < 0);status = MessageQ_put(*sloverCoreQueueId, (MessageQ_Msg)msg);if (status < 0)System_abort("MessageQ_put was not successful\n");
do{ // 等待,直到关闭MessageQstatus= MessageQ_close(sloverCoreQueueId);if (status < 0)Task_sleep(1);}while (status < 0);}
,
Qu Zhong:
for(i=1;i<8;i++){// 7个消息队列都需要发送消息MessageQ_QueueId* sloverCoreQueueId;int status;do{ // 等待,直到打开MessageQstatus= MessageQ_open(CoreName[i], sloverCoreQueueId);if (status < 0)Task_sleep(1);}while (status < 0);status = MessageQ_put(*sloverCoreQueueId, (MessageQ_Msg)msg);if (status < 0)System_abort("MessageQ_put was not successful\n");
do{ // 等待,直到关闭MessageQstatus= MessageQ_close(sloverCoreQueueId);if (status < 0)Task_sleep(1);}while (status < 0);}
,
Nancy Wang:
请问芯片型号是什么?是哪个版本的SDK?以及使用的例程。
,
Qu Zhong:
使用的是C6678的芯片,sdk用的是bios_mscsdk02010206,用的是CCS5.5,例程是MessagaeQ
,
Nancy Wang:
请问有没有做过改动?
,
user5276664:
同学你好,我曾在 blog.csdn.net/…/51786533 这篇博客中看到此代码,它的问题是从核在MessageQ_create()之前没有调用MessageQ_registerHeap()函数注册,在多核通信时双方都要通过注册绑定堆,添加后程序可正确执行。如果你正在学习6678,建议花些时间阅读官方手册,或者以官方例程为模板对照学习,那是最准确的。
,
Qu Zhong:
好的,谢谢