主题 : uboot.bin下载到内存中,无法运行 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 19547
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-04-20
最后登录: 2012-06-08
楼主  发表于: 2010-07-06 22:55

 uboot.bin下载到内存中,无法运行

大家好,我下载了Tekkaman Ninja修改好的uboot源码(地址是http://github.com/tekkamanninja/U-boot-2009.11_tekkaman),然后进行编译,编译工具是arm-linux-gcc-4.3.2(命令是make CROSS_COMPILE=arm-linux-),生成u-boot.bin。
然后使用mini2440的vivi下载,开关拨到nor启动方式,进入BIOS后,按[d],使用DNW下载刚生成的u-boot.bin,然后出现以下信息,就停住了。

Now, Downloading [ADDRESS:30000000h,TOTAL:255550]
RECEIVED FILE SIZE: 255550 (249KB/S, 1S)
Downloaded file at 0x30000000, size = 255540 bytes

但是,用vivi把它下载到nand flash里(按[a]),再从nand flash启动(开关拨到S2),就可以运行uboot了。我用了gcc-3.4.5-glibc-2.3.6编译器,效果也是一样,无法直接在内存中运行。

我用过论坛里大家发的u-boot.bin,下载后直接就可以在内存中运行,而且把它下载到nand flash也可以运行。

请大家帮帮忙,告诉我是怎么回事呀,谢谢!
级别: 侠客
UID: 33103
精华: 0
发帖: 61
金钱: 315 两
威望: 63 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2010-11-25
最后登录: 2011-07-14
1楼  发表于: 2011-06-20 09:59
哥们,应该不是的,dnw不用另外设置,只用设置一个地方就行了,因为在stat.S中有一段这样的代码:#ifndef CONFIG_SKIP_LOWLEVEL_INIT
    bl    cpu_init_crit
#endif
在开头的地方定义一下这个CONFIG_SKIP_LOWLEVEL_INIT
也就是#define CONFIG_SKIP_LOWLEVEL_INIT
再次编译就成了,我也不知道是什么原因,本来我是想把那段从nor flash中搬移到内存中的那段代码给屏蔽了的,谁知道没认真弄,屏蔽了这个,谁知道成功了,瞎猫碰见死耗子,呵呵。。。大家可以试试。。。下面是dnw的贴图:

宁可高傲的发霉,也不可低贱的恋爱
级别: 侠客
UID: 33103
精华: 0
发帖: 61
金钱: 315 两
威望: 63 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2010-11-25
最后登录: 2011-07-14
2楼  发表于: 2011-06-20 21:48
我传一个镜像吧,呵呵,
u-boot.bin (98 K) 下载次数:250
用surpvivi 中的d下载,直接就有会成功的。。。。
宁可高傲的发霉,也不可低贱的恋爱