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

6678使用共享内存做核间通信+SRIO环回测试有丢包,求解答

问题是这样的,近期需要用C6678做多核开发,目前采用两个核,核0上注册网口驱动,核1上注册SRIO驱动,通过SRIO连接FPGA,FPGA上外接光模块,在光模块出环回;核间通信采用Notify+共享内存的形式转移数据,数据通过电脑端的工具产生,通过网口发给核0,核0将数据复制到共享内存并通过Notify通知核1,核1收到事件通知后拷贝数据并通过SRIO发送出去,核1收到SRIO的数据后复制到共享内存,并通知核0,核0收到事件通知后拷贝数据;

数据校验采用包序号的形式,如果连续的两包数据包序号不连续则认为错包,如果每个接口接受的总包数小于发送的总包数,则认为丢包,测试中单独测试了核间通信,发现350Mbps以下都能支持1e7包无误传输,SRIO单独做环回测试1e8包没有发现丢包;但是做核间通信+SRIO大环回就出现丢包,测试显示,此时在SRIO环回过程中丢包概率2e-8,核间通信丢包概率2e-8,而且核间通信的丢包只出现在核1向核0发的过程中,现在一时没有头绪,希望各位专家指点一下

Thomas Yang1:

可能和传输带宽竞争有关,SRIO的传输memory和核间通信 memory 是否是一份memory?

Xiaohua Cao:

回复 Thomas Yang1:

不是同一份memory,而且从Core0收到数据后先入队列,然后再通过SRIO发送,如队列出队列都没有错

赞(0)
未经允许不得转载:TI中文支持网 » 6678使用共享内存做核间通信+SRIO环回测试有丢包,求解答
分享到: 更多 (0)