Qualcomm技术论坛
登录
直播中
潘凌
8年用户
174经验值
私信
关注
[经验]
基于qualcomm平台的camera驱动分析
Qualcomm
驱动
前言:
一、Android camera架构
在framework中,camera主要是通过以下库来协同工作的:
l
ibandroid_run
ti
me.so、libui.so、libcameraservice.so
这几个库对应的文件目录主要是:
Libandroid_runtime.so:
frameworks/base/core/jni/android_hardware_Camera.cpp文件,改文件在编译完成之后就是一个libandroid_runtime.so文件
Libui.so:
Frameworks/base/libs/camera/* 目录,这个目录下有好多个相关的文件:Camera.cpp、CameraParameters.cpp、ICamera.cpp、ICameraClient.cpp、ICameraService.cpp、ICameraRecordingProxy.cpp、ICameraRecordingProxyListener.cpp。这里是整个camera的一个非常关键的地方,在编译完成后主要是生成libui.so库
libcameraservice.so:
Frameworks/base/services/camera/libcameraservice/* 目录。由于camera在正常使用的过程中,需要传输的数据量是非常庞大的,所以整个体系都是基于C/S模式开发,而这部分,就是一个Service。而这个service对应的Client,其实就是上面所说的libui.so。
二、Camera驱动架构
Camera驱动的几个重要组成部分
Imgsensor:整个camera驱动的核心,主要是摄像头感光芯片部分,相机像素大小、成像能力等都取决于此
Flashlight:就是一个控制led的外部IC芯片(当然有些平台的PMIC上也会有内置),在相机中主要是主闪和预闪功能。在
手机
中除了拍照打闪之外,还有手电筒功能也是通过这部分实现
Actuator :即对焦马达,在AF模组中才会有这部分东西,驱动内部的主要实现是控制摄像头镜头的移动
EEPROM:主要是用来存一些校准数据,如摄像头模组的OTP数据、AWB校准数据、Lens Shadding的校准数据等等,这一般在像素较大的模组中使用,一般模组校准数据量比较小或者没有校准数据的模组都不会用到它。
当然,还有其他的“附属产品”,如CSI、CCI等。
三、Camera驱动的工作过程
可以简单概述:kernel起来以后进行msm_sensor_driver的模块儿初始化,对dts配置进行相关的解析,在Android起来以后,会启动camera 的守护进程Server,调用一系列的初始化接口,先获取sensor name,根据name去匹配相关的初始化配置,再传到底层写入到模组寄存器
这里先是填充了MCT的几个基本的操作函数:
set_mod;query_mod;start_session和stop_session。
这几个基本的操作接口,其中包含了对sensor、actuator、eeprom等的操作接口
其次是对每一个sensor实体进行的一些基本init,包括find object、fill相关的一些操作接口等等
find sensor 的过程
前面提到,在module_sensor_init函数中,对start_session这个接口进行了绑定,sensor的power up和reg init等操作,也就是在start_session这个接口当中完成,通过里面相关的接口,最终会调用到kernel里面的接口,进行上下电,match sensor id,读写寄存器等操作:
四、驱动调试移植过程
可以参考blog:基于qualcomm平台的Camera Bring up
更多回帖
rotate(-90deg);
回复
相关帖子
Qualcomm
驱动
基于
qualcomm
平台
的
Camera
Bring up
3334
基于
qualcomm
平台
的输入
驱动
代码
分析
45154
Qualcomm
camera
模块
2576
初入
qualcomm
平台
u***
驱动
(一)
4186
Linux内核之
Camera
驱动
分析
4634
基于Android
平台
的智能手持终端
Camera
模组
驱动
设计
0
Qualcomm
Snapdragon在无人机领域的应用:Hover
Camera
641
在
qualcomm
平台
移植MTP
驱动
程序的方法
4441
基于
qualcomm
的
平台
触摸屏
驱动
编写过程
1073
基于
Qualcomm
平台
的虹膜识别技术(二)
45855
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分