自己买板子的时候没有买J-Link仿真器,而飞凌自带的Uboot不支持网络,一直ping不通,提示:CS8900 Ethernet chip not found?
参考了网上的一些说法,自己最也弄成功了,以下是移植过程。
1. 使用我所给的资料。并且要将OK6410光盘里提供的uboot(uboot1.1.6_FORLINX_6410.tar)解压到你的目录下
2.
a.用我所给资料下的dm9000x.c和dm9000x.h替换OK6410的u-boot里的同名文件
b.用我所给资料的tq6410.h里配置网卡的几行代码替换掉uboot1.1.6/include/configs/smdk6410.h里配置网卡的相应代码
c.代码替换如下:
#define CONFIG_DRIVER_DM9000 1
#define CONFIG_DM9000_BASE 0x18000300
#define DM9000_IO CONFIG_DM9000_BASE
#define DM9000_DATA (CONFIG_DM9000_BASE + 4)
#define CONFIG_DM9000_USE_16BIT
3.编译
#make clean;
#make smdk6410_config ;
#make;
这是网络上的一个很流行的一个移植方法,但是,在我实际调试过程中,会发现一个问题,当你使用ping命令ping PC机的时候,网卡总是先显示正在识别,接着就断了,当你再次ping的时候,问题再一次重复出现。解决方法如就是注空eth_halt函数。
void eth_halt (void)
{
/* RESET devie */
// phy_write(0x00, 0x8000); /* PHY RESET */
// iow(DM9KS_GPR, GPR_PHYDown); /* Power-Down PHY */
// iow(DM9KS_IMR, DM9KS_DISINTR); /* Disable all interrupt */
// iow(DM9KS_RXCR, 0x00); /* Disable RX */
}
这样当你再次ping主机的时候就不会出现上述问题了
在windows下使用tftpd32工具,利用tftp命令完成bin文件的下载
直接go xxxxxxxx运行程序
附:移植文件下载:http://download.youkuaiyun.com/detail/enjoymylinux/4369809
tftpd32下载:http://download.youkuaiyun.com/detail/enjoymylinux/4369826