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

如何在PA的LUT中设置Broadcast的路由到Host

TI专家:

      你们好,我在使用CCS5.3.00090开发C6670,电脑通过网线直连EVM板网口,发现通过网口不能收到Broadcast广播包,现象如下:

      1 电脑上的抓包工具显示电脑一直在发送目的MAC为全FF的Broadcast包(ARP请求包);

      2 我仿照PDK6670_1_0_0_18的PA例程中的pa_configExceptionRoute的例程为PDSP0增加了一条广播路由,在CCS上的Memory界面,在0x2000000位置,可以看到PDSP0不断的有包接收,抓包工具显示发送一个,PDSP0的数据计数就会增加一个,说明广播包已经到了PA;

     3 但通过观察RxFlow中的对应各个Description,里面没有数据更新;

     希望专家能够帮忙解决如下问题:

   1 如何确定广播路由已经正确写到LUT中?

   2 需要什么条件或者事件,PA才能调用FLow的配置,进行数据接收?

  3 如何查看PDSP0~PDSP5各模块收到的数据内容?

  4 PA模块中TxCHannel /RxChannel/PDSP/NETCP的Packet DMA之间有什么对应关系吗?

  我在本论坛中找到了一份资料《Keystone I以太网子系统调试手册.pdf》,里面关于PA调试的部分有几个方面不清楚,希望专家能够一起回答一下:

  1 在文章的5.4PA固件和Low Level Driver中提到firmware的版本号为第三个word,但我用的PDK6670_1_0_0_18中firmware的第三个word却是0x108484c4,明显不是版本号,不知道这个版本的firmware有没有问题?(检查PDSP status register: PDSP 状态寄存器时有变化,应该也可以工作。)

 2 5.6.3节提到了LUT table route info: 根据LUT table bit map 所查找到的对应表项下标,乘以64 字节的偏移量,可以找到该表项匹配后对应的路由信息,该信息是由软件配置的。同样可以回读,看看是否与期望的一致。能够看到数据,但不知道表示什么意思,有没有对应的帧结构提供一下?

Rambo:

回复 Marvin Liang:

Marvin Liang :

      谢谢你的及时详细回复,我先用你提供的方法试一试,稍后给你回复试验结果,再次感谢:)

Rambo:

回复 Marvin Liang:

Marvin Liang :

        你好,按照你提供的AddMac的方法,问题已经得到解决,再次感谢!

        在调试过程中还是遇到了一些不能理解的地方,希望得到你进一步的指导:

        1 整个工程中只AddMac了一次,在PA的LUT table bit map中却发现收到了7次配置信息,不知道其它6次配置是什么信息?

        2 pafrmForward_s的结构是16Bytes的,不是64Bytes的,它们是不是首地址对齐的,如果是首地址对齐,我连续观察0x2041000+64Bytes*index位置数据,index范围为【0,63】,发现前面的16Bytes都是相同的,配置内容也和软件也有些出入,但如果按照LUT table bit map的提示,应该也只有7个配置才对的?

       3 异常路由的类型中明确由MAC广播,为什么会配置之后没有作用,而必须更改为AddMac的方式?

Marvin Liang:

回复 Rambo:

1. 这个计数器不只是表示addMac的命令,而是所有的命令,包括取PA统计信息等

2.如上所述,并不一定是有7个addMac配置,请根据bitmap的有效位来查找路由信息

3.异常路由的广播是有效的,你那边无效是因为入参的问题,请检查入参,特别是Mroute应该是-1.异常路由配置的广播地址是不经过LUT匹配的,PDSP firmware直接解析包做的判断,而将广播地址以addmac方式加到LUT表,则是经过LUT匹配命中后才生效的。

赞(0)
未经允许不得转载:TI中文支持网 » 如何在PA的LUT中设置Broadcast的路由到Host
分享到: 更多 (0)