通过看文档,大致了解了C6678的网络协处理器的工作流程问题,对于接收流程,首先通过GbE网络接口接收数据,后将数据送入packet 加速器中,逐层解析,去包头,然后将解析后的数据通过packet DMA送入主核的缓存中,并将数据地址送入队列。但是DSP核怎么知道这里有来了数据,是采用传统的轮询,使用recv函数接收,还是来了数据会有中断通知。我看到GbE模块有几个中断,这些中断是做什么用的。MDIO(management data 输入输出)这个是做什么用的。
Hongpeng Liu:
同时想问一下,这两种方式的相关文档是哪些,他们各有什么特点。
Andy Yin1:
如你所述C6678的网络协处理器是通过pktDMA收发数据,在接收完数据后会将描述符入队列,所以需要使用Navigator,可以通过采用轮询接收队列的方式check数据是否接收完成;采用中断方式时,可以通过配置接收队列为high accumulator监视的队列产生中断;具体请查看Multicore navigator user guide。
qian cui:
你好,我也刚学这块,遇到和你一样的问题。网口是同事在调试,我需要处理网口接收的数据。问题是网口接收的数据存储在那里?以及DSP核怎么知道有数据来了?接收数据前DSP处于什么状态?比如是while循环检测某个标志以判断是否有数据到来?
还有这方面需要看哪些文档,希望解答,非常感谢
qian cui:
回复 Andy Yin1:
你好,我也刚学这块,遇到一样的问题。网口是同事在调试,我需要处理网口接收的数据。问题是网口接收的数据存储在那里?以及DSP核怎么知道有数据来了?接收数据前DSP核什么状态,是通过while循环检测是否有数据到来还是通过中断关联相应的处理函数?
还有这方面需要看哪些文档,希望解答,非常感谢