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

C6657以太网传输与cache的关系

请教:

         我们在使用C6657的NDK开发包作网络传输时发现,在使用send函数发出一段数据后,被发送的内存中出现了CACHE的现象,且cache不一致还导致了错误。

         按照我们之前的理解,以太网应该和SRIO类似,当发送时,内存中的数据直接被网口提取出来封包发送,可如果出现了CACHE问题,是不是说网口实际上是通过CPU从内存中取数的呢?如果这样,是不是收数时也是同样通过CPU来把数字写到内存中?

         之前我们听说C6678的网络与多核导航有关,那么C6678的情况是否有所不同?

         谢谢!

Andy Yin1:

C6657内部有DMA负责数据的收发。不管对哪一种外设,如果涉及到core对memory的读写,都需要维护cache一致性。例如在发送数据时,首先core将数据写到发送buffer,如果这块buffer是cacheable,则需要writeback,然后再启动发送,这对EMAC及SRIO都是如此。

C6678的EMAC是有navigator维护数据的输入输出,C6657的EMAC内部有独立的DMA与Navigator无关。

赞(0)
未经允许不得转载:TI中文支持网 » C6657以太网传输与cache的关系
分享到: 更多 (0)