详细记录海思相机适配新的sensor(IMX585)(一)——Hi3519DV500

 一、前言

这几天手里有个任务,组里买了个相机模组,soc是HI3519DV500,配的是IMX585的sensor,但是HI3519DV500的SDK中支持的sensor list没有IMX585,需要进行适配工作。查遍了全网能找到的博客,也咨询了一些博主,进行记录。(海思的坑是真的多,组里也没人搞,所以一个人四处踩坑;衷心感谢每一个帮助过我的博主!欢迎大家在评论区讨论或者私信交流)

声明:工作进行到最后遇到了问题没有调出来,但是适配sensor的流程应该没问题,仅供参考和交流,主要是自我记录和交流解决问题

总体思路:

1.先对SDK中已有的sensor驱动进行修改,此处遵循的原则是非必要不修改,哪怕是名字,因为sensor适配涉及的文件非常多,修改越多越容易犯错,大佬忽略这条

2.对SDK中的sensor驱动的模板修改完毕之后,进行编译产生so文件,然后放到板端运行,在此过程中也需要对板端的配置文件进行修改。

3.使用PQtool来建议适配是否成功

第二篇已经更新:

详细记录海思相机适配新的sensor(IMX585)(二)——Hi3519DV500

二、搭建环境

要做完整个适配工作,需要搭建很多环境,此处先搭建修改sensor的ubuntu环境,采用虚拟机Ubuntu16.04+VScode的形式。

2.1 传送SDK到ubuntu中

首先将官方给的SDK包从PC端传入到虚拟机ubuntu中:

其中带REF的是补丁包,按照readme的说明来把SDK展开和补丁打上。

然后打开SDK包,大概是这些文件夹:

2.2 安装交叉编译链

另外还需要官方给的安装交叉编译链,不然后面可能有问题,千万记得此处安装完之后需要将环境变量生效,不然后面make会提示没有找到命令。

2.3 ssh连接

在ubuntu中使用”ifconfg“查看ubuntu的IP,然后用VScode进行ssh连接,此处这样用是因为虚拟机太卡,不方便使用。

左边显示文件夹,右边上面显示程序,下面显示终端面板。下面就是修改sensor驱动了

三、修改sensor驱动程序

 3.1 找到驱动程序所放的目录

在Hi3519DV500_SDK_V1.0.1.0/smp/a55_linux/source/mpp/cbb/isp/user/sensor/hi3519dv500中

如图所示,支持的sensor驱动都放在各个文件夹中

我们要做的是在imx515的基础上改为imx585的驱动,最好的是直接将sony_imx515文件夹再复制一份,命名为sony_imx585,然后对sony_imx585进行修改。在此我直接对sony_imx515进行修改。在程序中的515非必要不做修改,只修改寄存器数值和一些参数(来自小白的小心翼翼),前提是515和585相差不大。

3.2 程序目录结构

首先查看目录结构,一个驱动文件夹下有五个文件

3.3 修改程序

修改驱动程序这里参考了许多网上的博客,但是大部分博客都比较省略,这也是我头疼的地方,大部分说的是只改了寄存器配置,其他没有改动太多。但是其他部分具体改动了什么,我无从得知。我做的尝试:这部分的修改程序遵循一个原则:通用的部分不动,只动不同sensor可能不同的地方。下面以程序中一些地方举例。

3.3.1 对imx515_cmos_ex.h

对于imx515_cmos_ex.h程序,大部分函数有ISP关键词,应该和isp有关,目标是先出图,出图效果不佳再调isp,所以对imx515_cmos_ex.h没修改

3.3.2 对imx515_cmos.c

ID暂时不变,然后看585的sensor手册宽度和高度也是这个,所以这里不动

寄存器地址根据手册进行修改,这里的GAIN的寄存器是我问博主得到的,店铺给的资料里没有

然后下面的一些函数涉及到ae、awb之类的,先出图,所以这些和isp相关的先不管。

3.3.3 对imx515_coms.h

可能要改的是I2C地址:

这个根据手册看管脚电平

问了客服 都是低电平,那就保持不变

3.3.4 对imx515_sensor_ctl.c

查看手册和sensor寄存器表格,发现起始地址不需要修改

对于镜像和上下反转函数需要修改(原):

因为看手册585只支持一种翻转,改后:

下面就是重点要改的地方(原):

这部分内容需要找索尼要寄存器序列表,然后根据序列表来替换其中的地址和数值。序列表有很多个,代表不同的运行模式,选择其中一个设置:

修改完毕

到这基本改完了。下面就是生成so文件,然后测试,放在下一篇文章里。

这里的修改不一定全面,主要是突出适配的整个流程,欢迎大家为我指错和提建议,多多交流。

你的关注和点赞收藏是我更新的动力!

  • 31
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值