C6678做核间通信,CFG文件中相关配置如下:
var Notify = xdc.module('ti.sdo.ipc.Notify');
Notify.SetupProxy = xdc.module('ti.sdo.ipc.family.c647x.NotifyCircSetup');
MessageQ.SetupTransportProxy = xdc.module('ti.sdo.ipc.transports.TransportShmNotifySetup');
...
CacheLineSize = 128;
cacheEnable = TRUE;
共享区使用MSMC从0x0C300000开始的256KB
发现在多核通信时候,回出现接收数据错误的情况以及系统abort()的情况。在CCS5下查看内存情况,发现接收方收到的msg前64字节错误,系统读到的是本地cache的内容,而非发送方写到MSMC的内容。
问题是,Notify和MessageQ的库中没有做好IPC的Cache一致性操作么,为什么会出现接收方cache不一致这样的问题?