我现在编了一个uboot.img 和mlo,然后在sd 卡上可以正常启动,但是在uboot 里面用命令nand write 把mlo 写到flash的0x0,把uboot.img 写道0x80000 ,都写成功了,没报错,然后拔掉sd卡,重启,结果就是不能启动。为什么?是uboot 还要编成sd 版和nand版吗?
另外还有一个小问题:我用的flash是MT29F8G08ABACA块结构是,uboot已经识别出来了:
Device 0: nand0, sector size 256 KiB
Page size 4096 b
OOB size 224 b
Erase size 262144 b
但是uboot 代码里面:
#if defined(CONFIG_NAND_OMAP_ECCSCHEME)
err = omap_select_ecc_scheme(nand, CONFIG_NAND_OMAP_ECCSCHEME,
CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE);
#else
/* pagesize and oobsize are not required to configure sw ecc-scheme */
err = omap_select_ecc_scheme(nand, OMAP_ECC_HAM1_CODE_SW,
0, 0);
#endif
定义的page size是2048,oob 是64,这样子我在正常使用中会不会有问题?