自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 (转)高通Android平台下关于display部分的几个关键问题

显示部分的几个问题这几天通过实际测试澄清了一下,主要是下图中各个模块的使用状况以及HAL层几个模块的调用流程。以问题的方式描述如下:1、 Ap是怎么进行显示的?Surfaceflinger负责所有上层的显示处理,对于AP(2D或是3D的应用程序)而言,只要到surfaceflinger中创建surface,设置好参数,接下来都是统一交给surfaceflinger进行处理2、 Surface是怎么管理多个surface的?不管有多少个surface,最终送到显示部分的只能是屏幕大小数据,surfacefli

2011-05-07 23:51:00 1031

转载 (转)Android display架构分析(八)

<br />1添加新的Display Driver的工作内容<br />参考上面linux下fb设备的软件架构,可以知道,要加入一个新的MDDI 接口的LCM,Driver的工作就是要提供自己的mddi_xxxx.c(在这次porting的过程中,为了节省时间,我们直接修改了mddi_toshiba.c),并且完成和这个lcd相关的HWr的初始化。主要的工作包括:<br />A、初始化和LCD / LCD背光相关的IO以及电源;<br />B、编写初始化函数 。主要是初始化LCD控制器,这个一般LCD厂商会

2011-05-07 23:50:00 896

转载 (转)Android display架构分析(七)

Surfaceflinger process流程分析根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信。Surfaceflinger作为一个thread,这里把它分为3个部分,如下:1、 Thread本身处理部分,包括初始化以及thread loop。2、 Binder部分,负责接收上层应用的各个设置和命令,并反馈状态标志给上层。3、 与底层的交互,负责调用底层接口(HAL)。结构图如下:注释:a、 Binde

2011-05-07 23:41:00 737

转载 (转)Android display架构分析(六)

<br /><br />本部分介绍的完全是用户空间显示部分的架构,与kernel并没有直接的联系,主要是JNI以下到HAL以上的部分。1、Surface manager(surface flinger)简介<br />Surface manager是用户空间中framework下libraries中负责显示相关的一个模块。<br /><br />    当系统同时执行多个应用程序时,Surface Manager会负责管理显示与存取操作间的互动,另外也负责将2D绘图与3D绘图进行显示上的合成。<br /> 

2011-05-07 23:37:00 626

转载 (转)Android display架构分析(五)

<br />1、User Space display接口<br />      在Android平台下,应用程序面对的显示部分的接口就是HAL,参考copybit.c,具体接口如下介绍:<br />open_copybit<br />       初始化相关变量,并调用open("/dev/graphics/fb0", O_RDWR, 0);打开fb设备。<br />set_parameter_copybit<br />       设置各种操作参数,如rotate、alpha、dither等。<br />

2011-05-07 23:34:00 753

转载 (转)Android display架构分析(四)

<br />msm_fb.c 函数和数据结构介绍<br />该文件为高通显卡的驱动文件,比较重要的函数接口和数据结构如下:<br />A、高通msm fb设备的文件操作函数接口<br />static struct fb_ops msm_fb_ops = {<br />.owner = THIS_MODULE,<br />.fb_open = msm_fb_open,<br />.fb_release = msm_fb_release,<br />.fb_read = NULL,<br />.fb_writ

2011-05-07 23:29:00 1229 2

转载 (转)Android display架构分析(三)

<br /><br />除了上层的图形应用程序外,和Kernel空间有关的包括Linux FB设备层以及和具体HW相关的驱动层,对应的源文件分别是fb_mem.c、msm_fb.c、mddi_toshiba.c。下面会一一介绍。fb_mem.c 函数和数据结构介绍<br />这个文件包含了Linux Fb设备的所有接口,主要函数接口和数据结构如下:<br />A、Fb设备的文件操作接口<br /><br />B、3个重要的数据结构<br />   FrameBuffer中有3个重要的结构体,fb.h中定义,

2011-05-07 22:58:00 637

转载 (转)Android display架构分析(二)

<br />Android display SW架构分析<br /><br /><br /><br />下面简单介绍一下上图中的各个Layer:<br />*蓝色部分-用户空间应用程序<br />应用程序层,其中包括Android应用程序以及框架和系统运行库,和底层相关的是系统运行库,而其中和显示相关的就是Android的Surface Manager, 它负责对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。<br />*黑色部分-HAL层,在2.2.1部分会有介绍<br />*红色

2011-05-07 22:26:00 803

转载 (转)Android display架构分析(一)

<br /><br />高通7系列 Display的硬件部分主要由下面几个部分组成:<br />A、MDP<br />高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩小、旋转等。MDP内部的MDP DMA负责数据从DDR到MDDI Host的传输(可以完成RGB之间的转换,如RGB565转成RGB666,这个转换工能载目前的code 中没有使用)。<br />B、MDDI<br />一种采用差分信号的高速的串行数据传输总线,只负责数据传输,无其它功能;其中的

2011-05-07 20:47:00 791

转载 (转)Android display system introduce(Qualcomm 8x60 platform)(一、HW架构)

<br /><br />一、8x60平台显示系统硬件模块讲解<br /><br /><br />上图取自8x60硬件的架构图,都是和显示比较相关的部分,其中最主要的就是MDP,同时为了兼容各种显示接口,8x60又集成了MIPI、HDMI的transmitter以及TV  Encoder。这样一来,可以支持多种显示设备,如下:<br />1.MIPI接口的LCD<br />2.RGB接口的LCD<br />3.LVDS接口的LCD(需外加一颗Transmitter)<br />4.电视(模拟接口)<br />

2011-05-07 10:04:00 1990

转载 (转)Android display system introduce(Qualcomm 8x60 platform)(二、SW架构--1)

一、Overview    除去最上层的应用不算,surface最上层的接口就是java surface了,文件路径如下:frameworks/base/core/java/android/view/Surface.java,该文件中的接口会被应用间接调用。我们从JNI开始看,surface的JNI文件路径如下:frameworks/base/core/jni/android_view_Surface.cpp,里面的接口大概分为2类,一类是负责管理ibinder通信的;另一类才是和显示控制相关的,第二类接口

2011-05-07 09:38:00 1200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除