|
楼主 |
发表于 2011-4-16 18:55:57
|
显示全部楼层
ATMEL官网有个NAND FLASH启动的BOOTLOADER,但下到我板上去不能启动,之前扔在一边。
昨天晚上重新拿起来研究,下了源码来看,外加网上搜索,做了个很小的改动,原来需要添加自己板上NAND FLASH信息到/include/nand_ids.h里面,如下:
/* Supported NandFlash devices */
static struct SNandInitInfo NandFlash_InitInfo[] = {
{0xecda, 0x800, 0x20000, 0x800, 0x40, 0x0, "K9F2G08U0M\0"},
{0xecaa, 0x800, 0x20000, 0x800, 0x40, 0x0, "K9F2G08R0A\0"},
{0x2cca, 0x800, 0x20000, 0x800, 0x40, 0x1, "MT29F2G16AAB\0"},
{0x2cda, 0x800, 0x20000, 0x800, 0x40, 0x0, "MT29F2G08AAC\0"},
{0x20aa, 0x800, 0x20000, 0x800, 0x40, 0x0, "STMNAND02GR3B\0"},
{0x2caa, 0x800, 0x20000, 0x800, 0x40, 0x0, "MT29F2G08ABD\0"},
{0,}
};
我的是K9F1G08U0M,添加如下:
{0xecf1, 0x400, 0x20000, 0x800, 0x40, 0x0, "K9F1G08U0M\0"},
然后进到board/at91sam9260ek/nandflash/编绎生成nandflash_at91sam9260ek.bin,但我看大小超过了4K,于是把对另外几个NAND FLASH的定义去掉了,这下够了。
注意nandflash/目录里面的文件at91sam9260ek.h定义了板上NAND FLASH的引脚,U-BOOT存放位置以及大小等,需要修改成和板上一样。
然后用SAM-BA把BOOTLOADER和U-BOOT写到NAND FLASH,启动成功。我的U-BOOT就是原来在能直接在NOR FLASH上引导的U-BOOT。 |
|