一、目的
为Barebox移植基于Tiny6410的NAND Flash驱动,并使用Barebox自带的nandtest命令测试该驱动。
二、开发环境
主机: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.3.patch文件放到和barebox-2013.05.0.tar.bz2文件的同一个目录下。
tar jxf barebox-2013.05.0.tar.bz2
进入barebox源码根目录
cd barebox-2013.05.0
打补丁
patch -p1 < ../barebox-1.3.patch
3.使用已经配置好的文件
cp tiny6410_defconfig .config
4.编译
执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
5.测试
Barebox启动后,可以通过串口查看到驱动加载和NAND Flash的信息,如下图:
通过ls /dev命令可以查看到NAND Flash设备文件为nand0,如下图:
输入命令nandtest -t -m -o 655360 -l 131072 /dev/nand0测试NAND Flash,结果如下图:
命令中的-o表示偏移地址,-l表示长度,关于该命令的详细说明感兴趣的可以查看源码中的commands/nandtest.c文件。
附:
本想写篇详细的移植文档把这两天的学习过程记录下来的,不过现在兴趣正浓,先把其他驱动(LCD、网口、USB等等)移植完再写吧。
patch文件下载: