主题 : Barebox for Tiny6410(Nand Flash启动) 复制链接 | 浏览器收藏 | 打印
专注于嵌入式&Linux
级别: 骑士
UID: 12802
精华: 3
发帖: 237
金钱: 1355 两
威望: 271 点
贡献值: 3 点
综合积分: 534 分
注册时间: 2010-01-13
最后登录: 2014-03-18
楼主  发表于: 2013-05-26 20:18

 Barebox for Tiny6410(Nand Flash启动)

管理提醒: 本帖被 xoom 执行加亮操作(2013-05-27)
 
作者:  lknlfy@ 163.com                2013-5-26
 

首先,感谢本论坛的mei5150网友介绍了Barebox这个好东西。

 

开发环境:

主机:WIN7 32位旗舰版

虚拟机:VMware Workstation 7.0

LinuxUbuntu 12.04

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

开发板:Tiny6410256M Nand Flash128M 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(一块的大小),因为对于我开发板的BIOSU-boot),在烧写大于128K的裸机程序时会跳过某1页或者2页,并不是按顺序烧一页一页地写到Nand Flash,而我的Nand Flash读程序是按照顺序一页一页地读到DDR的,所以当.bin文件大于128K时会出问题,启动不了,当.bin文件小于128K时没有这个问题。知道原因的大神麻烦告诉一下。



我将本帖的内容做成了PDF文档,感兴趣的可以看看。(第一次发帖,就不需要回复后可见了,如有不足,请见谅。)

PDF文档:

http://pan.baidu.com/share/link?shareid=569670&uk=1007393630

patch文件:

http://pan.baidu.com/share/link?shareid=569669&uk=1007393630

[ 此帖被lknlfy在2013-05-29 14:15重新编辑 ]