您的位置:首页 > 理论基础 > 计算机网络

OK6410调试记录——移植Uboot支持网络

2012-06-13 09:56 337 查看
自己买板子的时候没有买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.csdn.net/detail/enjoymylinux/4369809

tftpd32下载:http://download.csdn.net/detail/enjoymylinux/4369826
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: