Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305781
  • 博文数量: 69
  • 博客积分: 352
  • 博客等级: 入伍新兵
  • 技术积分: 296
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-16 15:41
文章分类
文章存档

2023年(1)

2021年(1)

2020年(2)

2017年(4)

2016年(3)

2015年(1)

2013年(1)

2012年(21)

2011年(35)

分类:

2012-06-21 14:47:50

把链接里的几个文件替换到OK6410 u-boot里的文件就可以了
patch-dm9000.rar




//////////////////////////////////////////////////////////////////
当无论用ping命令还是tftp命令,都显示
CS8900 Ethernet chip not found?!时

看了uboot1.1.6/include/configs/smdk6410.h,里面确实是配置为网卡使用CS8900,什么时候发布个配置为DM9000的uboot源码啊?或者发个补丁也行

方法。
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;

4.要使用路由器连网,并且IP要在同一个网段,
用printenv 查看环境变量,看看是不是你要设的IP;然后用setenv 添加 、修改、删除环境变量; 最后用saveenv来保存(环境变量具体操作请查网络)

我的环境变量如下:
1.)SMDK6410 # printenv
bootargs=root=/dev/mtdblock2 rootfstype=cramfs console=ttySAC0,115200
bootcmd=nand read 0xc0008000 0x100000 0x500000;bootm 0xc0008000
bootdelay=1
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
ipaddr=192.168.5.120
serverip=192.168.5.100
gatewayip=192.168.5.1
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial

Environment size: 317/524284 bytes

2.)开始ping 网络:
SMDK6410 #ping 192.168.5.100
Found DM9000 ID:90000a46 at address 18000300 !
DM9000 work in 16 bus width
bd->bi_entaddr: 00:40:5c:26:0a:5b
[eth_init]MAC:0:40:5c:26:a:5b:
host 192.168.5.100 is alive

5.如果我这样讲你还不明的可以交的我Q:1204000908
6在编译时请看一下的交叉编译器是不是一样(uboot下的Makefile中查看)

重新编译好的u-boot就可以使用ping、tftp等命令了。用tftp下载镜像很方便,不用在linux里编译,然后用ftp倒到windows,再用DNW下载到目标板了



各位请注意:我给出的uboot是没问题的!开发板能PING得通VM 上的linux系统,而VM 上的linux系统不能PING通开发板的原因是:因为内核还没有启动,在linux系统ping开发板的过程中是要向开发板发数据的,而你的内核还没有启动 数据无法存放,所以在VM 的linux系统是ping不通开发板是正常的,tftp 是能用的,这是我的tftp下载:

SMDK6410 # tftp c0008000 zImage   //我的下载目录是tftpboot,而在目录下有zImage 内核
Found DM9000 ID:90000a46 at address 18000300 !
DM9000 work in 16 bus width
bd->bi_entaddr: 00:40:5c:26:0a:5b
[eth_init]MAC:0:40:5c:26:a:5b:
TFTP from server 192.168.5.100; our IP address is 192.168.5.120
Filename 'zImage'.
Load address: 0xc0008000
Loading: T T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###################################################
done
Bytes transferred = 3586888 (36bb48 hex)
SMDK6410 #
我提供下面网址给大家去看一下tftp的使用吧!
  1.) 
  2.)
阅读(1407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~