我是板子直接与电脑用网线直连,用PING命令,发现板子始终都没有回复ARP包。接着我直接使用SOCKET往外连接,也是没有发送任何东西出去,求大家教下
Nancy Wang:
请问使用的是NDK2.23吗?
user6162378:
回复 Nancy Wang:
是的用的NDK2.23,用NDK_200里的NSP修改来的
user6162378:
回复 Nancy Wang:
无论是用电脑PING板子,还是板子用connect,返回的都是主机不可达,和no route to host
Nancy Wang:
回复 user6162378:
使用NSP是可以正常工作的?
有个比较旧的文档是关于6455 ndk的可以参考看一下。
www.ti.com/…/sprues4a.pdf
当pc ping 板子时,Rx端帧计数器增加了吗?在CCS窗口观察一下udps/ICMPIn[19]/ _ICMPOut[19]变量。
查看是否接收到ICMP:
#define ICMP_ECHO8/* echo service */#define ICMP_ECHOREPLY0/* echo reply */
最后看一下TX端统计数值是否增加。
user6162378:
回复 Nancy Wang:
你好,我吧PLL2时钟改正确之后发现似乎是板子接收不到数据包。因为我用PC去PING板子时,板子没有回复PC发出的ARP包;而当我用板子CONNECT电脑时,板子发出了ARP包,PC回复了此包,但是板子似乎没有接受到这个回复包,还在一直重复发送ARP包给PC。我用的TCP协议,我该如何查看板子RX端的接收计数啊?你上面提到的几个变量能不能再说详细一点,我是新手有点没搞懂,不好意思啊
Nancy Wang:
回复 user6162378:
ccs expressions窗口添加上面提到的变量名。
Nancy Wang:
回复 user6162378:
可以通过Table 29: Network Statistics Registers查看Rx good frame counter。因为有ARP包发出,可以看一下Tx packets counter和Rx counter的值是否有所变化。
www.ti.com/…/spru975e.pdf
之前用NDK2.0有问题吗?为什么要修改PLL2的时钟?
user6162378:
回复 Nancy Wang:
你好,因为我是RGMII模式,之前我的PLL2DIV为2,后来发现这个设置不对就按照手册上说的改成了5。结果就可以正确发送了,但是接收还是不行。
我刚刚照你所说的去看统计信息发现,
当我用板子connect的时候Tx packets counter有计数,正常发了ARP包,但是Rx counter为0;
当我用PCping板子的时候,Rx counter是0。
还有就是我PHY芯片是BCM5461。