一、前言
声明:主要记录适配sensor的流程,主要是自我学习和交流解决问题
前期回顾:
详细记录海思相机适配新的sensor(IMX585)(一)——Hi3519DV500
上期做了底层驱动的修改,一切的修改都是基于同一厂商的驱动修改,并且最好两款sensor的手册中的数据相差不大。此次进行适配工作。
总体思路:
1.网上查了大部分博客,发现主要分为两类:
第一类,也是大部分博主做的,我根据海思的sensor调试指南里面也是这么写的:
主要进行了sys_config以及sample的一些修改,然后再适配。
第二类,修改完底层驱动之后,make生成so文件,然后传送到板端进行测试,没有复杂的修改其他程序的步骤。
第二类占少数,但是也有人做出来了,我问别的博主,他说如果不涉及到sample就不用第一种修改,所以使用第二种尝试。
二、编译生成so文件
2.1 编译前
修改完驱动程序之后,发现程序有个错误,这个错误和之前的改动没有关系,因为那些没有改动过的驱动程序也会报这样的错,问问神奇的chatgpt:
添加一行就可以了,这样就不报错了。
2.2 编译
在imx515驱动文件夹下先进行make clean命令,随后make命令;
最终在lib目录下生成了两个文件;
.so文件最终是要放到相机板端的
先使用MobaXterm把这两个文件从虚拟机传送到win系统里
下载下来保存。方便后面传送到板端
三、相机板端工作
3.1 连接相机
使用网线连接相机,然后在MobaXterm中进行连接,因为我ssh连接不上相机,这里采用了Telnet连接会话。
缺点是不如SSH能直接在MobaXterm中传输文件,最好是采用SSH。
3.2 将PQtool传输
首先先明确大体的操作步骤:
1.将PQ脚本传输到相机板端,然后启动服务
2.在主机上启动PQ工具,进行连接使用
明确了这个就开始传输PQ脚本。找到主机端SDK中的Hi3519DV500_PQ_V1.0.1.0工具包,将其发送到开发板上:
这里传输使用TFTpd64来传输
此处的Current Directory 为需要传送的文件的目录 Server interface 为主机端的IP 应该和相机是同一网段。
设置好之后就是转到MobaXterm中的命令行执行命令:
tftp -g 192.168.1.1 -r Hi3519DV500_PQ_V1.0.1.0.tgz
传输成功。这里有个坑就是如果一直传输不成功,很可能是因为防火墙的原因,把公用网络防火墙关掉就好了
3.3 修改板端文件
解压缩 然后进到libs和configs两个文件夹下看看里面有什么,这两个文件夹是需要改动的
在libs文件夹下删除原先的libsns_imx515.so,然后将新的libsns_imx515.so用tftp传输进去,传输完后发现权限不对,给加个权限
libs文件夹就修改完了
去修改configs文件夹,imx515中一共有两个文件,分别用vi指令查看:
config_entry.ini:
imx515_8M30.ini: 因为之前名字都没有变动,所以此处sensor name就不改了
但是我买的相机的FAQ中有这么一条(下图),需要改I2C,然后我上图这个框里原本是4改为3,保存并退出(原sdk中的sample_comm_vi.c我也进行了修改)
然后先去别的目录下查看load3519dv500,把隔离这里设置为0:
然后运行脚本:
转到opt目录下,然后动态库文件路径加入到系统环境变量
四、PC端和相机板端协同
从这里开始是测验出图的过程,但是我最终出图报错,不知道什么原因
4.1 PQtool测试
板端运行./StartControl.sh -c ,
启动起来后,在PC端的SDK中找到PQtools
点击exe文件,然后输入相机IP地址进行连接
这样进去我这里是有报错的:
点击抓图功能,也是抓不到图:
4.2 PQStream测试
在板端启动PQTOOL脚本:
PQStream能显示连接成功,但是没有画面
或者直接使用指令./ittp_stream。启动ittp_stream脚本,打印信息:
但结果也是连接成功但是没有图片......
基本流程就是这样,本工作共两篇文章,写出来主要是自我记录,同时看看流程能不能帮到需要的人,也希望有大佬看到指点一下问题出在哪里,或者有小伙伴相互交流一下。欢迎私聊或者评论区讨论
你的关注和点赞收藏是我更新的动力!