主题 : 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: 19547
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-04-20
最后登录: 2012-06-08
1楼  发表于: 2010-07-09 22:17
引用第1楼lee.lao于2010-07-09 14:57发表的  :
不能这样下载的,这样下载就好像把鸟淹在水里让他飞一样。
用JTAG下载,可以参考一下这个:http://leelao.bokee.com/viewdiary.43854108.html
这样uboot就只是作为一个像执行程序,在某个地址被运行(跑裸机)。


哦,那为什么我用论坛中,其他人提供的uboot.bin,就可以在内存中运行呢。而且,我看Tekkaman Ninja修改的代码,好像也追加了“检测自己现在在哪运行”的代码。
呵呵,我是初学者,还请多多帮助,谢谢。
级别: 新手上路
UID: 19547
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-04-20
最后登录: 2012-06-08
2楼  发表于: 2010-07-11 22:53
大家好,现在我编译的uboot.bin也能下载到sdram运行了,我是这么做的:我把DNW下载的地址写成0x33f80000,然后再下载,就能运行uboot了。好像是因为config.mk文件中有"TEXT_BASE = 0x33F80000",上网查了一下,据说是uboot的链接地址,具体我不懂了。
但是还有一个问题,就是下载后,在uboot运行时需要马上,按一下键盘,不要等它倒计时,因为若是等它倒计时,它就会停住,死在那,不能正常运行uboot。
这又是什么原因呀,还请大家多多指点。
级别: 新手上路
UID: 19547
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-04-20
最后登录: 2012-06-08
3楼  发表于: 2010-09-12 17:23

 回 4楼(rushao) 的帖子

谢谢你的指点,我的那个uboot,倒计时的时候,一到3就自己停住了,还没有倒计时到0了,不知什么原因,呵呵...