Linux 驱动—LCD学习一:实践篇

平台:
Linux :2.6.31
U-Boot:u-boot-2010.06
BusyBox: BusyBox 1.15.2
交叉编译器:arm-linux- v4.3.3

这篇实践有两部分:一是驱动程序移植,二是制作自己的开机LOGO

一、驱动移植                                                                                                                    

1、设置时钟频率,不采用源码中复杂的计算方式,直接修改。

修改drivers/video/s3c2410fb.c中的函数,如下红色粗体:


在struct s3c2410fb_display结构体中并没有setclkval成员,所以需要添加该成员:

arch/arm/mach-s3c2410/include/mach/fb.h

 2、修改LCD的参数,这需要对照所用LCD的datasheet。 

arch/arm/mach-s3c2440/mach-smdk2440.c

重要参数说明:(1)pixclock — 像素时钟,即画1个点需要的时间值,单位皮秒(ps)。比如,如果datasheet指定时钟25MHz,那么:

1000000/25 = 40000(ps)

(2)setclkval—是LCDCON1寄存器CLKVAL值,由它决定VCLK((Pixel clock signal)的值,如下图:

参数设置好后,还有一重要地方要改,就是其下面的函数:

3、配置内核,并支持启动LOGO。

Device Drivers: 
	Graphics Support ---> 
		<*>support for frame buffer devices ---> 
			[*] Enable frameware EDID 
   			[*] Enable Vidoe Mode Handling Helpers 
		<*> S3C24X0 LCD framebuffer support 
 	Console display driver support ---> 
		<*> Framebuffer Console Support 
	[*] Bootup Logo ---> 
		<*> Standard 224-color Linux logo 
4、编译并烧写内核,可以 看到左上角一只企鹅,说明驱动移植正常

二、LOGO制作                                                                                                                 

LOGO制作需要用到GNU开源软件GIMP(GNU Image Manipulation Program

1、用光影魔术手或其他软件得到320x240尺寸的图片,复制到Linux系统,用GIMP打开:

:若不转换成320x240大小的图片,图片体积会很大


2、在图片编辑区右键依次选择:

Image—>Mode—>Indexed,出现图片转换配置选项,作如下设置:

点击Convert进行转换。

3、得到.ppm格式的文件:

右键依次:File—>Export,在弹出的对话框中作如下设置:


4、把文件重命名为logo_linux_clut224.ppm,复制到drivers/video/logo问件夹,覆盖原文件。

5、重新编译内核,烧录,启动过程中即可看到我们的LOGO图片(秦时明月):

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值