E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
8x60
(转)Android display system introduce(Qualcomm
8x60
platform)(二、SW架构--1)
一、Overview上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如UI界面的显示,这部分通常数据类型为RGB格式,数据无须再经过特殊的处理。该应
lovekoala
·
2020-08-21 00:51
android
system
jni
wrapper
layer
图形
(转)Android display system introduce(Qualcomm
8x60
platform)(一、HW架构)
一、
8x60
平台显示系统硬件模块讲解上图取自
8x60
硬件的架构图,都是和显示比较相关的部分,其中最主要的就是MDP,同时为了兼容各种显示接口,
8x60
又集成了MIPI、HDMI的transmitter以及
lovekoala
·
2020-08-21 00:51
Android display system introduce(Qualcomm
8x60
platform)(二、SW架构--1)
一、Overview上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如UI界面的显示,这部分通常数据类型为RGB格式,数据无须再经过特殊的处理。该应
mfbao01
·
2020-06-24 14:59
android
基于高通MSM
8x60
的I2C驱动终极讲解总结
1、首先在板级支持文件中注册I2C控制器设备,然后注册该I2C设备控制器的驱动,在注册设备控制器的过程中,匹配成功后,会调用该控制器驱动的probe函数,在该probe函数中,会扫描注册到全局链表上得板级I2C的设备信息,并为属于该I2C设备控制器的每个板级I2C设备,建立一个client设备。2、当注册的I2C设备驱动时,会到I2C总线上去找匹配的client,如果找到,就调用I2C设备驱动的p
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(13)
上节说了,寻找马达驱动提供给上层的接口:其实关键还是一个work工作队列和一个定时器,二者配合并且二者都在前面挂到了haptic数据结构上。剩下的就是怎么用的问题啦?提供给用户接口函数是在这里注册的:ret=timed_output_dev_register(&haptic->dev);下面看下这个函数的怎么提供接口的? inttimed_output_dev_register(structtim
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(12)
离写上一篇博文已经又过了一个星期啦,每天忙的几乎没时间写,趁着今天放假,继续写,补充完整。接着上一节的,调用该驱动的probe函数,下面咱们就看看probe函数做了些啥事?staticint__devinitisa1200_probe(structi2c_client*client, conststructi2c_device_id*id){ structisa1200_chip*haptic
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(10)
接着上一节讲,板级i2c设备的初始化,板级中的代码如下:就以马达驱动isa1200为例:先把用到的数据贴出来。 /*该马达的平台数据*/#definePMIC_GPIO_HAP_ENABLE 18 /*PMICGPIONumber19*/staticstructisa1200_platform_dataisa1200_1_pdata={ .name="vibrator", .power_on=i
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(11)
接着上回分解:上节向系统注册了I2Cclient设备,光有设备不行啊,还要有驱动才能工作,下面就看他们驱动,还以isa1200马达为例。staticconststructi2c_device_idisa1200_id[]={ {"isa1200_1",0}, {},}; /*isa1200马达的驱动结构体*/staticstructi2c_driverisa1200_driver={ .drive
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(9)
下面继续看咱们的adapter吧,有点枯燥,不过慢慢看,后面的路还长着呢,坚持哈!下面这个函数是用静态的busnumber来向系统增加一个adapter。在kernel中提供了两个adapter注册接口,分别为i2c_add_adapter()和i2c_add_numbered_adapter().由于在系统中可能存在多个adapter,因为将每一条I2C总线对应一个编号,下文中称为I2C总线号。
TopicDev
·
2014-01-16 20:00
基于高通MSM
8x60
的I2C驱动终极讲解(8)
接着上一节,看咱们的probe函数,代码还是只看主线。代码很长,两个字:淡定。staticint__devinitqup_i2c_probe(structplatform_device*pdev){ structqup_i2c_dev *dev; structresource *qup_mem,*gsbi_mem,*qup_io,*gsbi_io; structresource *err_i
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(7)
上面讲完控制器设备的注册,下面继续接着上面的,讲下控制器平台驱动的注册。staticstructplatform_driverqup_i2c_driver={ .probe =qup_i2c_probe, .remove =__devexit_p(qup_i2c_remove),//如果编译为静态的,则__devexit_p为空 .driver ={ .name ="qup_i2c",
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(6)
接着上一节分析,上一节讲到,把device_add(&pdev->dev);//把该设备注册到设备驱动模型中,接着该函数继续分析,看下设备驱动是怎么回事,设备是如何与驱动匹配绑定的。intdevice_add(structdevice*dev){ if(!dev->p){//如果dev的私有数据为空,则继续相应的初始化 error=device_private_init(dev); } erro
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(5)
现在是初始化讲完啦,下面就看平台设备的注册啦,也就是咱们的I2C控制器的注册,注册函数为platform_add_devices(surf_devices,ARRAY_SIZE(surf_devices));该函数已经在第一讲中提到,但是没有进入分析,下面咱们就进入看下平台设备是怎么注册的。后面的代码只列出主要部分,以免其他代码干扰我们的视线。intplatform_add_devices(str
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(4)
1)所有标识为__init的函数在链接的时候都放在.init.text这个区段内,在这个区段中,函数的摆放顺序是和链接的顺序有关的,是不确定的。2)所有的__init函数在区段.initcall.init中还保存了一份函数指针,在初始化时内核会通过这些函数指针调用这些__init函数指针,并在整个初始化完成后,释放整个init区段(包括.init.text,.initcall.init等),注意,
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(3)
上一节分解到平台设备已经注册,挂载到BSP板级结构体的.init_machine成员中啦,但是这个成员什么时间调用呢,也就是我们的驱动是在什么时候注册进系统的呢,现在就来跟踪下,看.init_machine 函数什么时候调用的。要想知道整个流程是什么样的,这个还要从老掉牙的start_kernel()函数说起该函数是整个kernel的起始入口点:asmlinkagevoid__initstart_
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(2)
上一篇文章已经把I2C控制器所用的platformdevices准备好啦,现在开始注册,该文件在板级支持文件中,board-xxx.c文件中。staticstructplatform_device*surf_devices[]__initdata={.........#ifdefCONFIG_I2C_QUP &msm_gsbi3_qup_i2c_device, &msm_gsbi4_qup_i2c
TopicDev
·
2014-01-16 19:00
基于高通MSM
8x60
的I2C驱动终极讲解(1)
网上的I2C驱动讲解已经很多啦,我不想画蛇添足,我想写一个完整的I2C驱动,包括系统启动,总线注册,驱动注册,设备注册,里面会贯穿Linux设备驱动模型,platform机制等等,基于高通MSM8x60,I2C控制器为qup,下面开始进入正题:首先是平台设备的注册:源码位置:(msm/arch/arm/mach-msm/devices-msm8x60.c)首先说下平台设备,因为Linux所有的设备
TopicDev
·
2014-01-16 19:00
android修改开机第一屏,高通
8x60
方案
修改/bootable/bootloader/lk/platform/msm_shared/include/splash.h保存颜色数组去掉头,复制数据 修改宽度与高度重新编译即可
argonwu
·
2013-10-24 17:00
Android上HDMI介绍(基于高通平台)-- Overlay
只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(
8x60
),高通把这颗IC也集成了,直接就提供HDMI的输出了。(这样
zirconsdu
·
2013-04-03 17:00
android
display
overlay
Android HDMI 介绍
只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(
8x60
),高通把这颗IC也集成了,直接就提供HDMI的输出了。(这样下去,以后渐渐的把外
rain0993
·
2013-03-27 18:00
linux work queue工作队列小结与使用
分类: linux驱动代码解析
8x60
平台 android驱动调试经验总结 linux内核移植 7x27a平台1、linux内核中断处理的工作队列workqueue机制工作队列(workqueue)是另外一种将工作
zclongembedded
·
2012-12-03 14:00
linux内核移植
android驱动调试经验总结
linux驱动代码解析
8x60平台
7x27a平台
Android HDMI 介绍
只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(
8x60
),高通把这颗IC也集成了,直接就提供HDMI的输出了。(这样下去,以后渐渐的把外
qq69696698
·
2012-08-01 19:00
Android2.2 display系统介绍
本文将系统地讲解目前android(Froyo)平台上显示部分的架构,硬件平台已高通
8X60
为例,请参考。
yuleslie
·
2012-03-18 12:00
c
android
手机
performance
平台
layer
Android上HDMI介绍(基于高通平台)
只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(
8x60
),高通把这
yuleslie
·
2012-03-18 12:00
android
UI
video
手机
interface
平台
Android上HDMI介绍(基于高通平台)
只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(
8x60
),高通把这
androidssh
·
2011-06-22 20:00
数据结构
android
UI
框架
UP
Android display system introduce(Qualcomm
8x60
platform)(二、SW架构--1)
一、Overview 上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。 最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如UI界面的显示,这部分通常数据类型为RGB格式,数据
mfbao01
·
2011-03-11 12:00
android
jni
System
图形
wrapper
layer
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他