天天看点

高通平台Camera 框架简介

接触高通平台camera不长时间,了解的不够深入,下面个人所了解内容的是基于高通平台的camera,有的地方能描述不一定会很清楚,以后会慢慢补充!

一 框架介绍

Package -> Framwork -> JNI -> Camera.cpp -> CameraClient -> Cameraservice -> HAL ->Kernel. 软件不停的改进和变化,整体框架不会有太大的变化。 

高通平台Camera 框架简介

二 各层的结构图

 具体可查看各层之间备注中中已给出相关路径。

高通平台Camera 框架简介

三  kernel层camera模块初始化逻辑图。

     暂时只是分析了kernel层。

  kernel启动后,后调用kernel/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_init.c内的  

msm_sensor_init_module函数,主要功能

  子设备初始化 v4l2_subdev_init。

 填充 msm_sensor_init 结构体。 

 注册msm_sd_subdev    

 执行v4l2的操作函数 v4l2_subdev_fops

然后会调用到kernel/drivers/media/platform/msm/camera_v2/sensor/msm_sensor_driver.c

 主要解析dts相关的参数

 v4l2相关和 i2c的相关设置

在就调到kernel/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.c 

 获取cci subdev。

   上下电,匹配id。

高通平台Camera 框架简介

四 HAL层使能逻辑图

高通平台Camera 框架简介

五 camera preievw 的使能逻辑图

高通平台Camera 框架简介

六 数据流

camera 拍照,预览,录像的数据流程框架。 具体流程有待查看。

高通平台Camera 框架简介
高通平台Camera 框架简介
高通平台Camera 框架简介

camera 框架整体流程暂时介绍着么多,后续继续添加。

继续阅读