
和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
1、Camera 框架介绍:
Camera 的框架分为 Kernel 部分和 hal 部分,其中kernel部分主要有两块:
-
image sensor driver,负责具体型号的sensor的id检测,上电,以及在preview、capture、初始化、3A等等功能设定时的寄存器配置;
-
isp driver,通过DMA将sensor数据流上传;
HAL层部分主要有三部分组成: -
imageio,主要负责数据buffer上传的pipe;
-
drv,包含imgsensor和isp的hal层控制;
-
feature io,包含各种3A等性能配置;
2、Camera Bringup 需要配置的文件
(本文以hi1634q型号的前摄为例,平台是mt6789,kernel版本为5.10)
2.1、Device Config Files
修改时删除多余的 sensor driver name,只保留自己的即可;
/device/mediateksample/k6789v1_64
ProjectConfig.mk

image.png
/device/mediatek/mt6789
CameraConfig.mk
device-camera.mk

image.png
注意:CUSTOM_HAL_IMGSENSOR 、CUSTOM_HAL_SUB_IMGSENSOR 、CUSTOM_KERNEL_IMGSENSOR 、CUSTOM_KERNEL_SUB_IMGSENSOR 这四个必须都要指定 sensor name;不能遗漏!

image.png
/device/mediatek/common/kernel-headers
kd_imgsensor.h
指定 sensor name 和 sensor model id !这里一定要check不能出错!

image.png
2.2、Kernel Config Files
/kernel-5.10/arch/arm64/configs
mgk_64_k510_defconfig
修改时删除多余的 sensor driver name,只保留自己的即可;

image.png

本文详细介绍了Android系统中Camera的框架结构,包括Kernel部分的imagesensordriver和ispdriver,以及HAL层的imageio、drv和featureio。内容涵盖CameraBringup所需的配置文件,如DeviceConfigFiles、KernelConfigFiles和VenderConfigFiles的修改,涉及sensorname、pin配置、电源管理、驱动代码等多个方面。此外,还强调了ID读取、I2C通信、启动时间和优化策略等调试问题。
最低0.47元/天 解锁文章
5229

被折叠的 条评论
为什么被折叠?



