日期:2014-05-16  浏览次数:20762 次

uboot1.3.4在移植norflash问题
刚开始学习uboot的移植,比较郁闷!
参照以前师兄做的uboot1.1.4在atmel9200上的移植,修改了atrm9200dk_config,和flash.c文件,编译后出现下面的问题,

U-Boot 1.3.4 (Sep 14 2010 - 17:19:34)

U-Boot code: 21F00000 -> 21F17924 BSS: -> 21F35410
RAM Configuration:
Bank #0: 20000000 32 MB
Flash: 0 kB
In: serial
Out: serial
Err: serial
### main_loop entered: bootdelay=3

### main_loop: bootcmd="bootm 10060000"
Hit any key to stop autoboot: 0

flash没有检测到。。。

flash芯片采用E28F640J3,flash.c驱动应该没问题,uboot1.1.4使用此驱动编译下载没有问题
U-Boot 1.1.4 (Sep 14 2010 - 15:05:35)

U-Boot code: 21F00000 -> 21F17ECC BSS: -> 21F34804
RAM Configuration:
Bank #0: 20000000 32 MB
flash_protect ON: from 0x10000000 to 0x10017ECB
protect on 0
flash_protect ON: from 0x10020000 to 0x1003FFFF
protect on 1
Flash: 16 MB
In: serial
Out: serial
Err: serial
### main_loop entered: bootdelay=3

### main_loop: bootcmd="bootm 10060000"

atrm9200dk_config中关于falsh的定义
#define PHYS_FLASH_1 0x10000000
#define PHYS_FLASH_SIZE 0x800000 /* 2 megs main flash */
#define CFG_FLASH_BASE PHYS_FLASH_1
#define CFG_MAX_FLASH_BANKS 1
#define CFG_MAX_FLASH_SECT 128
#define CFG_FLASH_ERASE_TOUT (2*CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */
也全部参照修改,flash移植一直没有成功


我的编译环境是 Ubuntu10.04 + arm-linux-gcc-4.3.2

郁闷好几天了,请高手帮忙啊~~~小妹不胜感激。。。





------解决方案--------------------
你看看你所修改的那个 flash.c 。 问题应该就出在这里。

你找到调用 flash_protect 的地方,然后 增加一些调试信息,
看看为什么 flash_protect 没有被调用,是否是之前就已经出错了。