Android_Display
文章平均质量分 84
基于QCOM Android平台上Display的相关学习
上电失败
个人学习笔记
展开
-
Android Qcom Display学习(零)
Linus有一句名言广为人知:Read the fucking source code.一个模块是从点滴学习积累出来的,不看不学怎么能深入理解,但仅仅「看」也是远远不够的,更多的是思考。display目前还在学习中,补充基础知识,建个目录方便自己查看,其实目前还是基于底层LCD模块驱动的学习,标题从LCD转变成Display是想后续能衍生到framework层,更多系统的方面。............原创 2022-06-27 21:16:39 · 5152 阅读 · 0 评论 -
Android Qcom Display学习(一)
LCD IC厂商TFT Thin Film Transistors 薄膜晶体管奇景光电 (hx8399) 、敦泰 (ft8719) 、京东方 、联咏等IC厂商LCD参数LCD主流显示接口介绍LCD开发常见问题&分析LCD参数解释及刷新率计算Proch是值前后廊,用于描述切屏的数据,一般出现错误和误差的情况会有上、下部分出现亮稳横纹等情况,单位为像素时钟周期,一般datasheet中都有Min Type Max的要求或者标准。HBP:Horizontal Back Porch =原创 2022-02-23 14:18:39 · 7401 阅读 · 3 评论 -
Android Qcom Display学习(二)
D- PHY的物理层支持HS( High Speed )和LP( Low Power )两种工作模式HS模式:低压查分信号 功耗大 高速率 ( 80M -1Gbps ) 信号幅值 ( 100mv-300mv )通道状态是差分的0或1,定义P比N高时定义为1,P比N低时定义为0,此时线上典型电压为差分200mv LP模式:单端信号 功耗小,速率低 ( < 10Mbps ) 信号幅值 (0-1.2V ),只用lane0传输数据和时钟,双向数据传输 链路层的模式分为:Command模式 和 Video.原创 2022-02-28 11:30:32 · 3598 阅读 · 0 评论 -
Android Qcom Display学习(三)
Android 使用 OpenGL ES (GLES) 调用GPU的API来进行图像的渲染。SurfaceFlinger:当系统中存在多个应用程序时,这能保证它们都可以获得一个“本地窗口”,并且这些窗口最终也能显示到屏幕上,SurfaceFlinger会收集所有程序的显示需求,对它们做统一的图像混合操作。Surface:SurfaceView中有独立与应用窗口的Surface,能直接显示在终端屏幕上的,Surface从中介BufferQueue申请一个bufferdequeueBuffer(例如Ca原创 2022-03-04 10:58:11 · 5986 阅读 · 0 评论 -
Android Qcom Display学习(四)
DRMLinux DRM(二)基本概念和特性DRM(Direct Rendering Manager)学习简介DRM 的诞生就是用来处理多个程序对 Video Card 资源的协同使用问题,通过单单一个device node来控制所有硬件设备、通用访问硬件接口、通用内存管理机制。Framebuffer的架构它不能用于处理 基于视频卡的 GPU 的 3D 加速。DRM从模块上划分,可以简单分为3部分:libdrm、KMS、GEMlibdrm:对底层接口进行封装,向上层提供通用的API接口,主要是对各原创 2022-03-21 11:17:22 · 10064 阅读 · 3 评论 -
Android Qcom Display学习(五)
什么是UEFI高通平台UEFI有关介绍高通605平台屏调试(4):UEFI初始化流程第一次接触到UEFI(Unified Extensible Firmware Interfacen ,统一可扩展固件接口)是实习的时候,主要是服务器的底层,当时以为只有服务器或者PC主机的Bootloader才是UEFI。当时也是撸了一本书做了初步了解,现在也忘的差不多了UEFI从上电到关机,一共有七个阶段:SEC:PEI:DXE:BDS:TSL:RT:AL:Display Flow高通UEFI研究原创 2022-03-21 11:17:50 · 6987 阅读 · 0 评论 -
Android Qcom Display学习(六)
该系列文章总目录链接与各部分简介: Android Qcom Display学习(零)Android Qcom TP代码流程分析 在项目中我们经常会遇到需要兼容lcd和tp的情况,如果是不同i2c地址的touch,没有probe成功也就根本不过去用,所以one lcd mutil touch的情况暂时还没有遇到过去做区分的,那项目中主要遇到的就是以下这种情况one touch mutil lcd 这种情况下,lcd本身通过dsi读取的id就能区分不同型号的panel,xbl会传入cmdline,lcd在原创 2022-07-11 22:06:08 · 1793 阅读 · 0 评论 -
Android Qcom Display学习(七)
分享一个最近项目中写的在hal驱动亮屏和灭屏状态,也算是回顾了了open read的操作了,除此之外,还可以使用brightness同目录下的bl_power节点,范围为0、1、2、3、4时一种亮度等级的调节,与线性调节的brightness相反,bl_power == 0是亮度最大,bl_power == 4时时灭屏的状态。当然除上述操作之外,别忘了sepolicy的权限问题。 后续:(1)hal看有没有其他方式;(2)framework里读取亮灭屏的方式..................原创 2022-07-11 22:08:00 · 1922 阅读 · 7 评论 -
Android Qcom Display学习(八)
该系列文章总目录链接与各部分简介:基于Android12实现简单的Surface测试程序,部分类内的接口发生了变化,但大体上没啥问题。主要实现两类功能(1)实现显示RGB图的红绿切换,这个主要来源于上面链接中的显示系统[1],以此为基础在Android S上实现(2)实现Camera Preview的实时预览,基于Camera api1,源码从Camera的测试程序中剥离出的一些操作接口来实现(3)待补充:实现Camera Preview的方式采用api2和v4l2,后续再看单独拿出来研究原创 2022-10-24 15:29:12 · 947 阅读 · 0 评论 -
Android Qcom Display学习(九)
该系列文章总目录链接与各部分简介:DRM驱动支持MODESET;DRM驱动支持dumb-buffer(即连续物理内存);DRM驱动至少支持1个CRTC,1个Encoder,1个Connector;DRM驱动的Connector至少包含1个有效的drm_display_mode先基于博主的最简单的DRM应用程序进行学习实现,最进阶,主要分为以下几个步骤。原创 2022-10-24 15:30:03 · 1869 阅读 · 0 评论 -
Android Qcom Display学习(十)
该系列文章总目录链接与各部分简介:本章主要是基于高通平台不同的背光类型处理的学习,包含XBL和Kernel两大部分。LPG是Light PulseGenerator,对应PWM ,qcom-spmi-pmic.c pwm-qti-lpg.c WLED是White Light Emitting Diode(白光二极管) qcom-spmi-wled.c + leds-qpnp-wled.c原创 2022-11-28 10:44:17 · 1967 阅读 · 0 评论 -
Android Qcom Display学习(十一)
该系列文章总目录链接与各部分简介:本章主要是基于MIPI Payload传输接口的学习,包括Generic和DCS的接口不同。底层都是基于去封装的,下面第一部分调用原生接口,第二部分分析高通是如何进行读写操作的。原创 2022-11-28 10:44:37 · 2486 阅读 · 0 评论 -
Android Qcom Display学习(十二)
结果结果发现图像是正常的,然后dump我们自己的GraphicBuffer数据,发现也正常了,右边是GPU合成的Layer(StaturBar和NavigationBar0等),左边是非GPU合成的Layer图(Launcher),最终得出跟ubwc有关,ubwc说是高通私有的一个格式,所以可能造成图像无法正常查看问题。中dump GPU合成Layers的GraphicBuffer,发现也是星点,当然这个也是预料之中,Layers的数据都不对合成后的肯定也有问题,原创 2023-02-28 19:27:35 · 3293 阅读 · 10 评论 -
Android Qcom Display学习(十三)
该系列文章总目录链接与各部分简介:在上一篇中dump GraphicBuffer中,知道了护眼模式中调用setColorTransform应用于每一层Layer,于是想往上了解一些。原创 2023-02-28 19:26:53 · 2501 阅读 · 0 评论 -
Android Qcom Display学习(十四)
该系列文章总目录链接与各部分简介:本章主要就是学习一下开机logo和开机动画是怎么加载,客制化修改的。原创 2023-05-25 19:07:13 · 1110 阅读 · 0 评论 -
Android Qcom Display学习(十五)
该系列文章总目录链接与各部分简介: Android Qcom Display学习(零)按键截图实现原理,通过PhoneWindowManager.java -> DisplayPolicy.java -> ScreenshotHelper.java,这个网上的叙述很多就不展开了/frameworks/base/cmds/screencap/screencap.cpp 这个其实我们之前Layers专题提到的,调用GPU来进行全部图像的合成具体实现frameworks/base/core/java/com原创 2023-05-25 19:09:59 · 1151 阅读 · 0 评论 -
Android Qcom Display学习(十六)
XBL中背光驱动很简单,仅仅时方便不同项目的移植,AW99703/LM36922 I2C型的都可。原创 2023-05-25 19:09:17 · 573 阅读 · 0 评论