Porting Guide (Yocto)#
它專注於 Yocto系統,因為這些系統在嵌入式領域中應用最為廣泛。
本指南適用於 Baslerdart E 相機,以及以下NXP i.MX8 開發板:
- imx8mmevk (NXP: 8MMINILPD4-EVK)
- imx8mmddr4evk (NXP: 8MMINID4-EVK)
- imx8mpevk (NXP :8MPLUSLPD4-EVK)(附限制條件)
- imx8mqevk (NXP :MCIMX8M-EVKB (B Silicon))
資訊
本指南主要針對內建 ISP 的相機(daA…mci 相機)。關於將非 ISP 相機整合至i.MX 8M Plus 的內容,本指南不予探討。
資料來源#
為了簡化開發流程,原始碼以 GitHub 元資料層的形式提供,可無縫整合至現有的Yocto 專案中。每個層級均附有專屬文件,詳述整合與編譯的相關細節:
總覽#
下方的概覽圖提供了關於操作 Baslerdart E 相機所涉及的所有軟體元件的高階概覽。
本指南旨在協助您將以綠色和藍色標示的元件整合至您的系統中。
在繼續之前,請確保您已閱讀相關資訊:
- GitHub 上meta-basler-imx8儲存庫中的README.md檔案
- 位於 Embedded Vision Cameras 章節中的文件
此外,也建議採用基於 Basler 官方支援的其中一款裝置所建置的運作環境。
整合步驟#
首先,請依照meta-basler-imx8儲存庫中的說明,將這些層加入您的Yocto 設定中。
以下各段落提供有關特定層級的進一步資訊。
Basler Tools(meta-basler-tools)#
meta-basler-tools層與 SoC 無關,因此應能開箱即用。編譯完成後,您應能透過在終端機中執行以下指令,在目標裝置上啟動pylon Viewer 應用程式:
Basler Embedded (meta-basler-imx8)#
meta-basler-imx8層是針對特定 SoC 和電路板設計的。因此,移植工作會稍微複雜一些。所需的工作量取決於您的目標平台與參考電路板的差異程度。
Basler 建議您在 GitHub 上複製該圖層,並根據您的需求進行修改。此外,您也可以建立自訂圖層,並透過.bbappend檔案整合必要的變更。
要建立可運作的設定,必須將概覽圖中顯示的元件調整為符合您的 BSP。
GenTL Producers#
這些檔案位於/recipes-camera 目錄下。這些設定檔並非針對特定 SoC 設計,而是用於安裝 Basler 攝影機的二進位驅動程式。無需對這些檔案進行修改。
Basler 攝影機驅動程式#
相機驅動程式位於/recipes-kernel/kernel-modules 目錄下。這是一個適用於所有基於 MIPI 的相機模組的通用相機驅動程式。
核心修補程式#
所有必要的核心修補程式皆位於/recipes-kernel/linux/linux-imx 目錄中。這些修補程式需要移植到目標核心中。
關於如何操作,並無通用的建議,因為這在很大程度上取決於目標架構。Basler 建議為目標裝置建立一個核心儲存庫,並透過以下方式在該處套用修補程式: git am.
裝置樹檔案#
這些內容需根據您的目標裝置進行重新編寫。核心修補程式中包含了所有適用於NXP 評估套件的裝置樹檔案。
Basler 建議從一個盡可能接近您的目標裝置的裝置樹檔案開始。有關裝置樹檔案的清單,請參閱meta-basler-imx8 中的表格。
實用小貼士:
- 請確保相機的裝置樹節點已指派至正確的 I2C 匯流排。
- 請確保攝影機節點已正確連結至 CSI 裝置。
- 請確保 CSI 通道的數量與順序正確無誤。
資訊
這些相機模組仰賴 I2C 時脈延伸功能的可用性及其正確實作。
教養小貼士#
請確認攝影機已通電,也就是說,綠色「LED 」指示燈應處於亮起狀態。
請使用以下指令檢查Linux 中的核心訊息: dmesg 為了確保已正確檢測到相機:
dmesg | grep Basler
[ 8.490196] ABRM: Manufacturer: Basler, Model: daA2500-60mc, Device: 107712-02, Serial: basler:30000031
[ 8.490231] basler-camera 2-0036: Basler Camera Driver v1.6.1 loaded successfully
資訊
如果裝置樹中的攝影機節點數量多於實際連接的攝影機數量,您將會針對每個沒有對應實體裝置的節點看到一則錯誤訊息。
請確保您相機型號的 GenTL 產生器(.cti 檔案)已安裝在 /opt/dart-bcon-mipi/lib* 目錄中。
請使用pylon Viewer 操作相機:
支援#
若您在安裝過程中遇到任何困難,請隨時聯絡Basler 技術支援團隊。我們的現場應用工程師團隊將會與您聯繫。
為了便於排除此問題,請提供以下資訊:
- 您正在使用的相機類型
- SoC 或板卡類型
- 核心版本
- 輸出為
dmesg - 當前裝置樹的轉儲內容: