on screen display monitor是什么驱动

    貌似好久好久没写驱动类的博客距上一次写驱动的博客还得回到半年前,那时天气还很冷如今已经热的要命,但我还是想把自己学习到的知识跟大家分享没写驱动類的博客是觉得Linux下的驱动源码真是太多太多了,半年前我也比较害怕Linux源代码随时时间的推移,自己琢磨了不短时间了觉得大概能读懂Linux源代码了,也就没那么害怕它了

原归正传,预定以后的驱动博客我想用尽量短篇幅来记录但是会以尽量详细的角度去分析驱动。学习驅动心得驱动呢主要还是要抓住主干的架构,太细节的东西不必太刻意去研究因为很多太底层的函数人家已经帮你实现了,你不必去懷疑它正确与否

LCD驱动里有个很重要的概念叫帧缓冲(framebuffer),它是Linux系统为显示设备提供的一个接口应用程序在图形模式允许对显示缓冲区进行讀写操作。用户根本不用关心物理显示缓冲区的具体位置及存放方式因为这些都由缓冲区设备驱动完成了。

在弄清楚LCD驱动架构之前我們先弄清楚几个重要的结构体,为了减短篇幅有一些不是很重要的成员会用省略,具体的源代码请大家参考Linux源代码这里我使用的源代碼是天嵌公司提供的移植好的Linux-2.6.30.4。

考虑到fb_ops结构体里面的函数指针成员太多这里仅简单列举几个比较常见的,具体的请参考源代码

fb_var_screeninfo 被fb_info结构體所包含,这个结构体主要用来设置LCD屏幕的参数如分辨率、像素比特数等,LCD驱动程序里面硬件相关的设置很多都涉及这个结构体

以上籠统的介绍了几个重要的结构体,大家如果没有阅读过源码的可能对这些结构体比较陌生但是没关系,比较常用的我都用显眼的颜色标記了大家结合以后的博客日志就会懂这些结构有什么作用了。

对于这些参数会在哪里设置通过什么样的形式来设置?

答:通过平台设備的方式来设置这就是鼎鼎有名的platform_device结构体了,这个知识留到后面的LCD驱动篇来讲解

这篇博客先分析到这里,下一篇准备讲内核源代码fbmem.c這个文件实现了帧缓冲设备驱动的文件操作接口函数。

我要回帖

更多关于 display monitor 的文章

 

随机推荐