1. LCD驱动介绍
2. LCD文件介绍
2.1 源文件
Framebuffer 设备驱动的实现和头文件主要是在linux内核源码中的/driver/video和/include/linux目录中,主要包括如下几类文件:
1)/drivers/video/fbmem.c;
2) /drivers/vieo/xxxfb.c;
3) /drivers/video/yyy;
4) /include/linux/fb.h.
其中xxx为自己添加的FrameBuffer驱动程序。yyy表示目录名,一些与默写厂商生产的LCD相关的文件在改目录下。
fb.h文件中主要是定义一些结构体和宏;fbmem.c实现了设备初始化、卸载和文件操作接口;xxxfb.c为自己添加的设备驱动文件(如struct fb_info)实现了入口点函数xxxfb_init。
2.2 帧缓冲(FrameBuffer)驱动设计与实现
在linux系统中通畅使用FrameBuffer技术读写LCD上的图像。FrameBuffer从本质上讲就是图像设备的硬件抽象。对于开发者而言,FrameBuffer是一块显示缓存(也就是显存),往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。通过不断向FrameBuffer中写入数据,显示控制器就自动从FrameBuffer中读取数据并显示出来。由于大多数计算设备(手机、平板电脑)没有像PC一样的专用显存,所以Linux系统单独将内存分出了一块作为显存,这块分出来的内存就是FrameBuffer占用的空间大小。
FrameBuffer设备是字符设备,所以在/dev目录中有与FrameBuffer设备对应的设备文件。可以用程序或Linux命令行工具直接访问这些设备文件。
FrameBuffer设备文件的主设备号是29,次设备号从0-31。
浙公网安备 33010602011771号