嵌入式linux中的lcd驱动分析
嵌入式linux中的lcd驱动分析
作者:杰洲村的木棉 学校:广东工业大学 QQ:568109894
源文来自http://luwenchao100.blog.hexun.com/23060194_d.html
在嵌入式linux中,lcd和触摸屏驱动都是字符驱动,采用“文件层-驱动层”的接口方式,本文档中分析的lcd驱动是针对linux2.6.13内核的,本人用的开发板是qq2440,lcd是三星的LTV3500V(带触摸屏的),具体分析的文件:
是"include/linux/fb.h","drivers/video/s3c2410fb.h","drivers/video/s3c2410fb.c","drivers/video/fbmem.c","/include/asm/arch-s3c2410.fb.h(些头文件是针对s3c2440或s3c2410芯片的)",“/home/linux/5/kernel-2.6.13/arch/arm/mach-s3c2410/mach-smdk2410.c"(驱动移植主要就是要修改这个文件,配置一些参数)。详细看一下LCD的驱动,实际上,几乎lcd设备驱动所要做的所有事情就是填充fb_info结构然后向系统注册或注销它
(1)fb.h包含了framebuffer所用到的结构
(2)fbmem.c处于Framebuffer设备驱动技术的中心位置.它为上层应用程序提供系统调用也为下一层的特定硬件驱动提供接口;那些底层硬件驱动需要用到这儿的接口来向系统内核注册它们自己. fbmem.c 为所有支持FrameBuffer的设备驱动提供了通用的接口,避免重复工作.
(3)s3c2410fb.c就是特定硬件驱动(针对s3c2410芯片的),fbmem.c就是沟通应用层跟s3c2410fb.c的桥梁
FrameBuffer设备驱动基于如下几个文件:
1)include/linux/fb.h
2)drivers/video/fbmem.c
3)drivers/video/s3c2410fb.c
4)drivers/video/s3c2410fb.h
5)include/asm/arch-s3c2410/fb.h
现在先来分析这两个文件:
1.fb.h包含了framebuffer所用到的结构
1)fb_fix_screeninfo
描述显示卡的属性,并且系统运行时不能被修改
struct fb_fix_screeninfo {
char id[16]; /* identification string eg "TT Builtin" */
unsigned long smem_start; /* Start of frame buffer mem */
&nb
相关文档:
在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram Disk)技术,而且内核支持压缩的文件系统映像。有了这两项功能,我们可以让Linux系统从小的初始化内存盘启动,并把系统内存的一部分作为根文件系统挂载。
Ramdisk就是将内存的一部分分配为一个分区并作为硬盘来使用。对于系统运行 ......
Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux时,在很多时候,我们需要将在Linux桌面上的操作过程录制下来,比如制作屏幕
演示、视频教学等。这里将介绍在Linux桌面下值得使用的5个屏幕录像软件,包括Istanbul、Wink、Xvidcap、Vnc2swf、
Recordmydesktop,希望对有此需求的朋友提供参考。
Istanbul ......
Table of Contents, Show Frames, No Frames
第十五章 Linux核心数据结构
本章列出了Linux实用的主要数据结构。
block_dev_struct
此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。
struct blk_dev_struct {
void (*request_fn)(void);
struct request * curren ......
whois
功能说明:查找并显示用户信息。
语法:whois [帐号名称]
补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。
------------------------------------------------ ......