相机camera开发之差异对比核查一:测试机和对比机的硬件配置差异对比
【关注我,后续持续新增专题博文,谢谢!!!】
上一篇我们讲了:
这一篇我们开始讲:
目录
一、背景
二、:Camera硬件配置差异
2.1:硬件配置差异核查项
2.2 :核查方式
2.3 :高通camx平台核查
2.4 :MTK平台核查
一、背景
当一个项目启动后,最小系统跑起来不久,会进入正式开发阶段,这时开发策略和测试策略都会进行筹备,一个重要的参考对象,即参考机。测试机各种测试都会与参考机进行对比。那么对于开发者而言,我们需要核查参考机和开发测试机之间的哪些差异性呢?
二、:Camera硬件配置差异
2.1:硬件配置差异核查项
对于camera相机模块而言:硬件配置差异涉及以下几个方面,这块涉及主要的硬件特性,硬件配置差异,也涉及摄像头不同硬件组件的各种差异,具体如下:
核查项包括:
- 摄像头模组
- 子模块
- sensor型号
- 驱动配置
- 静态Metadata:(测试机和对比机)
- 核查结论
- 影响范围
- 测试建议
细化核查项:
- 摄像头模组包含:前置,后置主摄,广角,后置副摄等等,具体看摄像头模组有几个摄像头。
- 子模块包含:sensor module EEPROM actuator flash PDAF OIS几个硬件模块
- 型号包含:测试机和对比机的前后置所有子模块的硬件型号,看看是否有差异,来作出硬件层面的差异涉及的软件评估。
- 驱动配置:评估测试机和对比机的前后置所有子模块的硬件配置是否有差异,特别是使用同一个ic时。
- 静态Metadata:评估测试机和对比机的静态Metadata是否有差异,来评估硬件软件特性上的差异。
- 核查结论:根据差异项来评估硬件整体上的差异和风险。
- 影响范围:根据差异,给出影响的范围。
- 测试建议:根据差异,给出测试的建议。
2.2 :核查方式
而核查方式上,高通和MTK存在一些差异,主要基于代码架构等等不一样。具体如下:
- 【型号】
- 高通Camx平台:
- 在chi-cdk仓库中查询本项目buildbins.yaml文件,填写yaml文件中每个sensor及子模块对应型号名称,yaml文件包含所有涉及本项目的sensor&tuning bin编译规则
- MTK平台
- MTK sensor,EEPROM:drivers/misc/mediatek/imgsensor/src-v4l2/common/
- MTK actuator:drivers/misc/mediatek/lens/vcm/v4l2/
- MTK flashlight:drivers/misc/mediatek/flashlight/v4l2/
- 【驱动配置】
- 高通Camx平台:
- 每个sensor对应的xml配置文件,包含各个子模块对应配置文件,填写升级前后对应配置文件的差异;
- MTK平台
- MTK sensor,EEPROM:drivers/misc/mediatek/imgsensor/src-v4l2/common/
- MTK actuator:drivers/misc/mediatek/lens/vcm/v4l2/
- MTK flashlight:drivers/misc/mediatek/flashlight/v4l2/
- 【静态Metadata(对比机&测试机)】
- 对比机&测试机对应sensor的静态metadata差异项,核查指令:adb shell dumpsys media.camera > static_meta.txt,开机后执行指令分别dump升级前后的meta信息,每个sensor会对应一组静态metadata,分别对比升级前后该组meta的差异。
2.3 :高通camx平台核查
- 型号
chi-cdk\cdk\tools\buildbins.yaml sensor_drivers: - com.qti.sensormodule.ofilm_ov12a10:- sensor/default/ov12a10/ov12a10_sensor.xml- module/ofilm_ov12a10_ov13880_module.xml- actuator/default/dw9763_actuator.xml- eeprom/ohs0443_ov12a10_eeprom.xml- flash/back_sensor_flash.xml- sensor/default/ov12a10/ov12a10_pdaf.xml- com.qti.sensormodule.ofilm_ov13880:- sensor/default/ov13880/ov13880_sensor.xml- module/ofilm_ov12a10_ov13880_module.xml- actuator/default/dw9763b_actuator.xml- eeprom/ohs0443_ov13880_eeprom.xml- flash/back_sensor_flash.xml- sensor/default/ov13880/ov13880_pdaf.xml- com.qti.sensormodule.ofilm_s5k2p6sq:- sensor/default/s5k2p6sq/s5k2p6sq_sensor.xml- module/ofilm_s5k2p6sq_s5k2t7sm_module.xml- sensor/default/s5k2p6sq/s5k2p6sq_ofilm_pdaf.xml- flash/back_sensor_flash.xml- actuator/default/dw9714_actuator_main_ofilm.xml- eeprom/ofilm_bl24c64a_s5k2p6sq_eeprom.xml- com.qti.sensormodule.ofilm_s5k2t7sm:# - sensor/default/s5k2t7sm/s5k2t7sm_sensor.xml- sensor/default/s5k2t7sm/s5k2t7sm_sensor_4cell.xml - module/ofilm_s5k2p6sq_s5k2t7sm_module.xml- sensor/default/s5k2t7sm/s5k2t7sm_ofilm_pdaf.xml- flash/back_sensor_flash.xml- actuator/default/dw9714_actuator_aux_ofilm.xml- eeprom/ofilm_bl24c64a_s5k2t7sm_eeprom.xml- com.qti.sensormodule.sunny_s5k2p6sq:- sensor/default/sunny_s5k2p6sq/sunny_s5k2p6sq_sensor.xml- module/sunny_s5k2p6sq_s5k2t7sm_module.xml- sensor/default/sunny_s5k2p6sq/s5k2p6sq_sunny_pdaf.xml- flash/back_sensor_flash.xml- actuator/default/gt9772_actuator_main_sunny.xml- eeprom/sunny_bl24c64a_s5k2p6sq_eeprom.xml- com.qti.sensormodule.sunny_s5k2t7sm:- sensor/default/sunny_s5k2t7sm/sunny_s5k2t7sm_sensor_4cell.xml- module/sunny_s5k2p6sq_s5k2t7sm_module.xml- sensor/default/sunny_s5k2t7sm/s5k2t7sm_sunny_pdaf.xml- flash/back_sensor_flash.xml- actuator/default/gt9772_actuator_aux_sunny.xml- eeprom/sunny_bl24c64a_s5k2t7sm_eeprom.xml- com.qti.sensormodule.ofilm_ov13855:- sensor/default/ov13855/ov13855_sensor.xml- module/ofilm_ov13855_module.xml- actuator/default/dw9767_actuator.xml- eeprom/ofilm_dw9767_eeprom.xml- com.qti.sensormodule.ofilm_ov12a10_front:- sensor/default/ov12a10_front/ov12a10_front_sensor.xml- sensor/default/ov12a10_front/ov12a10_front_pdaf.xml- module/ofilm_ov12a10_front_module.xml- actuator/default/dw9763_actuator.xml- eeprom/ohs0443_ov12a10_eeprom.xmlfacedetection_binaries: - fdconfigvideo:- fd/fdconfigdata.xml- fdconfigvideolite:- fd/fdconfigdata.xml- fdconfigpreview:- fd/fdconfigdata.xml- fdconfigpreviewlite:- fd/fdconfigdata.xmlchromatix_projects: - com.qti.tuned.default:- tuning/default_c7project- com.qti.tuned.ofilm_ov12a10:- tuning/ov12a10_c7project- com.qti.tuned.ofilm_ov12a10_front:- tuning/ov12a10_c7project_front- com.qti.tuned.ofilm_ov13880:- tuning/ov13880_c7project- com.qti.tuned.ofilm_ov13855:- tuning/ov13855_c7project- com.qti.tuned.ofilm_s5k2p6sq_front:- tuning/ofilm_s5k2p6sq_front_c7project- com.qti.tuned.ofilm_s5k2t7sm_front:- tuning/ofilm_s5k2t7sm_front_c7project- com.qti.tuned.ofilm_s5k2p6sq_back:- tuning/ofilm_s5k2p6sq_back_c7project- com.qti.tuned.ofilm_s5k2t7sm_back:- tuning/ofilm_s5k2t7sm_back_c7project- com.qti.tuned.sunny_s5k2p6sq_front:- tuning/sunny_s5k2p6sq_front_c7project- com.qti.tuned.sunny_s5k2t7sm_front:- tuning/sunny_s5k2t7sm_front_c7project- com.qti.tuned.sunny_s5k2p6sq_back:- tuning/sunny_s5k2p6sq_back_c7project- com.qti.tuned.sunny_s5k2t7sm_back:- tuning/sunny_s5k2t7sm_back_c7project
- 驱动配置:较多配置,以一个为例:
sensor/default/s5k2p6sq/s5k2p6sq_sensor.xml<!--Sensor slave information --><slaveInfo><!--Name of the sensor --><sensorName>s5k2p6sq</sensorName><!--8-bit or 10-bit write slave address --><slaveAddress>0x5a</slaveAddress><!--Register address / data size in bytes --><regAddrType range="[1,4]">2</regAddrType><!--Register address / data size in bytes --><regDataType range="[1,4]">2</regDataType><!--Register address for sensor Id --><sensorIdRegAddr>0x0000</sensorIdRegAddr><!--Sensor Id --><sensorId>0x2106</sensorId><!--Mask for sensor id. Sensor Id may only be few bits --><sensorIdMask>4294967295</sensorIdMask><!--I2C frequency mode of slaveSupported modes are: STANDARD (100 KHz), FAST (400 KHz), FAST_PLUS (1 MHz), CUSTOM (Custom frequency in DTSI) --><i2cFrequencyMode>FAST</i2cFrequencyMode><!--Sequence of power configuration type and configuration value required to control power to the device --><powerUpSequence> <!--Power setting configurationContains: configType, configValue and delay in milli seconds --><powerSetting><!--Power configuration typeSupported types are: MCLK, VANA, VDIG, VIO, VAF, RESET, STANDBY --><configType>RESET</configType><!--Configuration value for the type of configuration --><configValue>0</configValue><!--Delay in milli seconds --><delayMs>1</delayMs></powerSetting><powerSetting><configType>CUSTOM_GPIO2</configType><configValue>1</configValue><delayMs>18</delayMs></powerSetting><powerSetting><configType>CUSTOM_GPIO1</configType><configValue>1</configValue><delayMs>18</delayMs></powerSetting><powerSetting><configType>VIO</configType><configValue>0</configValue><delayMs>0</delayMs></powerSetting><powerSetting><configType>MCLK</configType><configValue>24000000</configValue><delayMs>1</delayMs></powerSetting><powerSetting><configType>RESET</configType><configValue>1</configValue><delayMs>18</delayMs></powerSetting></powerUpSequence>
2.4 :MTK平台核查
如:kernel-5.15/drivers/misc/mediatek/imgsensor/src-v4l2/common/imx214_mipi_raw/
【关注我,后续持续新增专题博文,谢谢!!!】
下一篇讲解: