一、目的
为Barebox添加Tiny6410的LED驱动,并使用Barebox自带的led命令测试该驱动。
二、开发环境
主机: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.2.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.2.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选项。
进入General Settings --->
再进入memory layout --->,将TEXT_BASE改为0x57000000,如下图所示:
在最顶层进入Drivers --->,选上LED support --->,如下图:
然后进入里面,选上Tiny6410 board’s LED support,如下图:
回到最顶层,进入commands,选上最下面的led command,如下图:
退出保存。最后,执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
5.测试
Barebox启动后,输入以下命令点亮led0:
led led0 0
输入以下命令熄灭led0:
led led0 1
命令参数说明:
led:表示led这个命令
led0:Tiny6410总共有4个LED,对应的名字分别为led0,led1,led2和led3
0或1:0表示点亮;1表示熄灭
patch文件下载: