Line 20: |
Line 20: |
| |VEYE系列 | | |VEYE系列 |
| | VEYE-MIPI-IMX385 | | | VEYE-MIPI-IMX385 |
− | |开发中 | + | |完成 |
| + | |- |
| + | |VEYE系列 |
| + | |VEYE-MIPI-IMX462 |
| + | |完成 |
| |- | | |- |
| |CS系列 | | |CS系列 |
| |CS-MIPI-IMX307 | | |CS-MIPI-IMX307 |
− | |开发中 | + | |完成 |
| |- | | |- |
| |CS系列 | | |CS系列 |
| |CS-MIPI-SC132 | | |CS-MIPI-SC132 |
− | |开发中 | + | |完成 |
| |}VEYE系列和CS系列MIPI摄像头模组是内置ISP的,输出为MIPI-CSI2接口。 | | |}VEYE系列和CS系列MIPI摄像头模组是内置ISP的,输出为MIPI-CSI2接口。 |
| | | |
Line 39: |
Line 43: |
| <br /> | | <br /> |
| === 更新Maaxboard系统 === | | === 更新Maaxboard系统 === |
| + | ====概述==== |
| + | 本章节描述怎样更新MaaxBoard系统以支持我们的摄像头模组。要支持我们的摄像头模组,需要更新系统两个部分,Image和DTB。 |
| + | |
| + | Image部分,我们增加了摄像头驱动,DTB部分则指明了使用的摄像头型号。一般情况下,只需使用我们已编译好的Image和DTB,非必要情况下,无需根据代码进行编译。 |
| + | ====BSP包介绍:==== |
| + | =====i.MX平台bsp===== |
| + | https://github.com/veyeimaging/nxp_i.mx_veye_bsp |
| + | |
| + | 包括以下主要内容: |
| + | |
| + | *driver源码 |
| + | *i2c通信工具集 |
| + | *应用层demo |
| + | |
| + | ===== Maaxboard i.MX平台bsp ===== |
| + | https://github.com/veyeimaging/avnet_maaxboard |
| + | |
| + | 包括以下主要内容: |
| + | |
| + | *预编译好的linux kernel:Image |
| + | *预编译好的不同平台下的dtb |
| + | *dts源码 |
| | | |
| ==== 烧写Maaxboard标准系统 ==== | | ==== 烧写Maaxboard标准系统 ==== |
− | Maaxboard支持Linux Debain、Linux Yocto、Android系统,Linux系统下,Image和dtb是一样的,我们采用Debain系统作为例子。 | + | Maaxboard支持Linux Debain、Linux Yocto、Android系统。Linux系统下,Image和dtb是一样的,我们采用Debain系统作为例子。 |
| | | |
| 参考《MaaXBoard-Linux-Debian-UserManual-V1.3-CN.pdf》或《MaaXBoard_Mini-Linux-Debian-UserManual-V1.1-CN.pdf》文档,烧写标准版本。 | | 参考《MaaXBoard-Linux-Debian-UserManual-V1.3-CN.pdf》或《MaaXBoard_Mini-Linux-Debian-UserManual-V1.1-CN.pdf》文档,烧写标准版本。 |
| | | |
| ==== 使用编译好的Image和dtb ==== | | ==== 使用编译好的Image和dtb ==== |
− | Maaxboard的Image和dtb,存放在TF卡的FAT分区,可以直接进行替换。
| + | Maaxboard的Image和dtb,存放在TF卡的FAT分区,在maaxboard板载系统上挂载到/boot/目录。可以直接进行替换文件进行更新。 |
| | | |
| 在HostPC: | | 在HostPC: |
Line 52: |
Line 78: |
| <code>git clone <nowiki>https://github.com/veyeimaging/avnet_maaxboard.git</nowiki></code> | | <code>git clone <nowiki>https://github.com/veyeimaging/avnet_maaxboard.git</nowiki></code> |
| | | |
− | 解压kernel Image,将Image和em-sbc-imx8m-veye327.dtb放到TF卡的FAT分区。 | + | 解压kernel Image,将Image和em-sbc-imx8m-[camname].dtb放到TF卡的FAT分区。 |
| + | |
| + | 修改uEnv.txt文件fdt_file的值来指定摄像头型号。 |
| | | |
| 然后将TF卡插到Maaxboard板子上,重新上电启动即可。 | | 然后将TF卡插到Maaxboard板子上,重新上电启动即可。 |
Line 64: |
Line 92: |
| 完成系统安装后,在Maaxboard板端执行以下命令来检测是否正确连接摄像头。 | | 完成系统安装后,在Maaxboard板端执行以下命令来检测是否正确连接摄像头。 |
| | | |
− | * VEYE-MIPI-327 | + | * VEYE-MIPI-IMX327S |
| | | |
| <code>dmesg | grep veye327</code> | | <code>dmesg | grep veye327</code> |
Line 74: |
Line 102: |
| <code>Registered sensor subdevice: veye327_mipi 0-003b</code> | | <code>Registered sensor subdevice: veye327_mipi 0-003b</code> |
| | | |
− | 此外,检查/dev/videoX设备节点,应当是存在的。 | + | 此外,检查/dev/video0设备节点,应当是存在的。 |
| | | |
| * CS-MIPI-IMX307 | | * CS-MIPI-IMX307 |
Line 86: |
Line 114: |
| <code>Registered sensor subdevice: csimx307_mipi 0-003b</code> | | <code>Registered sensor subdevice: csimx307_mipi 0-003b</code> |
| | | |
− | 此外,检查/dev/videoX设备节点,应当是存在的。 | + | 此外,检查/dev/video0设备节点,应当是存在的。 |
| | | |
| * CS-MIPI-SC132 | | * CS-MIPI-SC132 |
Line 106: |
Line 134: |
| <code>export DISPLAY=:0</code> | | <code>export DISPLAY=:0</code> |
| | | |
− | * 视频预览(VEYE-MIPI-327S,CS-MIPI-IMX307 @1080p mode) | + | *视频预览(VEYE-MIPI-IMX327S,CS-MIPI-IMX307 @1080p mode) |
| | | |
| <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1920,height=1080,framerate=(fraction)30/1' ! waylandsink</code> | | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1920,height=1080,framerate=(fraction)30/1' ! waylandsink</code> |
| | | |
− | * 抓拍一张图片(VEYE-MIPI-327S,CS-MIPI-IMX307 @1080p mode) | + | * 帧率显示(VEYE-MIPI-IMX327S,CS-MIPI-IMX307 @1080p mode) |
| + | |
| + | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1920,height=1080,framerate=(fraction)30/1' ! fpsdisplaysink video-sink=fakesink -v</code> |
| + | |
| + | *视频预览(CS-MIPI-IMX307 @1080p mode 10fps) |
| + | |
| + | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1920,height=1080,framerate=(fraction)10/1' ! waylandsink</code> |
| + | |
| + | *视频预览(CS-MIPI-IMX307 @720p mode 60fps) |
| + | |
| + | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,framerate=(fraction)60/1' ! waylandsink</code> |
| + | |
| + | *视频预览 (CS-MIPI-SC132 @1280*1080 mode 45fps) |
| + | |
| + | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=1080,framerate=(fraction)45/1' ! waylandsink</code> |
| + | |
| + | *视频预览 (CS-MIPI-SC132 @1080*1280 mode 45fps) |
| + | |
| + | <code>gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1080,height=1280,framerate=(fraction)45/1' ! waylandsink</code> |
| + | |
| + | *抓拍一张图片(VEYE-MIPI-327S,CS-MIPI-IMX307 @1080p mode) |
| | | |
| <code>gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! 'video/x-raw, width=1920,height=1080' ! jpegenc ! filesink location=test_image.jpg</code> | | <code>gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! 'video/x-raw, width=1920,height=1080' ! jpegenc ! filesink location=test_image.jpg</code> |
| | | |
− | * v4l2grab抓拍一张图片(VEYE-MIPI-327S,CS-MIPI-IMX307 @1080p mode) | + | *抓拍一张图片 (CS-MIPI-IMX307 @720p mode) |
| + | |
| + | <code>gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! 'video/x-raw, width=1280,height=720' ! jpegenc ! filesink location=720p.jpg</code> |
| + | |
| + | *抓拍一张图片 (CS-MIPI-SC132 @1280*1080 mode) |
| + | |
| + | <code>gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! 'video/x-raw, width=1280,height=1080' ! jpegenc ! filesink location=test_image.jpg</code> |
| + | |
| + | *v4l2grab抓拍一张图片(VEYE-MIPI-327S,CS-MIPI-IMX307 @1080p mode) |
| | | |
| <code>./v4l2grab -d /dev/video0 -W 1920 -H 1080 -I 30 -o picture.jpg</code> | | <code>./v4l2grab -d /dev/video0 -W 1920 -H 1080 -I 30 -o picture.jpg</code> |
− |
| |
| ==== I2C脚本 ==== | | ==== I2C脚本 ==== |
| 由于我们的摄像头参数自由度比较高,并没有采用V4L2参数进行控制,而是使用脚本进行参数配置。 | | 由于我们的摄像头参数自由度比较高,并没有采用V4L2参数进行控制,而是使用脚本进行参数配置。 |
Line 133: |
Line 188: |
| 参考官方文档《MaaXBoard-Linux-Development_Guide-V1.1-CN.pdf》 | | 参考官方文档《MaaXBoard-Linux-Development_Guide-V1.1-CN.pdf》 |
| | | |
− | ====编译准备==== | + | =====编译准备===== |
| <code>export PATH=$PATH:[REPLACE with your path]/toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/</code> | | <code>export PATH=$PATH:[REPLACE with your path]/toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/</code> |
| | | |
Line 147: |
Line 202: |
| | | |
| <code>make -j4</code> | | <code>make -j4</code> |
− | ==== Patch我们的代码 ==== | + | ==== patch我们的代码 ==== |
| | | |
| * Driver source code | | * Driver source code |
Line 176: |
Line 231: |
| === 参考资料 === | | === 参考资料 === |
| | | |
− | Maaxboard 厂家 :http://www.embest-tech.cn/ | + | Maaxboard 厂家 :https://www.avnet.com/wps/portal/us/products/new-product-introductions/npi/avnet-maaxboard/ |
| | | |
− | Maaxboard 官方资料:http://www.embest-tech.cn/down.aspx?key=maaxboard | + | Maaxboard 官方资料:http://Avnet.com/MAAXBOARD |
| | | |
| <br /> | | <br /> |