VEYE CS Camera on Forlinx i.MX8 board/zh
如何在飞凌嵌入式科技i.MX8m plus板子上使用VEYE系列和CS系列摄像头模组
1 概述
飞凌嵌入式OKMX8MPQ-C开发板采用i.MX8M plus处理器。
在飞凌嵌入式官方资料(OKMX8MP-C_Linux5.4.70+Qt5.15.0版本)基础上,增加了我们的摄像头模组驱动,并提供了一些应用层的例程。
一般情况下,只需使用我们已编译好的Image和dtb。当然,你也可以根据我们开源的代码修改或重新编译驱动。
我们专门只做了ADP-Forlinx转接板,用于MIPI信号转接。
1.1 支持的模组:
系列 | 型号 | 状态 | 转接板 |
---|---|---|---|
VEYE系列 | VEYE-MIPI-IMX327S | 完成 | ADP-Forlinx |
VEYE系列 | VEYE-MIPI-IMX385 | 完成 | ADP-Forlinx |
VEYE系列 | VEYE-MIPI-IMX462 | 完成 | ADP-Forlinx |
VEYE系列和CS系列MIPI摄像头模组是内置ISP的,输出为MIPI-CSI2接口。
对于图像效果参数,我们并没有采用V4L2接口实现,而是采用了DRA(Directly Register Access)模式,我们提供了一组Shell脚本直接控制摄像头模组。
2 硬件准备及安装
使用 ADP-Forlinx 将摄像头连接到 OKMX8MPQ-C 主板。
摄像头和ADP-Forlinx使用1.0毫米间距的异面15P FFC线连接。插入电缆时,应该让接触面朝向外侧。
3 更新OKMX8MPQ-C系统
3.1 概述
本章节描述怎样更新OKMX8MPQ-C系统以支持我们的摄像头模组。要支持我们的摄像头模组,需要更新系统两个部分,Image和DTB。
Image部分,我们增加了摄像头驱动,DTB部分则指明了使用的摄像头型号。一般情况下,只需使用我们已编译好的Image和DTB,非必要情况下,无需根据代码进行编译。
本章节描述发布的文件,是基于OKMX8MP-C_Linux5.4.70+Qt5.15.0版本的镜像进行编译的。
3.2 BSP包介绍
3.2.1 i.MX平台bsp
https://github.com/veyeimaging/nxp_i.mx_veye_bsp
包括以下主要内容:
- driver源码
- i2c通信工具集
- 应用层demo
3.2.2 Forlinx i.MX平台bsp
https://github.com/veyeimaging/forlinx_nxp_i.mx
包括以下主要内容:
- 预编译好的linux kernel:Image
- 预编译好的不同平台下的dtb
- dts源码
3.3 烧写飞凌官方标准系统
参考《OKMX8MPQ-C_Linux5.4.70+Qt5.15.0用户使用手册_V1.2_20230406.pdf》,烧写飞凌嵌入式标准版本系统。
3.4 使用编译好的Image和dtb
OKMX8MPQ-C板子的Image和dtb文件,保存在emmc的FAT分区,系统启动后,自动挂载到/run/media/mmcblk2p1目录。
在HostPC:
git clone https://github.com/veyeimaging/forlinx_nxp_i.mx.git
解压kernel Image,将Image和dtb文件拷贝到MYD-JX8MX板子上。
cp <your path>/Image /run/media/mmcblk2p1/
cp <your path>/OK8MP-C.dtb /run/media/mmcblk2p1/
重启板子即可。
4 应用和测试
4.1 系统状态检测
完成系统安装后,在OKMX8MPQ-C板端执行以下命令来检测是否正确连接摄像头。
- VEYE-MIPI-IMX327S,VEYE-MIPI-IMX462,VEYE-MIPI-IMX385
dmesg | grep veye
应当有类似如下提示:
[ 2.806555] veyecam2m 1-003b: camera id is veyecam2m
[ 2.816868] veyecam2m 1-003b: sensor is IMX327
[ 2.821323] veyecam2m 1-003b: board type is ONE board
[ 2.826981] veyecam2m 1-003b: veyecam2m camera probed
[ 6.055710] mx8-img-md: Registered sensor subdevice: veyecam2m 1-003b (1)
[ 6.150181] mx8-img-md: created link [veyecam2m 1-003b] => [mxc-mipi-csi2.1]