本文主要是介绍基于海思HI3559CV100移植IMX178,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主芯片:HI3559CV100
主芯片手册:Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南.pdf
主芯片MPP手册:HiMPP V4_Password_Removed.pdf
SENSOR:IMX178
SENSOR手册:IMX178LQJ-C_Data_Sheet.pdf
SDK:Hi3559AV100R001C02SPC010
IMX178的移植,主要涉及SENSOR端寄存器的配置、主芯片端VI各模块的配置,本文主要基于这两点进行移植过程的描述,其他功能模调用、PINMUX配置、驱动调用、Makefile修改等,可参考IMX334。
IMX178调试
根据SDK中的IMX334,首先拷贝sony_imx334文件夹,重命名为sony_imx178,并将所有334相关字段全部改为178
sony_imx178文件夹中主要包含imx178_cmos.c(图像质量相关)、imx178_sensor_ctl.c(寄存器配置相关),IMX178的调试主要包括I2C调试和寄存器配置,主要集中在imx178_sensor_ctl.c文件中
IMX178的I2C调试
参考IMX178手册,获取I2C Slave Address为0x34,Slave Address长度为8bit,Register Address长度为16比特,高位在前、低位在后
I2C写寄存器写入方式如下
int imx178_write_register(VI_PIPE ViPipe, int addr, int data)
{if (0 > g_fd[ViPipe]){return HI_SUCCESS;}int idx = 0;int ret;char buf[8];if (imx178_addr_byte == 2){buf[idx] = (addr >> 8) & 0xff;idx++;buf[idx] = addr & 0xff;idx++;}else{buf[idx] = addr & 0xff;idx++;}if (imx178_data_byte == 2){buf[idx] = (data >> 8) & 0xff;idx++;buf[idx] = data & 0xff;idx++;}else{buf[idx] = d
这篇关于基于海思HI3559CV100移植IMX178的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!