TI中文支持网
TI专业的中文技术问题搜集分享网站

6678 多核程序运行,停止某个核,会影响其他核之间通信吗?

我在DSP6678  0核、1核、2核运行了三个程序,其中0核和1核、0核和2核之间有数据传输,1核和2核无数据传输。

现在遇到的问题是,停止1核会影响到0核和2核的通信,程序阻塞。然而停止2核程序,不会影响0核和1核的程序通信。

备注

1:核间同步方式为Ipc.procSync = Ipc.ProcSync_NONE

2:核间传递数据,使用MessageQ

3:程序阻塞在了MessageQ_open处

我测试了单0核和2核通信是OK。有了1核,然后停止1核,会不会影响0核和2核之间的连接断开,导致0核和2核失去通信?

Nancy Wang:

三个核的连接部分怎么配置的?是能否贴出相关代码?核1是怎么停止的?

user5865338:

回复 Nancy Wang:

// 打开远程消息队列 do { printf("componentID=%d—-coreID= %d\n",componentID,coreID); status = MessageQ_open(targetQueueName, &remoteQueueId);///根据消息队列名字,打开队列,获得队列的地址 printf("status :%d\n",status); if (status < 0) { cout<<"MessageQ open : "<<coreID<<" faild!"<<endl; break; } } while (status < 0);

代码如上,我判断MessageQ_open()的返回转态,但是现在程序阻塞住了 ,MessageQ_open()一直不返回?请问有知道这个是什么原因吗

赞(0)
未经允许不得转载:TI中文支持网 » 6678 多核程序运行,停止某个核,会影响其他核之间通信吗?
分享到: 更多 (0)