随笔 - 11  文章 - 1 评论 - 0 阅读 - 5665
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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。
posted on   菜鸟变形记  阅读(273)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示