wmmwang 发表于 2007-3-5 16:13:09

为什么U-BOOT在SKYEYE移植不起来

请各位大侠帮忙,小弟初学。
我用的skyeye1.2RC8,uboot1.1.6

1、SKYEYE配置如下:
#skyeye config file for uboot
cpu: arm720t
mach: ep7312

mem_bank: map=I, type=RW, addr=0x80000000, size=0x00010000

#skyeye for uboot flash 16M bank 1
mem_bank: map=M, type=RW, addr=0x00000000, size=0x01000000, file=./u-boot.bin,boot=yes

#skyeye for uboot sdram 16m bank 1
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x01000000

2、uboot修改如下:
找到
   #define CONFIG_DRIVER_CS8900    1
改为
   #define CONFIG_DRIVER_CS8900    0

找到
   #define CONFIG_COMMANDS               (CONFIG_CMD_DFL | CFG_CMD_JFFS2)
改为
   #define CONFIG_COMMANDS               (CONFIG_CMD_DFL) /*Skyeye doesn't have jffs2*/


都是按照“一步一步教你SKYEYE运行uboot”那个教程做的,只不过我用的UBOOT和SKYEYE的版本和教程里的不同。

但是最后运行的,我敲入SKYEYE后,结果却:
。。。。。。。。。。。
。。。。。。。。。。。
。。。
(上面我省略了)
Loaded RAM   ./u-boot.bin



u-boot 1.1.6(Mar 4 2007 -16:19:03)
:(:(:(
Flash:16MB
***Waring - bad CRC,using default evironment
In:      serial
Out:    serial
Err:   serial
Hit any key to stop autoboot:   0
CS8900 Ethernet chip not found?!
BOOTPbroadcast 1


界面就在此停住了,这是为什么??

wmmwang 发表于 2007-3-6 20:35:20

已经解决了.
   初学,什么都不懂,花了不少时间看其程序,虽然到现在还没彻底搞清楚UBOOT这个东西,但上面这个东西还是解决了.

   看到屏幕上出现CS8900,我感觉肯定是网口出了问题,下面一行出现BOOTP,好象是个什么命令,然后我查了UBOOT的命令,果然,BOOTP是个网络启动命令,那么UBOOT肯定启动的时候启动了这个命令,但是之前我对网络这方面什么都没动,这个命令怎么可能启动来呢,所以,解决方法就是找到这个命令,并删除它.既然教程里能启动起来,那我也应该能启动来的.

    我一开始想,能不能把这个命令屏蔽掉,然后运行不就好了吗.于是把
#define CONFIG_COMMAND 设置成为
#define CONFIG_COMMAND (CONFIG_CMD_DFL & ~CFG_CMD_NET)
接下来,用SKYEYE运行,果然界面运行下去了,但是在ep7312#上面会提示bootp这个命令找不到或者说没定义,因为被我通过~CFG_CMD_NET屏蔽了,所以当然也就不能用这个命令(bootp这个命令归~CFG_CMD_NET管).
   
   我能不能把提示bootp这个命令没有的错误去掉呢.那么只有找到启动时候的那个BOOTP这个命令了.因为刚刚学习UBOOT,所以费劲N长时间.
    查找include->configs->ep7132.h,在里面发现这么一个定义:
    #define CONFIG_BOOTCOMMAND "bootp;bootm"
把后面的"bootp;bootm"去掉,就OK了.
页: [1]
查看完整版本: 为什么U-BOOT在SKYEYE移植不起来