Part Number:TDA4VM
tda4evm sdk 8.4 rtos
原问题
TDA4VM: 移植phy无法获取ip – 处理器论坛 – 处理器 – E2E 设计支持 (ti.com)
9G 中的rgmii 3,rgmii 5调试phy都通了
rgmii4 tx 除了有125M输出,没有数据输出
rgmii4 rx有量到数据
开启lwip打印
[MCU2_0] 40.898486 s: pbuf_add_header: old a35a55f8 new a35a55e4 (20)
[MCU2_0] 40.898542 s: ip4_output_if: br4
[MCU2_0] 40.898569 s: IP header:
[MCU2_0] 40.898592 s: +——————————-+
[MCU2_0] 40.898646 s: | 4 | 5 | 0x00 | 336 | (v, hl, tos, len)
[MCU2_0] 40.898680 s: +——————————-+
[MCU2_0] 40.898737 s: | 4 |000| 0 | (id, flags, offset)
[MCU2_0] 40.898773 s: +——————————-+
[MCU2_0] 40.898822 s: | 255 | 17 | 0xba99 | (ttl, proto, chksum)
[MCU2_0] 40.898857 s: +——————————-+
[MCU2_0] 40.899040 s: | 0 | 0 | 0 | 0 | (src)
[MCU2_0] 40.899083 s: +——————————-+
[MCU2_0] 40.899136 s: | 255 | 255 | 255 | 255 | (dest)
[MCU2_0] 40.899167 s: +——————————-+
[MCU2_0] 40.899198 s: ip4_output_if: call netif->output()
[MCU2_0] 40.899251 s: pbuf_add_header: old a35a55e4 new a35a55d6 (14)
[MCU2_0] 40.899298 s: ethernet_output: sending packet a35a5500
[MCU2_0] 40.899433 s: dhcp_discover: deleting()ing
[MCU2_0] 40.899492 s: pbuf_free(a35a5500)
[MCU2_0] 40.899543 s: pbuf_free: a35a5500 has ref 1, ending here.
[MCU2_0] 40.899575 s: dhcp_discover: SELECTING
[MCU2_0] 40.899615 s: dhcp_discover(): set request timeout 32000 msecs
[MCU2_0] 40.899683 s: sys_timeout: a362fc80 abs_time=39160 handler=dhcp_fine_tmr arg=a39da4bc
[MCU2_0] 40.899742 s: sct calling h=igmp_tmr t=2 arg=a39da4c8
[MCU2_0] 40.899779 s: tcpip: igmp_tmr()
[MCU2_0] 40.899829 s: sys_timeout: a362fc00 abs_time=38760 handler=igmp_tmr arg=a39da4c8
[MCU2_0] 40.998011 s: sct calling h=igmp_tmr t=1 arg=a39da4c8
发现协议栈有发送,但rgmii 4 tx 没有量到任何数据
为什么只有rgmii 4 tx有问题?
yk z:
pinmux是rtos原始配置,打印出来与dm手册一致
devmem2 0x00011C134 /dev/mem opened. Memory mapped at address 0xffffb999c000. Read at address0x0011C134 (0xffffb999c134): 0x00010004 root@j7-evm:~# devmem2 0x00011C138 /dev/mem opened. Memory mapped at address 0xffff8d828000. Read at address0x0011C138 (0xffff8d828138): 0x00010004 root@j7-evm:~# devmem2 0x00011C13c /dev/mem opened. Memory mapped at address 0xffffa82ad000. Read at address0x0011C13C (0xffffa82ad13c): 0x00010004 root@j7-evm:~# devmem2 0x00011C140 /dev/mem opened. Memory mapped at address 0xffffa2ba0000. Read at address0x0011C140 (0xffffa2ba0140): 0x00010004 root@j7-evm:~#
,
Cherry Zhou:
您好,您的问题我们升级到英文论坛给工程师看下,链接如下,请持续关注:
e2e.ti.com/…/tda4vm-rgmii4-porting-phy-cannot-get-ip
,
yk z:
你们的工程师好像没有回应
,
Cherry Zhou:
您好,请看以下答复:
您能看到 macport 4和其余 macport 之间有什么明显的区别吗? 尤其是:
使用的PHY
MAC 的模式(RGMII vs其他模式)请比较下正常工作端口的 MAC 寄存器与非工作端口的 MAC 寄存器。 需要注意的寄存器是什么
CPSW_PN_CONTROL_REG_k (Section 12.2.2.6.5.55 in TRM)
CPSW_PN_MAC_CONTROL_REG_k (Section 12.2.2.6.5.92 in TRM)
CPSW_PN_MAC_STATUS_REG_k (Section 12.2.2.6.5.93 in TRM)您也可以检查 cpsw IP 的统计信息。 您可以在此处查看有关如何获取统计数据的更多详细信息。 因此,您需要查看主机端口(port 0)是否正在接收任何数据包。 然后它会将这些数据包传递到port 4。 您可以使用统计数据来跟踪这一变化。 发送几个数据包之前和之后的 stat 转储比较将在这里有所帮助。
此外,该问题和您的原问题是否为同一个case?
,
yk z:
您能看到 macport 4和其余 macport 之间有什么明显的区别吗? 尤其是:
使用的PHY
port 5 与port 4挂同样的phy,仅是phy addr不同
MAC 的模式(RGMII vs其他模式)
都是RGMII模式
,
yk z:
此外,该问题和您的原问题是否为同一个case?
原问题为之前提的以下case
(+) TDA4VM: 移植phy无法获取ip – 处理器论坛 – 处理器 – E2E 设计支持 (ti.com)
,
yk z:
请比较下正常工作端口的 MAC 寄存器与非工作端口的 MAC 寄存器。 需要注意的寄存器是什么
CPSW_PN_CONTROL_REG_k (Section 12.2.2.6.5.55 in TRM)
CPSW_PN_MAC_CONTROL_REG_k (Section 12.2.2.6.5.92 in TRM)
CPSW_PN_MAC_STATUS_REG_k (Section 12.2.2.6.5.93 in TRM)这三个寄存器在正常的port 3和异常的port4中是一样的,当执行udhcpc时
port 3
root@j7-evm:~# devmem2 0x0C024004/dev/mem opened.Memory mapped at address 0xffffa4e90000.Read at address 0x0C024004 (0xffffa4e90004): 0x00000000root@j7-evm:~# devmem2 0x0C024330/dev/mem opened.Memory mapped at address 0xffffa9f30000.Read at address 0x0C024330 (0xffffa9f30330): 0x000200A1root@j7-evm:~# udhcpc: sending discover devmem2 0x0C024334/dev/mem opened.Memory mapped at address 0xffffbb8c0000.Read at address 0x0C024334 (0xffffbb8c0334): 0xF0000018root@j7-evm:~# udhcpc: sending discover
port 4
root@j7-evm:~# devmem2 0x0C025004/dev/mem opened.Memory mapped at address 0xffff9969c000.Read at address 0x0C025004 (0xffff9969c004): 0x00000000root@j7-evm:~# root@j7-evm:~# udhcpc: sending discoverudhcpc: sending discoverudhcpc: sending discover devmem2 0x0C025330/dev/mem opened.Memory mapped at address 0xffffbcff9000.Read at address 0x0C025330 (0xffffbcff9330): 0x000200A1root@j7-evm:~# devmem2 0x0C025334/dev/mem opened.Memory mapped at address 0xffff811dd000.Read at address 0x0C025334 (0xffff811dd334): 0xF0000018root@j7-evm:~#
,
Cherry Zhou:
您试下MAC loopback测试,关于该测试的更多信息请看以下链接:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1203408/faq-tda4vm-how-to-do-a-mac-loopback-test-with-cpsw-in-tda4-dra8-devices
该测试可以确保正确地配置了 MAC。
,
yk z:
hi,
看了一下这个文档,由于这边连接CCS工具有困难,
我们在RTOS中调试port4的phy,应该也可以用第二种法方法验证?
,
yk z:
为了验证实验的方法的可行性,
我们在一款ECO中linux中调的phy(已通),做from linux的脚本实验,
a:
T1只接了转接盒,让mac处于linked状态,转接盒后面没有接RJ45网线,接PC端
并没有tx rx都增长,或者我的测试方式是错的
you see increment in both Tx_Good_frames and Rx_good_frames for the port under test, the MAC is working properly
B:
当后面接了网线才increment in both Tx_Good_frames and Rx_good_frames
所以实验a是错还是对的?
,
Cherry Zhou:
我们跟进给工程师看下。
,
yk z:
类似的测试在下面的链接的贴子中提过结论了,似乎贵司没有回复
TDA4VM: Can't ping when porting PHY to SDK 8.4 – Processors forum – Processors – TI E2E support forums