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

           自己买板子的时候没有买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

     

       

 

你可能感兴趣的:(windows,网络,IO,工具,Go)