Barebox for Tiny6410(Nand Flash启动)

一、Barebox简介

        Barebox说白了就是一个bootloader,它的代码目录管理和风格都比较像Linux,配置时同样使用make menuconfig,目前仍处于初期发展中,还不是很完善,代码量不是很大,学习起点不是很高。感兴趣的可以详细了解一下。

 

二、开发环境:

主机:WIN7 32位旗舰版

虚拟机:VMware Workstation 7.0

Linux:Ubuntu 12.04

编译器:arm-linux-gcc-4.5.1-v6-vfp-20101103

开发板:Tiny6410(256M Nand Flash,128M DDR )

 

三、步骤

1.下载BareBox最新版本。

http://www.barebox.org/download/

我下载的是barebox-2013.05.0.tar.bz2这个版本。

 

2.给Barebox打补丁

把barebox-1.patch文件放到和barebox-2013.05.0.tar.bz2文件的同一个目录下。

 

解压barebox-2013.05.0.tar.bz2

tar jxf barebox-2013.05.0.tar.bz2

 

进入barebox源码根目录:

cd barebox-2013.05.0

 

打补丁:

patch -p1 < ../barebox-1.patch

 

3.使用默认配置文件

cp arch/arm/configs/friendlyarm_tiny6410_defconfig .config

 

4.修改配置选项

make menuconfig

进入System Type --->

 

进入S3C Features --->

选上Booting from NAND for tiny6410

回退到make menuconfig进来的界面下,取消Networking Support选项。至于为什么取消,在后面会说到。

退出保存。最后,执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动,即可看到串口输出如下启动信息。

 

注意:

(1)原始的Barebox是不支持Nand Flash启动的。

以下问题已解决。

(2)为什么不选上Networking Support,主要是让生成的barebox.bin文件小于128K(一块的大小),因为对于我开发板的BIOS(U-boot),在烧写大于128K的裸机程序时会跳过某1页或者2页,并不是按顺序烧一页一页地写到Nand Flash,而我的Nand Flash读程序是按照顺序一页一页地读到DDR的,所以当.bin文件大于128K时会出问题,启动不了,当.bin文件小于128K时没有这个问题。知道原因的大神麻烦告诉一下。

 

patch文件下载:

http://files.cnblogs.com/lknlfy/barebox-1.patch.rar

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值