ZHCAF23A February 2025 – March 2025 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM67A , TDA4AEN-Q1
符合 V4L2 標(biāo)準(zhǔn)的 CSI-2 Rx 驅(qū)動(dòng)程序(包含在處理器 SDK 中)能夠接收來(lái)自傳感器的圖像數(shù)據(jù),并根據(jù)虛擬通道編號(hào)區(qū)分 RGB 主導(dǎo)流與 IR 主導(dǎo)流。然后,驅(qū)動(dòng)程序能夠利用專(zhuān)用 DMA 上下文,將每個(gè)數(shù)據(jù)流存儲(chǔ)到 DDR 中。在用戶空間創(chuàng)建兩個(gè)視頻設(shè)備節(jié)點(diǎn),這樣,應(yīng)用程序能夠分別檢索 RGB 主導(dǎo)的圖像數(shù)據(jù)與 IR 主導(dǎo)的圖像數(shù)據(jù)。對(duì)于從傳感器到視頻設(shè)備節(jié)點(diǎn)的數(shù)據(jù)流,可通過(guò) V4L2 框架,建模為媒體設(shè)備拓?fù)浣Y(jié)構(gòu)。該拓?fù)浣Y(jié)構(gòu)可通過(guò) media-ctl --print 命令以文本形式顯示,也可以利用 Linux dot 工具進(jìn)行可視化。
圖 4-2 顯示了文本中基于 SDK 10.1 的媒體設(shè)備拓?fù)浣Y(jié)構(gòu)。該拓?fù)浣Y(jié)構(gòu)包含從傳感器 (ox05b 4-0036) 到 CSI-2 Rx (cdns_csi2rx.30101000.csi-bridge),再到 DMA 包裝器 (30102000.ticsi2rx) 的兩個(gè)數(shù)據(jù)流。DMA 包裝器利用兩個(gè) DMA 上下文,將圖像數(shù)據(jù)傳輸?shù)?DDR,每個(gè)上下文均可鏈接一個(gè)設(shè)備節(jié)點(diǎn)(/dev/video3 與 /dev/video4)。然后,用戶空間應(yīng)用可通過(guò)該等兩個(gè)設(shè)備節(jié)點(diǎn),訪問(wèn)原始圖像數(shù)據(jù)。
也可以利用 Linux dot 實(shí)用程序,對(duì)媒體設(shè)備拓?fù)浣Y(jié)構(gòu)進(jìn)行可視化。在 EVM 上運(yùn)行以下命令,以便生成 dot 文件:
root@am62axx-evm:~# media-ctl --print-dot > media.dot然后,在 Linux PC 上運(yùn)行以下命令,以便生成 png 圖像文件,如下圖所示。
$ dot -Tpng media-top.dot -o media-top.png
SDK 中的 OX05B1S 驅(qū)動(dòng)程序能夠?qū)鞲衅髋渲脼橥ㄟ^(guò)虛擬通道 0 傳輸 IR 主導(dǎo)數(shù)據(jù),通過(guò)虛擬通道 1 傳輸 RGB 主導(dǎo)數(shù)據(jù)。DMA 上下文 0 用于存儲(chǔ)虛擬通道 0 的數(shù)據(jù)。因此,CSI2 Rx 驅(qū)動(dòng)程序創(chuàng)建的第一個(gè)視頻設(shè)備節(jié)點(diǎn)(上例中的 /dev/video3)可用于接收 IR 主導(dǎo)數(shù)據(jù)。同樣,第二個(gè)設(shè)備節(jié)點(diǎn)(上例中的 /dev/video4)可用于接收 RGB 主導(dǎo)數(shù)據(jù)。