bootstrap(boot)启动uboot

1、一级启动代码Bootstrap修改的文件在Bootstrap-v1.16\board\at91sam9261ek\nandflash目录下的at91sam9261ek.h中的(在项目程序中未作修改)

#define   IMG_ADDRESS          0x20000            /* Image Address in NandFlash */

#define   IMG_SIZE                   0x40000            /* Image Size in NandFlash    */ 

IMG_ADDRESS为Uboot在Nandflash中存放的起始地址,IMG_SIZE为文件大小,单位为KB,根据实际情况设定。

另外添加了支持的Nandflash的信息在Bootstrap-v1.16\include目录下的nand_ids.h文件中的

{0xecF1, 0x400, 0x20000, 0x800, 0x40, 0x0, "K9F1G08U0B\0"},

具体意义见Bootstrap-v1.16\include目录下的nandflash.h中的介绍

Bootstrap编译过程:在Bootstrap-v1.16\board\at91sam9261ek\nandflash目录下有个makefile文件,只需用gcc编译工具(本程序是在Cygwin环境下)make目录中的makefile文件即可在当前文件下生成所需的可执行文件,然后用SAM-BA工具烧写到Nandflash中(具体方法在此不做说明)。

2、Uboot修改的文件在u-boot-1.3.4\include\configs目录下的at91sam9261ek.h文件中的

#undef CFG_USE_DATAFLASH_CS0

/*#undef CFG_USE_NANDFLASH    */

#define CFG_USE_NANDFLASH                 1

#define CFG_ENV_IS_IN_NAND      1

#define CFG_ENV_OFFSET                0x60000

#define CFG_ENV_OFFSET_REDUND      0x80000

#define CFG_ENV_SIZE             0x20000            /* 1 sector = 128 kB */

#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xa0000 0x200000; bootm"

CFG_ENV_OFFSET和CFG_ENV_OFFSET_REDUND为存放uboot环境变量的起始地址,大小为0x20000。从0xa0000为应用程序代码存放的起始地址,大小为0x200000。

编译过程:修改完以上环境变量后,在根用户下进入到u-boot-1.3.4目录执行以下命令

[root@localhost u-boot-1.3.4]#make distclean

[root@localhost u-boot-1.3.4]# make at91sam9261ek_config

Configuring for at91sam9261ek board...

[root@localhost u-boot-1.3.4]#make

然后等待编译完成,需要一段时间,编译完成后在u-boot-1.3.4文件目录下就会生成u-boot.bin文件

然后通过SAM-BA烧写到Nandflash中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值