ZHCADU3A February 2024 – November 2024 AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1 , DS90UB953A-Q1 , DS90UB960-Q1 , TDES960 , TSER953
适用于 AM62A 的 Processor SDK Linux 支持 V3Link 板。要启用 4 个 IMX219 摄像头,请在 /run/media/BOOT-mmcblk1p1/uEnv.txt 中使用以下覆盖层 dtbo 文件:
k3-am62x-sk-csi2-v3link-fusion.dtbo
k3-v3link-imx219-0-0.dtbo
k3-v3link-imx219-0-1.dtbo
k3-v3link-imx219-0-2.dtbo
k3-v3link-imx219-0-3.dtbo要配置摄像头和 CSI-2 Rx 接口,请运行脚本 /opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh。此脚本的运行结果如下所示:
root@am62axx-evm:/opt/edgeai-gst-apps# ./scripts/setup_cameras_v3link.sh
IMX219 Camera 0 detected
device = /dev/video-imx219-cam0
name = imx219
format = [fmt:SRGGB8_1X8/1920x1080 field: none]
subdev_id = /dev/v4l-imx219-subdev0
isp_required = yes
ldc_required = yes
IMX219 Camera 1 detected
device = /dev/video-imx219-cam1
name = imx219
format = [fmt:SRGGB8_1X8/1920x1080 field: none]
subdev_id = /dev/v4l-imx219-subdev1
isp_required = yes
ldc_required = yes
IMX219 Camera 2 detected
device = /dev/video-imx219-cam2
name = imx219
format = [fmt:SRGGB8_1X8/1920x1080 field: none]
subdev_id = /dev/v4l-imx219-subdev2
isp_required = yes
ldc_required = yes
IMX219 Camera 3 detected
device = /dev/video-imx219-cam3
name = imx219
format = [fmt:SRGGB8_1X8/1920x1080 field: none]
subdev_id = /dev/v4l-imx219-subdev3
isp_required = yes
ldc_required = yes
运行此脚本后,摄像头格式、CSI-2 RX 接口格式以及从每个摄像头到相应视频节点的路由都会得到正确配置。总共创建了 6 个视频节点。每个视频节点对应于 CSI2 RX 驱动器分配的一个 DMA 上下文。在 6 个视频节点中,4 个节点用于 4 个 IMX219 摄像头,如下面的媒体管线拓扑所示:
root@am62axx-evm:~# media-ctl -p
Device topology
- entity 1: 30102000.ticsi2rx (7 pads, 7 links, 4 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
routes:
0/0 -> 1/0 [ACTIVE]
0/1 -> 2/0 [ACTIVE]
0/2 -> 3/0 [ACTIVE]
0/3 -> 4/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
[stream:1 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
[stream:2 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
[stream:3 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
<- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
pad2: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
pad3: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
pad4: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
pad5: Source
-> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
pad6: Source
-> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
如上所示,媒体实体 30102000.ticsi2rx 有 6 个 source pad,但仅使用前 4 个 source pad,每个 source pad 对应于一个 IMX219。媒体管线拓扑也可以用图形方式表示。运行以下命令以生成 dot 文件:
root@am62axx-evm:~# media-ctl --print-dot > media.dot然后在 Linux 主机 PC 上运行以下命令以生成 png 文件:
$ dot -Tpng media-top.dot -o media-top.png图 4-2 是使用上述命令生成的图片。图 3-1 软件架构中的组件可在该图中找到。