高通8x25平台display模块总结
一、 概述 1.1 简介 本文档主要包括 LCD 模块的驱动流程分析、 Framebuffer 相关知识、 Gralloc 等相关内容,以及 LCD 调试的一些经验和相关 bug 的分析和讲解。 1.2 开发环境 Android:4.0 Kernel: Linux3.0 Ubuntu: 需要 10.04 以及之后的版本 Gcc: 4.4.3 toolchain 1.3 硬件平台 Msm8x25,pmic(pm8029) 1.4 操作系统 Android:4.0, Kernel: 3.0 1.5 开发工具 VIM,SourceInsight,JTAG,ADB 二、 LCD 驱动流程分析 2.1 帧缓冲 2.1.1 帧缓冲概念 帧缓冲( framebuffer )是 Linux 系 统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关系物 理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。对于帧缓冲设备而言,只要在显示缓冲区中与显示点对应的区域写入颜色值,对应的颜 色会自动在屏幕上显示。帧缓冲为标准字符设备,主设备号为 29 ,对应于 /dev/fbn 。 2.1.2 fb_info 结构体 帧缓冲设备最关键的一个数据结构体是 fb_info 结构,为了便于记忆,简称 FBI