2025年02月07日 LOCAL_WHOLE_STATIC_LIBRARIES 此变量是 LOCAL_STATIC_LIBRARIES 的变体,表示链接器应将相关的库模块视为完整归档。如需详细了解完整归档,请参阅有关 --whole-archive 标记的 GNU Id 文档。 多个静态库之间存在循环依赖关系时,此变量十分有用。使用此变量构建共享库时,它将强制构建系统将静态库中的所有对象文件添加到最终二进制文件。但是,生成可执行文件时不会发生这种情况。 LOCAL_STATIC_LIBRARIES与LOCAL_WHO

LOCAL WHOLE STATIC LIBRARIES

2025年02月07日 本文介绍在MTK平台从理论上如何计算Camera mipi lane数。 理论计算公式: Camera 有效像素 * ADC色彩深度 * 帧率 * (1+20%) < lane数 * mipi速率 Camera 有效像素 以下图为例: 总像素:2624 * 1956 = 5132544 有效像素:2592 * 1944 = 5038848 ADC色彩深度 色彩深度越高,可用的颜色就越多 10bit表示ADC的采集精度,在Camera中表示一个像

MTK Camera驱动 Camera mipi lane数计算

2025年02月07日 Camera的框架分为Kernel 部分和hal部分,其中kernel部分主要有两块: image sensordriver,负责具体型号的 sensor 的 id 检测,上电,以及在preview、capture、初始化、3A等等功能设定时的寄存器配置; isp driver,通过DMA将sensor数据流上传; HAL层部分主要有三部分组成: imageio,主要负责数据buffer上传的pipe; drv,包含imgsensor和isp的hal层控制; fea

MTK Camera驱动 上电与启动流程

2025年02月07日 前文已经介绍了camera驱动部分的内容MTK Camera驱动 结构介绍,这里在回顾下之前的框架图, 这篇主要介绍红框部分的内容: imgsensor起到承上启下的作用,在系统起来时会创建整个camera驱动运行的环境,其中主要的文件和函数如下框图所示,先设备挂载时会调用注册platform设备platform_driver_register,在匹配成功后会调用probe函数进行初始相关的设备: 其中camera的三路电压的上电方式可以通过GPIO来控制,也可以通过PMIC(RE

MTK Camera驱动 框架

2025年02月07日 MTK camera主要的内容在hal层,现在有hal1/hal3,当下主流的使用的是hal3,驱动主要负责sensor、电源的控制以及sensor相关寄存器的操作,MTK采用设备和驱动分离的思想,抽象出imgsensor.c来控制。 sensor的上下电以及sensor具体的操作,结构图如下: Camera sensor driver介绍 Sensordriver的对上响应需求,对下控制sensor硬件行为,处理器通过I2C 接口来控制sensor的大部分行为,sensor输出的

MTK Camera驱动 结构介绍

2025年02月07日 MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。 已经完成和正在计划中的规范如下: MIPI联盟的MIPI DSI规范 名词解释 DCS (DisplayCommandSet):DCS是一个标准化的命令集,用于命令模式的显示模组。 DSI (Display Serial Interface)定义了一个位于处理器和显示模组之间的高速串行接口。

MIPI DSI协议简介

2025年02月07日 I2C总线的拓扑结构: I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工,SPI和uart为双工。 I2C总线特征 I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会

Camera驱动 I2C总线简介

2025年02月07日 高通平台Camera Bringup涉及到Kernel代码和Vendor代码,本文从这两个方面来介绍。 Kernel 代码移植 1. DTS 文件配置 dts 文件目录: 高通SDM660平台代码中,arm64 与 arm 走的是同一个目录文件, kernel\msm-4.4\arch\arm64\boot\dts\qcom这个目录其实是 \kernel\msm-4.4\arch\arm\boot\dts\qcom的软链接。 Camera 相关的 dts 文件:

mm camera架构Camera Sensor点亮指南

2025年02月07日 Camera Module一般会采取两种方式来记录该Sensor的一些信息 OTP:One Time Programmable。 在嵌入式系统中,所有代码和系统数据都被存储在FLASH芯片内部。FLASH芯片可多次擦写,且掉电数据不丢失。为了保护FLASH中的数据,厂商提供OTP寄存器,OTP这个寄存器只可以编写一次,之后不能修改。 EEPROM:全称“电可擦除可编程只读存储器”( Electrically Erasable Programmable Read –

深入浅出OTP

2025年02月07日 本文介绍Camera Image Sensor的硬件结构和不同的Sensor曝光原理。 Sensor的硬件结构 每个像素的结构 每个像素点的最上方有个微透镜,增加透光量。有镜头就有CRA的问题,超出一定角度的光线无法被收集,需要和镜头进行匹配。 sensor的纵向结构 光透过电路会发生反射,造成每个像素点之间的干扰。背照式的结构(感光层在电路的上方)不会受到电路的影响。 CFA(color filter array) 每个像素点上覆盖有一种颜色的滤光片,从而去感知每种颜色的亮度。

深入浅出Camera Sensor硬件结构与曝光原理

2025年02月06日 高通平台Camera DTS解析,主要参考kernel/Documentation/devicetree/bindings/media/video/msm-cci.txt的注释 sensor配置 qcom,camera@0 { cell-index = <0>; compatible = "qcom,camera"; reg = <0x2>; qcom,csiphy-sd-index = <0>

高通 Camera驱动 DTS解析及驱动加载

2025年02月06日 本文会基于Android Pixel4(android linux kernel 4.14+ARMv8(AArch64)),重点分析schedutil这个cpufreq的governor,同时简单回顾CPU电源管理的常见手段以及cpufreq的框架,以便更加完整和清晰的分析schedutil的核心逻辑和来龙去脉。即本文会围绕以下问题展开: CPU的电源管理主要的软硬件手段有哪些? cpufreq框架有哪些核心组件,主要作用分别是什么,体现了哪些软件思想? cpufreq有哪些常见的govern

CPU调速器schedutil原理分析

2025年02月06日 CTS Debug 在跑Android Camera CTS时,有时候不可避免需要打开CTS代码中的log。我们可以通过如下命令打开: adb shell setprop log.tag.xxxx V adb shell setprop log.tag.xxxx D 比如,下面的命令可以打开RecordingTest类的log。 adb shell setprop log.tag.RecordingTest V

Log Android Camera调试

2025年02月06日 首先看下MTKcam的整体框架图如下包含了很多的内容,其中camera的打开流程也贯穿在其中,从Camera APK 一层层的系统调用到driver再到Hardware层,这篇文章主要从Pipeline开始介绍打开camera的流程。 MiddleWare(MW)层介绍 ICameraProvider:向上暴露的接口调用,实现是在CameraProverideer中; Device@3.2ICameraDevice:用于Camera Service去操作各个Camera device的操作,实

MTK Camera Open流程

2025年02月06日 CCM 为什么要做CCM sensor 对光谱的响应,在 RGB 各分量上与人眼对光谱的响应通常是有偏差的,通常通过一个色彩校正矩阵校正光谱响应的交叉效应和响应强度,使前端捕获的图片与人眼视觉在色彩上保持一致。 重要概念: 色彩还原:通常通过一个色彩校正矩阵校正光谱响应的交叉效应和响应强度,使 ISP 处理后的图片与人眼视觉在色彩上保持一致。 饱和度:也称色彩的纯度。取决于该色中含色成分和消色成分(灰色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。 相关API HI_MPI

海思平台ISP各模块介绍

最新内容