1.前言

之前分析过Android HAL层关于hal库是如何加载的一个小框架,源于笔者需要分析Android display框架,Android display HAL层最重要的就是Gralloc和Framebuffer。在《深入理解Android内核设计思想》一书中,有提到:Android终端显示设备的”化身“–Gralloc与Framebuffer。
在Android系统中,Framebuffer提供的设备文件节点是/dev/graphics/fb*。
Framebuffer容易理解,那Gralloc是个什么东西。
Android的各个子系统通常不会直接使用内核驱动,而是由HAL层来间接引用底层架构。
显示系统也是同样如此–它借助HAL层来操作帧缓冲区,而完成这一中介任务的就是Gralloc。

2.正文

gralloc hal库源码位于hardware/libhardware/modules/gralloc/
主要包括:Android.mk framebuffer.cpp gralloc.cpp gralloc_priv.h gr.h mapper.cpp
加粗的则是最重要的三个实现文件
先看gralloc的加载,可以参照之前的blog。
通过之前分析到的hw_get_module即可加载对应的hal库,这里即是gralloc库。
可以看到在gralloc.h中hardware/libhardware/include/hardware/gralloc.h

/*** The id of this module*/
#define 

Android Display 之 HAL Gralloc相关推荐

  1. Android display

    From:     http://blog.csdn.net/bonderwu/archive/2010/08/12/5805961.aspx Android display架构分析(一) http: ...

  2. Android display架构分析-SW架构分析(1-8)

    参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...

  3. 高通Android display架构分析

    目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...

  4. Android Display System --- Surface Flinger

    SurfaceFlinger 是Android multimedia 的一个部分,在Android 的实现中它是一个service ,提供系统范围内的surface composer 功能,它能够将各 ...

  5. Android深度探索--HAL与驱动开发----第五章读书笔记

    第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...

  6. Android R camera Hal启动(下)

    文章目录 前言 代码流程分析 总结 前言 接上一篇Android R camera Hal启动(上)接着写,把谷歌的代码都分析完成,高通/MTK的代码就不贴了. 代码流程分析 上一篇说到getProv ...

  7. Android图形显示之硬件抽象层Gralloc

    FrameBuffer驱动程序分析文中介绍了Linux系统下的显示驱动框架,每个显示屏被抽象为一个帧缓冲区,注册到FrameBuffer模块中,并在/dev/graphics目录下创建对应的fbX设备 ...

  8. 2. android 直接使用hal库播放pcm demo

    目录 一:概述 二:实现 环境 原理说明: 注意问题: 上源代码: 编译执行: 一:概述 这是一个c语言demo程序,android源码环境,编译得到 bin文件,push到设备上在shell环境运行 ...

  9. Android深度探索--HAL与驱动开发----第一章读书笔记

    1.1   Android拥有非常完善的系统构架可以分为四层: 第一层:Linux内核.主要包括驱动程序以及管理内存.进程.电源等资源的程序 第二层:C/C++代码库.主要包括Linux的.so文件以 ...

最新文章

  1. shell的数字、字符串处理
  2. oracle11中过程continue,Oracle 11g OCM备考之创建EM与EM登陆异常的处理
  3. 如何使flexbox子代的父母高度为100%?
  4. 董小姐的空调不一定能当发电站,但牛放屁确实可以发电
  5. Asp.net Web.Config - 配置元素 httpCookies
  6. windows下使用git管理github项目
  7. mysql中利用sql语句修改字段名称,字段长度等操作(亲测)
  8. oracle某用户历史sql语句,查看oracle 用户执行的sql语句历史记录
  9. Javascript对象及数组用法笔记
  10. 百度图神经网络学习——day04:图神经网络算法(二)
  11. 一篇文章了解JsBridge之IOS篇
  12. ctworklist php开发,DICOM worklist工作原理
  13. python开发指法练习软件_利用“金山打字通”或其它指法训练软件,学习和掌握键盘指法指法输入规则。如果你的电脑中未安装,请到网上下载并自行安装,这里是“金山打字通2016”。...
  14. [转载]STED和STORM、PALM
  15. 木马手工查杀和隐藏控制技术分析
  16. 怎么把柱形图和折线图放在一起_Excel图表制作:柱形图和折线图的组合图案例...
  17. 计算机速度由CPU决定,电脑CPU的计算速度由什么决定
  18. arduino 的红外遥控解码
  19. HTTP请求响应基础介绍
  20. linux mv 文件夹不存在,linux 命令 mv abc.txt ../ 后文件不见了?

热门文章

  1. 大数据24小时:链家研究院发布地产大数据产品Real Data,上海交大与依图共建AI联合实验室
  2. dns劫持 tplink_路由器dns被劫持有什么后果【图】
  3. 百度正式推出移动框计算 发力移动搜索领域
  4. 樊登读书会终身成长读后感_(完整版)《终身成长》读后感
  5. android和ios传文件怎么打开方式,安卓怎么给iPhone传文件?文件互传教程
  6. Java + OpenCV 实现图片修复(去水印)(JavaCV)
  7. python生成微信个性签名的词云图
  8. 微软裁员重伤诺基亚中国研发团队
  9. ubuntu下面高效率小工具总结
  10. 计算机基础第五章知识,计算机基础第次作业第五章Powerpoint知识题.doc