主题 : Mini2440官方提供uboot v1.1.6版本无法从Norflash启动 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 3654
精华: 0
发帖: 8
金钱: 65 两
威望: 28 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-01-31
最后登录: 2011-04-07
楼主  发表于: 2009-09-20 15:21

 Mini2440官方提供uboot v1.1.6版本无法从Norflash启动

管理提醒: 本帖被 arm9home 从 Linux技术交流专区 移动到本区(2010-02-08)
最近想折腾一下uboot,使用的是友善之臂官方提供的uboot v1.1.6版本。
把uboot通过supervivi烧录到nandflash可以从nandflash正常启动系统。
修改了uboot的flash模块,使之支持sst36vf1601,从nandflash上的uboot中直接烧写uboot到norflash。烧写成功但是无法正常从norflash启动,uboot不断重启。
通过跟踪,发现是在board.c中的start_armboot函数,最开始调用板级初始化函数时出错重启了。
从nandflash启动后烧录supervivi到norflash,是可以从norflash直接启动supervivi的。

仔细思考几天,不知道问题到底在哪里,以前没有做过linux相关的软件,不知道是否是哪里需要修改设置。
在论坛里面找了下,没有发现这方面的问题,请问你们是可以从norflash启动uboot呢?还是没有尝试过?
请各位提供一个思路,或者解决方法,或者确认可以使用的从norflash启动的uboot源码。。。谢谢。
级别: 新手上路
UID: 3654
精华: 0
发帖: 8
金钱: 65 两
威望: 28 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-01-31
最后登录: 2011-04-07
1楼  发表于: 2009-09-20 21:54
希望有朋友能帮助我。。。

我把使用函数指针循环初始化进行的初始化阶段修改成具体依次调用初始化函数。系统会出现死机。

我使用LED进行跟踪,在env_init()函数中,只要调用crc32这个函数,系统就会死机。因此我怀疑是不是nandflash启动和norflash启动gcc linker的选项不一样?不懂这个。

从网上下载了一个编译好的NorFlash启动的uboot bin文件,烧录进系统,也是无法启动。
级别: 新手上路
UID: 3654
精华: 0
发帖: 8
金钱: 65 两
威望: 28 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-01-31
最后登录: 2011-04-07
2楼  发表于: 2009-09-20 21:59
晕死,搞明白了。使用jtag口烧录进去的uboot是可以使用的。
搞了半天,是我的烧录功能出了问题。

奇怪的是,我使用uboot程序烧录进去的supervivi却是可以使用的。
级别: 新手上路
UID: 3654
精华: 0
发帖: 8
金钱: 65 两
威望: 28 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-01-31
最后登录: 2011-04-07
3楼  发表于: 2009-09-21 21:39
犯了一个低级错误,把0x10000当作128KB了。。。擦除的不够。。。晕死
级别: 新手上路
UID: 7724
精华: 0
发帖: 6
金钱: 35 两
威望: 10 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2009-07-26
最后登录: 2012-04-08
4楼  发表于: 2010-03-24 11:13
你好,我的也启动不了,我的从NOR FLASH启动,启动不了BIOS啦,请问要如何把SPERVIVI烧录到NOR FLASH啊,我的NAND FLASH启动正常。