天天看點

高通平台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 架構整體流程暫時介紹着麼多,後續繼續添加。

繼續閱讀