camera driver+hal+framework
从底层驱动到框架层的简单分析
karaskass
Linux/android驱动工程师
展开
-
Camera(7) MTK camera打开流程介绍
文章目录一、整体介绍1、MiddleWare(MW)层介绍2、Pipeline介绍二、Camera Open流程一、整体介绍首先看下MTKcam的整体框架图如下包含了很多的内容,其中camera的打开流程也贯穿在其中,从Camera APK 一层层的系统调用到driver再到Hardware层,这篇文章主要从Pipeline开始介绍打开camera的流程,JAVA/Cameraservice/MiddleWare层后续再进行介绍:1、MiddleWare(MW)层介绍ICameraProvider:转载 2020-05-22 00:16:08 · 8757 阅读 · 7 评论 -
Camera(6) MTK camera启动流程介绍
文章目录一、Camera框架介绍:一、Camera框架介绍:Camera的框架分为Kernel部分和hal部分,其中kernel部分主要有两块:(1) image sensor driver,负责具体型号的sensor的id检测,上电,以及在preview、capture、初始化、3A等等功能设定时的寄存器配置;(2) isp driver,通过DMA将sensor数据流上传;HAL层部分主要有三部分组成:(1) imageio,主要负责数据buffer上传的pipe;(2) drv,包含im转载 2020-05-21 23:24:39 · 8124 阅读 · 1 评论 -
Camera(5) MTK camera驱动框架介绍
文章目录一、概序二、上电相关的结构体之间的联系(1) IMGSENSOR_HW结构体:(2) 上电时序控制相关:三、系统初始化:1、设备加载:2、imgsensor_driver_register创建字符设备3、imgsensor_clk_init 时钟初始化:4、imgsensor_hw_init电压初始化:5、imgsensor_i2c_create I2C设备初始化:6、具体类型的上电介绍(以pmic控制的regulator方式为例)(1) 传入对应的设备的device结构体(2) 调用对应的init转载 2020-05-21 16:40:57 · 4206 阅读 · 1 评论 -
Camera(4) MTK camera驱动结构介绍
文章目录一、概述二、sensor driver介绍1、sensor driver函数结构体:(1) imgsensor_mode_struct不同模式特征的结构体(2) struct imgsensor_info_struct描叙sensor info常量的结构体(3)struct imgsensor_struct记录sensor info变量的结构体,用于动态的保存sensor的关键信息2、驱动入口xxxx_MIPI_RAW_SensorInit3、open 函数介绍及其所完成的任务4、feature_c转载 2020-05-21 16:01:45 · 5967 阅读 · 0 评论 -
Camera(3) camera mipi通信协议
文章目录一、mipi协议介绍二、mipi CSI-2 的物理连接三、MIPI CSI2的工作模式四、mipi传输时序一、mipi协议介绍MIPI(移动行业处理器接口),是Mobile Industry Processor Interface的缩写。MIPI移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口转载 2020-05-21 11:28:26 · 4893 阅读 · 0 评论 -
Camera(2) camera i2c总线协议介绍
文章目录一、I2C总线的拓扑结构二、I2C总线特征三、I2C总线协议四、I2C总线操作i2c 不通的原因有两种一、I2C总线的拓扑结构I2C总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工,SPI和UART为双工转载 2020-05-21 11:09:26 · 2927 阅读 · 0 评论 -
Camera(1) camera初探之camera模组和硬件接口
文章目录一、Camera模组介绍Camera模组组成(1) 工作原理(2) CCM 包含四大件:(3) 图像的输出格式A、YUVB、JPEGC、RGBD、RAW(4) 传感器尺寸和画质的关系(5) 图像解析度/分辨率(Resolution)二、Camera硬件接口1、camera的硬件接口如下图所示2、camera 的工作时序一、Camera模组介绍摄像头结构模组的图片如下Camera模组组成(1) 工作原理物体通过镜头(lens)聚集的光,通过CMOS或CCD集成电路,把光信号转换成电信号,再转载 2020-05-21 10:31:51 · 4622 阅读 · 0 评论 -
[Camera Drv]如何调整闪光灯在auto模式下的打闪阈值
文章目录[DESCRIPTION][SOLUTION][具体分析]平台os版本内核MT6739Android 9.0kernel-4.4[DESCRIPTION]【偶现】办公室环境下开启自动闪光灯拍照或录像,闪光灯亮起,说明闪光灯阈值偏大,需要调整闪光灯在 auto 模式下的打闪阈值【前提条件】无【操作步骤】明亮环境下开启自动闪光灯拍照或录像【实际结果】闪...原创 2020-05-09 10:28:00 · 1409 阅读 · 0 评论 -
MT6739 Camera驱动移植文档
文章目录MT6739 Camera Porting Guide把厂商提供的驱动代码拷贝到对应路径KERNEL层HAL层(1) 修改ProjectConfig.mk配置文件修改与imgsensor相关的配置信息修改与lens相关的配置信息修改flashlight相关配置信息(2) 修改defconfig配置文件(3) 修改内核驱动代码添加新的camera sensor ID定义添加新的Camera ...原创 2020-05-08 14:49:00 · 2823 阅读 · 0 评论 -
打开Android camera log相关的命令(3A、Flashlight、Camera)
关闭防火墙adb shell setenforce 0将logcat的缓存空间增大为10Madb shell logcat -G 10m获取AE的调试信息adb shell setprop debug.ae_mgr.enable 1 adb shell setprop debug.aaa.pvlog.enable 1 ...原创 2020-05-08 10:20:29 · 2558 阅读 · 0 评论 -
拍照时闪光灯调用HAL层到driver层流程
文章目录@[toc]HAL层HAL层闪光灯调用具体函数执行流程Hal3AIf::getInstance的实现Hal3AFlowCtrl::getInstance的实现Hal3AFlowCtrl::init的实现IThread3A::createInstance的实现Thread3AImp::createInstance的实现Thread3AImp::Thread3AImp的实现Thread3AIm...原创 2020-03-06 10:41:23 · 3666 阅读 · 0 评论 -
Android P 的 Camera JNI 加载流程概述
文章目录概述hw_get_module()1.CameraService2. hardware概述本篇主要研究 camera 在 HAL 层中的实现机制,我们将将从 hw_get_module() 函数入手,探究 Libraries 层是如何调用 HAL 层中的库函数的。hw_get_module()1.CameraServiceCameraService 是在开机时就会启动,而当它第一...原创 2020-04-02 19:39:09 · 697 阅读 · 0 评论 -
基于MT6739的Android9.0 Camera驱动(kernel层)
文章目录Kernel 层驱动的实现Camera 开机流程Camera 驱动的文件结构Camera 驱动初始化流程Camera 入口函数 imgsensor_init注册的平台驱动结构体 gimgsensor_platform_driverimgsensor_probe 探测函数的实现imgsensor_driver_register 注册函数的实现gimgsensor_file_operation...原创 2020-03-18 17:13:57 · 4029 阅读 · 0 评论