本文转载自:http://blog.csdn.net/gqb_driver/article/details/12918547

/************************************************************************************************************************************/

原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/12918547,作者:gqb666  
/************************************************************************************************************************************/

工作上的事太忙了,导致哥的Linux Framebuffer驱动系列博客搁浅了一段时间,今天兴致来了,开工。上篇博文《Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理》,主要描述了Framebuffer的概念及LCD硬件原理,文本将重点介绍linux Framebuffer驱动框架的软件构架,从框图的形式直观显现其各层次间的关系。如下图所示,看看Framebuffer的软件架构到底长什么样子:

图1 framebuffer设备驱动的软件架构

Framebuffer帧缓冲设备给用户态提供的读写接口file_operations实际由fbmem.c文件里的特定file_operatins结构对象来提供,而特定帧缓冲设备fb_info结构体的注册、注销及其中成员的维护,尤其是fb_ops中的成员函数的实现则由对应的xxxfb.c文件实现,fb_ops中的成员函数最终会操作LCD控制器的寄存器。

接下来以Linux 2.6.37为例,画出各结构关系的UML图,及简单描述下从应用程序到驱动的流程。

实际上通过框图我们一眼就看出了其架构,但不能仅浮于表面,各个数据结构的含义及函数的实现才是我们的重头戏,好吧,让我们揭开她神秘的面纱,看清本质,下转《Linux Framebuffer 驱动框架之三相关核心数据结构(待续)》。

Linux Framebuffer驱动框架之二软件架构(未完待续)【转】的更多相关文章

  1. Linux Framebuffer 驱动框架之一概念介绍及LCD硬件原理【转】

    本文转载自:http://blog.csdn.net/liuxd3000/article/details/17464779 一.基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供 ...

  2. Linux Framebuffer驱动剖析之二—驱动框架、接口实现和使用

    深入分析LinuxFramebuffer子系统的驱动框架.接口实现和使用. 一.LinuxFramebuffer的软件需求 上一篇文章详细阐述了LinuxFramebuffer的软件需求(请先理解第一 ...

  3. linux 维护常见场景小命令 (未完待续)

    1.安装KDE桌面 [root@rhel06 ~]# yum -y groupinstall "X Windows System" "KDE Desktop" ...

  4. Linux驱动框架之framebuffer驱动框架

    1.什么是framebuffer? (1)framebuffer帧缓冲(一屏幕数据)(简称fb)是linux内核中虚拟出的一个设备,framebuffer向应用层提供一个统一标准接口的显示设备.帧缓冲 ...

  5. 【原创】Linux PCI驱动框架分析(二)

    背 景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本 ...

  6. Linux Framebuffer驱动剖析之一—软件需求

    嵌入式企鹅圈将以本文作为2015年的终结篇,以回应第一篇<Linux字符设备驱动剖析>.嵌入式企鹅圈一直专注于嵌入式Linux和物联网IOT两方面的原创技术分享,稍后会发布嵌入式企鹅圈的2 ...

  7. Linux Framebuffer驱动剖析之中的一个—软件需求

    嵌入式企鹅圈将以本文作为2015年的终结篇,以回应第一篇<Linux字符设备驱动剖析>.嵌入式企鹅圈一直专注于嵌入式Linux和物联网IOT双方面的原创技术分享,稍后会公布嵌入式企鹅圈的2 ...

  8. Linux USB驱动框架分析 【转】

    转自:http://blog.chinaunix.net/uid-11848011-id-96188.html 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结 ...

  9. Linux USB驱动框架分析【转】

    转自:http://blog.csdn.net/jeffade/article/details/7701431 Linux USB驱动框架分析(一) 初次接触和OS相关的设备驱动编写,感觉还挺有意思的 ...

随机推荐

  1. 使用less时的calc()函数问题

    在使用less时写 width:calc(100%-30px); 但在浏览器检查元素的时候总会显示width:70%; 可以在Less中把calc的写法改写成下面这样: width : calc(~& ...

  2. VC++文件监控 ReadDirectoryChangesW

    #include <windows.h> #include <tchar.h> #include <stdio.h> #include <assert.h&g ...

  3. 获取qq音乐json数据---某课网音乐app学习

    移动端qq音乐地址:https://m.y.qq.com/ .抓取QQ音乐数据 请求首页时,有如下链接,回调了jsonp https://c.y.qq.com/splcloud/fcgi-bin/p. ...

  4. (转)Arcgis for Js之Graphiclayer扩展详解

    http://blog.csdn.net/gisshixisheng/article/details/41208185 在前两节,讲到了两种不同方式的聚类,一种是基于距离的,一种是基于区域范围的,两种 ...

  5. PHP 之ip查询接口

    /** * @param $ip 待查询的ip * @return mixed */ function getIpAddressInfo($ip) { $ipurl = 'http://api.ip1 ...

  6. AcDbTable 类

    Table 例子学习笔记在这个例子中,ARX向我们展示了ACDBTABLE类的一些基本操作方法,ACDBTABLE类是ACAD2005及其以后的产品,应该是说ACDBDATATABLE的升级产品,Ac ...

  7. 原生js实现瀑布流效果

    参考此篇:https://segmentfault.com/a/1190000012621936 以下为个人测试中: css: .masonry{ width:100%; } .item{ posit ...

  8. C解析config

    #cat bb.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include < ...

  9. 铁大FaceBook的使用体验副本

    铁大FaceBook是一个类似QQ和微信等聊天程序的缩小版网站,并且其针对领域较为狭窄:即只针对校园的学生和导员等人员.但其有值得推广的潜力性和可能性. 对于使用它的体验:第一点我感觉这个网站的界面很 ...

  10. 入口文件 index.php

    一. 运行流程 The index.php serves as the front controller, initializing the base resources needed to run ...