- 论坛徽章:
- 0
|
最近在做调试关于网口
我板子主芯片用的是ARM11 ,DDR大小是128M,Flash大小是(16M NORFlash,飞索公司的),我用的主cpu带有mac,所以网口这边选择的PHY是IP101G,背景交代完毕!
目前调试进度是可以读回PHY的ID,也可以修改PHY寄存器的值,自己PHY_ADDR = 0x01
自己phy芯片只做了自动协商模式的配置,其他配置没有修改!不知道对不对?
每次ping主机pc时 显示已建立连接,并且是100Mbps 全双工的!
调用这个函数eth_send()
调试打印出:
Packet of length 60
ffff ffff ffff 00ef fe44 55e0 0806 0001
0800 0604 0001 00ef fe44 55e0 c0a8 0114
0000 0000 0000 c0a8 010f 0000 0000 0000
0000 0000 0000 0000 0000 0000
然后就进入循环接收了!调用eth_rx()函数,调试打印出 no packet!
最后显示 ping failed; host 192.168.1.15 is not alive
用抓包工具抓包,在PC端没有抓到! 说明没有发送出去数据。最后检查说是在eth_send函数的最后打开DMA指令开关。例如: GEC_TN0_DMA_CTRL = 1;表示为打开。 在这一句执行完之后打印出它的值 显示还是为 0 。 现在已经在这块调试了好几天了! 所以将问题发送打帖子上,望各位大神能加以指导,点拨点拨! 鄙人将不甚感激! |
|