for (i = 0, oft = 0x16; i < 8; i++, oft++) DM9000_iow(oft,0x00); //DM9000_iow(oft, 0xff);
4.413行
注释掉下面2行
修正一直无法收到数据的错误,不要每次调用halt的时候都对PHY进行复位操作,否则会引起无法接受到数据的情况
void eth_halt(void) { DM9000_DBG("eth_halt\n"); /* RESET devie */ //phy_write(0, 0x8000); /* PHY RESET */ //DM9000_iow(DM9000_GPR, 0x01); /* Power-Down PHY */ DM9000_iow(DM9000_IMR, 0x80); /* Disable all interrupt */ DM9000_iow(DM9000_RCR, 0x00); /* Disable RX */ }
这里只是根据别人的文章进行实现,的确可行,但是具体为什么这么做还有些问题需要自己去弄明白.
为了能够挂载NFS和根文件系统。在uboot状态下修改参数如下:
setenv ipaddr 192.168.0.50
setenv serverip 192.168.0.47
setenv gatewayip 192.168.0.1
setenv bootdelay 3
setenv bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.47:/sheng/filesystem,proto=tcp,nfsvers=3,nolock ip=192.168.0.50
saveenv