自己买板子的时候没有买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
本文介绍了一种解决飞凌板子网络移植过程中遇到的问题的方法,并提供了优化步骤,包括替换代码、编译及解决网络识别问题。通过使用特定资料中的文件替换原板子中的对应文件,并注释eth_halt函数来解决网络卡识别后断开的问题。最后,通过tftpd32工具完成bin文件下载并运行程序。
2121

被折叠的 条评论
为什么被折叠?



