Barebox for Tiny6410(LCD驱动移植)

摘要:
1.4增加支持直接对内存中的图片数据渲染到LCD上。4.2给Barebox打补丁把barebox-1.3.patch文件放到和barebox-2013.05.0.tar.bz2文件的同一个目录下。4.5测试Barebox启动后,通过ls/dev命令可以看到LCD设备的设备文件名为fb0,如下图中的红色框所示。输入lcd-d-a1455722456-s208620/dev/fb0命令后,如上图紫色框,即可在LCD上显示出Barebox的Logo,如下图所示。

一、目的

熟悉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命令将会用到它们。

Barebox for Tiny6410(LCD驱动移植)第1张

输入lcd -d -a 1455722456 -s 208620 /dev/fb0命令后,如上图紫色框,即可在LCD上显示出Barebox的Logo,如下图所示。其中-d表示draw picture;-a表示图片在内存中的地址;-s表示图片的实际大小。

Barebox for Tiny6410(LCD驱动移植)第2张

输入lcd -p /dev/fb0可以查看关于LCD驱动的一些参数设置,如下图:

Barebox for Tiny6410(LCD驱动移植)第3张

输入lcd -b xx /dev/fb0可以将LCD清屏成某一种颜色,xx表示颜色值,如下图:

Barebox for Tiny6410(LCD驱动移植)第4张

效果:

Barebox for Tiny6410(LCD驱动移植)第5张

五、源代码分析

所有修改、增加的源代码都在patch文件中。暂且不分析,感兴趣的可以自己先行下载研究研究。

patch文件下载:

https://files.cnblogs.com/lknlfy/barebox-1.4.1.patch.rar

Logo图片下载

https://files.cnblogs.com/lknlfy/barebox_logo.rar

免责声明:文章转载自《Barebox for Tiny6410(LCD驱动移植)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇element+vue显示数据库数据MySQL高可用方案--MHA部署及故障转移下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块

实验二十九:LCD模块 据说Alinx 301支持 7”TFT,好奇的朋友一定疑惑道,它们3.2”TFT以及7”TFT等两者之间究竟有何区别呢?答案很简单,前者自带控制器也有图像内存。换之,后者好似缩小版台式的液晶,它除了接口以外什么也没有。 图29.1 7”TFT的引脚。 如图29.1所示,这只7“TFT拥有840 * 480的分辨率,应用VGA接口,...

树莓派LCD显示器安装步骤

3.5inch RPi LCD (A) 产品特点 硬件分辨率为480×320 电阻式触摸控制 兼容并可直接插入任何版本树莓派 提供驱动(支持RaspbianUbuntuKali和Retropie系统) 支持FBCP软件驱动,可设置软件分辨率和双屏显示 和你的树莓派一样大 沉金工艺,精雕细琢 快速入门 硬件连接 连接GPIO接口,Raspberry Pi...

mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】

本文转载自:http://blog.csdn.net/bmw7bmw7/article/details/45876487 我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2 即mipi屏的传输时钟频...

Linux学习: LCD驱动

一、LCD驱动框架: 1.分配一个fb_info结构体:s3c_lcd = framebuffer_alloc(0,NULL); 2.设置fb_info(s3c_lcd): ID、固定参数、可变参数、设置操作函数 及 其他设置 3.注册:register_framebuffer(s3c_lcd); 4.硬件相关的操作:   ①分配引脚用于LCD      ...

Framebuffer

什么是framebuffer framebuffer从字面上理解是“帧缓冲”,一般有如下理解: 单纯的把framebuffer看作一块内存,这部分内存包含了将要scan out显示的数据。 等价于framebuffer driver。通常作为LCD控制器或者其他显示设备的驱动,FrameBuffer驱动是一个字符设备,设备节点是/dev/fbX,主设备号...

mini2440 w35 制作开机logo 去除logo光标

一、制作.ppm文件 默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm,因此制作一个新.ppm文件,覆盖它即可。 一般的linux发行版系统都已自带netpbm-10.35-6.fc6工具。最好把你的图片做为png格式,做以下步骤: pngtopnm logo.png>logo.pnm  #转换...