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

 Barebox for Tiny6410(LCD驱动移植)

管理提醒: 本帖被 xoom 执行加亮操作(2013-06-03)
作者:     lknlfy@ 163.com                      2013-6-2


一、目的
          熟悉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(256M Nand Flash,128M DDR

 
四、步骤
41 下载BareBox最新版本
http://www.barebox.org/download/
我下载的是barebox-2013.05.0.tar.bz2这个版本。


42 Barebox打补丁
把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 < ../barebox-1.4.1.patch


43 使用已经配置好的文件
cp tiny6410_defconfig .config

 
4.4 编译
       执行make,即可在源码根目录下生成barebox.bin文件,将它烧写到开发板的Nand Flash中,然后从Nand Flash启动。

 
45 测试
          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文件中。暂且不分析,感兴趣的可以自己先行下载研究研究。



本部分内容设定了隐藏,需要回复后才能看到




级别: 侠客
UID: 58655
精华: 0
发帖: 130
金钱: 645 两
威望: 130 点
贡献值: 0 点
综合积分: 260 分
注册时间: 2011-11-11
最后登录: 2017-09-13
1楼  发表于: 2013-06-03 09:23
看看。
级别: 新手上路
UID: 89477
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2013-03-28
最后登录: 2018-06-22
2楼  发表于: 2013-06-06 20:46
谢谢,看看
级别: 新手上路
UID: 2660
精华: 1
发帖: 17
金钱: 130 两
威望: 46 点
贡献值: 10 点
综合积分: 54 分
注册时间: 2008-12-01
最后登录: 2013-06-13
3楼  发表于: 2013-06-09 09:46
有patch吗???
级别: 新手上路
UID: 92546
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
贡献值: 0 点
综合积分: 20 分
注册时间: 2013-06-01
最后登录: 2013-06-28
4楼  发表于: 2013-06-28 05:13
谢谢
级别: 新手上路
UID: 78664
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2012-09-23
最后登录: 2016-05-01
5楼  发表于: 2013-07-04 09:22
不支持2G nand flash mlc2
级别: 侠客
UID: 11984
精华: 0
发帖: 126
金钱: 630 两
威望: 126 点
贡献值: 0 点
综合积分: 252 分
注册时间: 2009-12-26
最后登录: 2015-02-21
6楼  发表于: 2013-08-06 08:02
看看。
级别: 新手上路
UID: 2309
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2008-11-10
最后登录: 2017-05-02
7楼  发表于: 2013-08-13 14:21
看看。
级别: 新手上路
UID: 94853
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2013-07-25
最后登录: 2013-12-04
8楼  发表于: 2013-08-21 12:32
很想看一下LCD的代码
级别: 新手上路
UID: 15209
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
贡献值: 0 点
综合积分: 26 分
注册时间: 2010-03-02
最后登录: 2015-01-09
9楼  发表于: 2013-08-28 19:44
谢谢