Barebox for Tiny6410(LCD驱动移植)
2013-06-02 17:06
260 查看
一、目的
熟悉Barebox的Frame buffer框架、LCD驱动的移植和测试命令的编写。
二、主要内容
1.1 为Barebox移植基于Tiny6410的LCD驱动。
1.2 编写lcd命令测试LCD驱动。
1.3 编写rz命令,使得支持通过串口下载文件到内存。
1.4 增加支持直接对内存中的图片数据渲染到LCD上(Barebox本身只支持对图片文件进行渲染)。
三、开发环境
主机:WIN7 32位旗舰版
虚拟机:VMware Workstation 7.0
Linux:Ubuntu 12.04
编译器:arm-linux-gcc-4.5.1-v6-vfp-20101103
开发板:Tiny6410([b]256M Nand Flash,128M DDR)[/b]
四、步骤
[b]4.1 下载BareBox最新版本[/b]
http://www.barebox.org/download/
我下载的是barebox-2013.05.0.tar.bz2这个版本。
[b]4.2 给Barebox打补丁[/b]
把barebox-1.3.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 < ../[b]barebox-1.4.1.patch[/b]
[b]4.3 使用已经配置好的文件[/b]
cp tiny6410_defconfig .config
[b]4.4 编译[/b]
执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
[b]4.5 测试[/b]
Barebox启动后,通过ls /dev命令可以看到LCD设备的设备文件名为fb0,如下图中的红色框所示。
输入rz -s 210000(这里我指定的是210000字节,比实际文件大就可以了)命令,然后选择barebox_logo.png文件,将它发送给串口。发送过程开始后会显示下载到内存的地址,如下图蓝色框中的download addr: 1455722456,发送完成后会显示文件的实际大小,如下图蓝色框中的receive size: 208620 bytes。下载地址和文件大小是两个重要的参数,下面的lcd命令将会用到它们。
输入lcd -d -a 1455722456 -s 208620 /dev/fb0命令后,如上图紫色框,即可在LCD上显示出Barebox的Logo,如下图所示。其中-d表示draw picture;-a表示图片在内存中的地址;-s表示图片的实际大小。
输入lcd -p /dev/fb0可以查看关于LCD驱动的一些参数设置,如下图:
输入lcd -b xx /dev/fb0可以将LCD清屏成某一种颜色,xx表示颜色值,如下图:
效果:
五、源代码分析
所有修改、增加的源代码都在patch文件中。暂且不分析,感兴趣的可以自己先行下载研究研究。
patch文件下载:
http://files.cnblogs.com/lknlfy/barebox-1.4.1.patch.rar
[b]Logo图片下载[/b]:
http://files.cnblogs.com/lknlfy/barebox_logo.rar
熟悉Barebox的Frame buffer框架、LCD驱动的移植和测试命令的编写。
二、主要内容
1.1 为Barebox移植基于Tiny6410的LCD驱动。
1.2 编写lcd命令测试LCD驱动。
1.3 编写rz命令,使得支持通过串口下载文件到内存。
1.4 增加支持直接对内存中的图片数据渲染到LCD上(Barebox本身只支持对图片文件进行渲染)。
三、开发环境
主机:WIN7 32位旗舰版
虚拟机:VMware Workstation 7.0
Linux:Ubuntu 12.04
编译器:arm-linux-gcc-4.5.1-v6-vfp-20101103
开发板:Tiny6410([b]256M Nand Flash,128M DDR)[/b]
四、步骤
[b]4.1 下载BareBox最新版本[/b]
http://www.barebox.org/download/
我下载的是barebox-2013.05.0.tar.bz2这个版本。
[b]4.2 给Barebox打补丁[/b]
把barebox-1.3.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 < ../[b]barebox-1.4.1.patch[/b]
[b]4.3 使用已经配置好的文件[/b]
cp tiny6410_defconfig .config
[b]4.4 编译[/b]
执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。
[b]4.5 测试[/b]
Barebox启动后,通过ls /dev命令可以看到LCD设备的设备文件名为fb0,如下图中的红色框所示。
输入rz -s 210000(这里我指定的是210000字节,比实际文件大就可以了)命令,然后选择barebox_logo.png文件,将它发送给串口。发送过程开始后会显示下载到内存的地址,如下图蓝色框中的download addr: 1455722456,发送完成后会显示文件的实际大小,如下图蓝色框中的receive size: 208620 bytes。下载地址和文件大小是两个重要的参数,下面的lcd命令将会用到它们。
输入lcd -d -a 1455722456 -s 208620 /dev/fb0命令后,如上图紫色框,即可在LCD上显示出Barebox的Logo,如下图所示。其中-d表示draw picture;-a表示图片在内存中的地址;-s表示图片的实际大小。
输入lcd -p /dev/fb0可以查看关于LCD驱动的一些参数设置,如下图:
输入lcd -b xx /dev/fb0可以将LCD清屏成某一种颜色,xx表示颜色值,如下图:
效果:
五、源代码分析
所有修改、增加的源代码都在patch文件中。暂且不分析,感兴趣的可以自己先行下载研究研究。
patch文件下载:
http://files.cnblogs.com/lknlfy/barebox-1.4.1.patch.rar
[b]Logo图片下载[/b]:
http://files.cnblogs.com/lknlfy/barebox_logo.rar
相关文章推荐
- Linux-2.6.32.2内核在mini2440上的移植(六)---LCD驱动移植
- AM335x(TQ335x)学习笔记——LCD驱动移植
- mini2440 X35 移植LCD驱动
- 移植ok6410 LCD驱动
- TQ2440 LCD驱动移植第一天
- linux-3.4.2 s5pv210 LCD驱动移植 overlay(二)
- 移植Linux2.6.22.2到博创2410-S(s3c2410A)(LCD驱动)
- AM1808 LCD驱动移植
- 14、linux2.6.31--LCD驱动移植
- AM335x(TQ335x)学习笔记——LCD驱动移植
- linux-2.6.32内核LCD驱动移植
- LCD驱动移植准备知识(一)
- TQ2440 LCD驱动移植第二天
- 安卓5.1源码 lcd驱动移植
- 2410 移植LCD 驱动LTV350QV
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动 ( W35屏 )
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动(W35屏)
- LCD驱动移植(一)
- LCD驱动移植(二)
- linux-2.6.22.6中LCD驱动到FL2440-I移植