创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—视频开发案例(上)

前  言

本文主要介绍基于创龙科技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:Debian 11

LinuxSDK:LinuxSDK-[版本号](基于rk3588_linux_release_v1.2.1_20230720)

我司提供的视频开发案例位于产品资料“4-软件资料\Demo\platform-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 For Linux API的第二个版本,用于模拟无线电、视频捕获、输出驱动程序的内核接口。

DRM(Direct Rendering Manager)用于管理显示输出和分配buffer。关于DRM子系统的详细介绍可参考产品资料“6-开发参考资料\其他参考文档\”目录下的《brezillon-drm-kms》。

 

 
图 3 DRM整体框架

 

案例测试

我司提供已配置的内核镜像文件boot-xxx-xxx.img,位于产品资料“4-软件资料\Demo\platform-demos\v4l2_capture\dts\bin\”目录下,其对应关系如下表所示。

 

 
表 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-软件资料\Demo\platform-demos\iqfiles\"目录下的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

 

案例编译

设备树编译

将案例"dts\src\"目录下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-软件资料\Demo\platform-demos\v4l2_capture\dts\src\”目录下。其对应关系如下表所示。

 

 
表 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

 

posted @ 2025-10-17 14:49  创龙科技-黄工  阅读(4)  评论(0)    收藏  举报