最近研究Keystone I软件开发包:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx中的GE例程,有几个问题始终不太明白。
1、在GE_loopback_test.c中的loopback是MAC、SGMII、SERDES中的哪一类loopback?在程序中如何进行判断?
2、在GE_PktDMA_init.c中分别enable了NETCP PKTDMA的RX channel22、23、8和TX channel 8,并且设置了两种RX FLOW。在进行loopback时,从TX到RX,使用了3个RX channel中的哪一个来接收数据?还是全部使用了?又是如何选择对应的RX FLOW的呢?
miker wang:
回复 Kevin Cai:
Hi, Kevin
由于没有收到邮件提醒,所以现在才看到你的回复。首先非常感谢你们提供的软件开发包,具有很大的学习价值。同时也很感谢你的回答!解答了我的疑惑。另外,我想补充一个问题,当给PKTDMA配置了多个RX flow时,对于RX所接收到的packets,它是如何判断应该使用哪一个RX flow来处理对应的packet的?是不是根据发送时就写入描述符中的src_tag字段的值来决定的?
Kevin Cai:
回复 miker wang:
Hi, 您好!
对于以太网的应用, 从端口0收到的包是由RX flow 22收的, 从端口1收到的包是由RX flow 23收的
src_tag应用于另外的场景, 它是在接收包的时候,用于标明这个包是从哪里收到的 (比如标明这个包是从端口0还是从端口1收到的)
在发送包的时候,不用填这个字段