前 言
本文主要介绍基于创龙科技TL3588-EVM评估板的视频开发案例,适用开发环境如下。
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware16.2.5
开发环境:Ubuntu20.04.6 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-5.10.160
Debian:Debian11
LinuxSDK:LinuxSDK-[版本号](基于rk3588_linux_release_v1.2.1_20230720)
我司提供的视频开发案例位于产品资料“4-软件资料Demoplatform-demos”目录下,本文档对应案例的测试模块型号、测试结果说明如下表所示。
表 1
评估板文件系统默认已支持GStreamer库,可执行如下命令查看GStreamer库使用说明。
Target# gst-inspect-1.0 -h
图 1
GStreamer是用来构建流媒体应用的开源多媒体框架,其目标是要简化音视频应用程序的开发,目前可被用于处理MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime等多种格式的多媒体数据。
v4l2_capture案例
案例说明
本案例主要基于V4L2与DRM子系统实现MIPI摄像头的视频采集,并通过HDMI进行显示,验证CAMERA1~CAMERA6接口功能。
备注:当前程序仅支持NV12格式数据采集。
程序流程图如下图所示。
图 2
V4L2(Video For Linux Two)为Video ForLinux API的第二个版本,用于模拟无线电、视频捕获、输出驱动程序的内核接口。
DRM(Direct Rendering Manager)用于管理显示输出和分配buffer。关于DRM子系统的详细介绍可参考产品资料“6-开发参考资料其他参考文档”目录下的《brezillon-drm-kms》。
图 3 DRM整体框架
案例测试
我司提供已配置的内核镜像文件boot-xxx-xxx.img,位于产品资料“4-软件资料Demoplatform-demosv4l2_capturedtsbin”目录下,其对应关系如下表所示。
表 2
本次以替换boot-ov13850-cam2.img内核镜像为例,请将其拷贝至评估板文件系统,执行如下命令替换评估板内核镜像。如需测试其他模块以及对应的接口,请根据实际情况替换内核镜像。
备注:如需固化至eMMC,请将设备节点修改为"/dev/mmcblk0p3"。
Target# dd if=boot-ov13850-cam2.img of=/dev/mmcblk1p3
Target# sync
Target# reboot
图 4
本次以测试创龙科技TL13850模块为例,请将产品资料"4-软件资料Demoplatform-demosiqfiles"目录下的IQ参数文件ov13850_RK-CMK-8M-2-v1_CK8401.json拷贝至评估板文件系统"/etc/iqfiles/"目录下,然后执行如下命令,进行转换字符。
Target# dos2unix /etc/iqfiles/ov13850_RK-CMK-8M-2-v1_CK8401.json
Target# sync
Target# reboot
图 5
备注:如需测试其他模块,请将对应IQ参数文件拷贝至评估板文件系统"/etc/iqfiles/"目录下,进行转换字符,对应IQ参数文件如下表所示。
表 3
TL13850模块测试
请使用FFC软排线将MIPI摄像头模块(创龙科技TL13850)连接至评估板CAMERA2接口,将评估板HDMI OUT接口连接至HDMI显示屏。
注意:请使用FFC软排线(30pin,间距0.5mm,同向),按照如下方法进行硬件连接,并仔细核对评估板接口、FFC软排线、摄像头三者线序,否则可能烧毁摄像头。
图 6
执行如下命令采集视频,并输出至显示设备。
Target# ./v4l2_capture -M rockchip -i /dev/video-camera0 -S 1920x1080 -f NV12 -F NV12 -b 4 -o 208:71:1920x1080
图 7
图 8
Camera Module v2模块测试
请使用FFC软排线将MIPI摄像头模块(树莓派Camera Module v2)连接至评估板CAMERA3接口,将评估板HDMI OUT接口连接至HDMI显示屏。
注意:请使用FFC软排线(15pin,间距1.0mm,反向),按照如下方法进行硬件连接,并仔细核对评估板接口、FFC软排线、摄像头三者线序,否则可能烧毁摄像头。
图 9
执行如下命令采集视频,并输出至显示设备。
Target# ./v4l2_capture -M rockchip -i /dev/video-camera0 -S 1920x1080 -f NV12 -F NV12 -b 4 -o 208:71:1920x1080
图 10
图 11
案例编译
设备树编译
将案例"dtssrc"目录下tl3588-evm-imx219.dts、tl3588-evm-ov13850.dts设备树拷贝至LinuxSDK源码"kernel/arch/arm64/boot/dts/rockchip/"目录下。
图 12
请按照《Debian系统使用手册》文档Debian系统镜像编译、生成章节,替换设备树并重新编译内核,将生成的内核镜像文件拷贝至评估板文件系统进行固化,评估板重启后将会加载新的内核镜像文件。
程序编译
将案例源码拷贝至Ubuntu工作目录,进入src源码目录,执行如下命令修改Makefile文件中的SDK_ROOT_PATH路径,请根据实际情况修改为LinuxSDK源码路径。
Host# vi Makefile
图 13
图 14
执行如下命令进行案例编译,编译完成将会在相同目录下生成可执行程序。
Host# make
图 15
案例解析
设备树说明
我司提供的设备树文件tl3588-evm-xxx.dts,位于产品资料“4-软件资料Demoplatform-demosv4l2_capturedtssrc”目录下。其对应关系如下表所示。
表 4
如需使用相应接口测试摄像头模块,可参考如下方法修改对应设备树文件。本次以CAMERA3接口为例,测试树莓派Camera Module v2模块。
将代码"#define CAMERA3_ENABLE_IMX219 0"修改为:"#define CAMERA3_ENABLE_IMX219 1"即可。
图 16 tl3588-evm-imx219.dts
关键代码说明
(1)显示初始化。
图 17
(2)采集初始化。
图 18
(3)DRM buffer申请与绑定。
图 19
(4)图像采集与显示。
图 20
审核编辑 黄宇
-
开发板
+关注
关注
26文章
6507浏览量
121360 -
RK3588
+关注
关注
8文章
601浏览量
7696
发布评论请先 登录
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—视频开发案例(下)
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—IgH EtherCAT主站开发案例(下)
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—IgH EtherCAT主站开发案例(上)
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—物联网模块开发案例
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—Linux-RT应用开发案例
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—Linux应用开发手册
创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—视频开发案例(上)
评论