TI论坛
直播中

李志刚

7年用户 189经验值
私信 关注
[问答]

请问如何在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 字节的偏移量,可以找到该表项匹配后对应的路由信息,该信息是由软件配置的。同样可以回读,看看是否与期望的一致。能够看到数据,但不知道表示什么意思,有没有对应的帧结构提供一下?

回帖(4)

蒲泛粟

2018-8-6 08:02:54
看你的情况,如果在异常路由配置正确的情况下,感觉是PKT DMA配置出错的可能性比较大。首先你有没有试过一个真正可以和PC通的单播的case? 如果有的话,你也可不配置异常路由,可以直接将配置的单播地址改为ff:ff:ff:fff:ff:ff试试。
你的问题的答复:
1.异常路由是不配置到LUT表的,对于这个case,你也可不配置异常路由,直接Pa_addMac配置ff:ff:ff:fff:ff:ff的Dest MAC到LUT表。
2. Rx Flow是PKT DMA的概念,所以当PA需要与SA/CPSW/HOST交互的时候才用到Rx flow.
3. 数据内容无法看到,TI目前不提供内容的调试信息
4.根据multicore navigator的用户手册, Tx channel分别映射到640~648队列
Keystone I以太网子系统调试手册.pdf
A.不同版本的版本号位置可能不一致,一般在前面10个WORD中能找到,只要是TI给出的PDK的固件一般都没问题,请参考该版本的release notes.
B. 比如PDSP0的0号entry配制的route info在0x2041000位置,PDSP0的1号entry配制的route info在0x2041040位置,结构在pafrmForward_s
举报

李志刚

2018-8-6 08:18:00
引用: flowerddd 发表于 2018-8-6 08:02
看你的情况,如果在异常路由配置正确的情况下,感觉是PKT DMA配置出错的可能性比较大。首先你有没有试过一个真正可以和PC通的单播的case? 如果有的话,你也可不配置异常路由,可以直接将配置的单播地址改为ff:ff:ff:fff:ff:ff试试。
你的问题的答复:
1.异常路由是不配置到LUT表的,对于这个case,你也可不配置异常路由,直 ...

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

李志刚

2018-8-6 08:35:22
引用: flowerddd 发表于 2018-8-6 08:02
看你的情况,如果在异常路由配置正确的情况下,感觉是PKT DMA配置出错的可能性比较大。首先你有没有试过一个真正可以和PC通的单播的case? 如果有的话,你也可不配置异常路由,可以直接将配置的单播地址改为ff:ff:ff:fff:ff:ff试试。
你的问题的答复:
1.异常路由是不配置到LUT表的,对于这个case,你也可不配置异常路由,直 ...

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的方式?
举报

蒲泛粟

2018-8-6 08:46:21
引用: jfsdwer 发表于 2018-8-6 08:35
<span class="user-name"><span/>Marvin Liang :
        你好,按照你提供的AddMac的方法,问题已经得到解决,再次感谢!
        在调试过程中还是遇到了一些不能理解的地方,希望得到你进一步的指导:

1. 这个计数器不只是表示addMac的命令,而是所有的命令,包括取PA统计信息等
2.如上所述,并不一定是有7个addMac配置,请根据bitmap的有效位来查找路由信息
3.异常路由的广播是有效的,你那边无效是因为入参的问题,请检查入参,特别是Mroute应该是-1.异常路由配置的广播地址是不经过LUT匹配的,PDSP firmware直接解析包做的判断,而将广播地址以addmac方式加到LUT表,则是经过LUT匹配命中后才生效的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分