移植uboot花了我蛮久时间,目前还在维护过程中,不断的发现问题,然后解决问题,这其中的过程十分曲折和蛋疼,其他的就不说了吧,先说说我个人问题:
目前uboot启动从sd卡启动全部正常,然后我改变一下环境变量的保存以后,编译成nand启动用的uboot,然后再烧写到nand启动,换nand方式启动,uboot启动起来了,但出现一个问题,以前从来没有遇到过的,就是启动过程中uboot不能读出自身这块nand的ID号,根本识别不了这块nand。下面是我过程中加进去的打印信息,串口输出如下:
U-Boot 2011.06 (Jun 14 2013 - 19:20:11) for FriendlyARM-YDZX210
CPU: S5PC110@1000MHz
Board: FriendlyARM-YDZX210
gd.env_addr=0x23e2621c
gd.env_valid=0x1
DRAM: 512 MiB
It's ok!!
board_init_r!!
WARNING: Caches not enabled
PWM Moudle Initialized.
GPD0CON : 1111, GPD0DAT : e
nand_init be called.
NAND: 1st=0
2st=0
3st=0
4st=0
4st=0
6st=0
id = 0
chip->options=20000
busw=0
tmp_nanf=0x00
tmp_id=0x00
name=<NULL>
No NAND device found!!!
0 MiB
MMC: SAMSUNG SD/MMC: 0, SAMSUNG SD/MMC: 1
*** Warning - readenv() failed, using default environment
In: serial
Out: serial
Err: serial
Net: dm9000
YDZX210 #
从sd卡启动的话,全部正常,打印信息如下:
U-Boot 2011.06 (Jun 14 2013 - 16:18:37) for FriendlyARM-YDZX210
CPU: S5PC110@1000MHz
Board: FriendlyARM-YDZX210
gd.env_addr=0x23e261fc
gd.env_valid=0x1
DRAM: 512 MiB
It's ok!!
board_init_r!!
WARNING: Caches not enabled
PWM Moudle Initialized.
GPD0CON : 1111, GPD0DAT : e
nand_init be called.
NAND: 1st=ec
2st=d5
3st=94
4st=76
4st=54
6st=43
id = d5
chip->options=20200
busw=0
tmp_nanf=0xec
tmp_id=0xd5
name=NAND 2GiB 3,3V 8-bit
mtd->oobsize=512
chip->options=20200
busw=0
type->options=11d
2048 MiB
MMC: SAMSUNG SD/MMC: 0, SAMSUNG SD/MMC: 1
In: serial
Out: serial
Err: serial
Net: dm9000
YDZX210 #
当我换另外一款板子的时候,烧同样的文件,另外一块板子从nand启动正常,这个原因是什么?有人能分析下不?
对于我的uboot源码,如果有兴趣的朋友,可以跟我一起来探讨,我在另外一个帖子里面已经公布了最近在移植的源码
http://www.aiothome.net/read.php?tid-28771.html源码下载:
http://pan.baidu.com/share/link?shareid=636708253&uk=555024270我的开发板是友善之臂的tiny210v2,nand是mlc型的uof