跳转到内容

移植指南 (Yocto)#

本指南解释了如何将 Basler dart BCON for MIPI 相机集成到 Basler 软件栈不直接支持的平台。

它专注于基于 Yocto 的系统,因为这些是嵌入式世界中使用最广泛的系统。

该指南适用于 Basler dart BCON for MIPI 相机和以下 NXP i.MX8 主板:

  • imx8mmevk (NXP: 8MMINILPD4-EVK)
  • imx8mmddr4evk (NXP: 8MMINID4-EVK)
  • imx8mpevk (NXP: 8MPLUSLPD4-EVK)(有限制条件)
  • imx8mqevk (NXP: MCIMX8M-EVKB (B Silicon))

信息

本指南重点介绍了带有板载 ISP 的相机(daA…mci 相机)。不会介绍针对 i.MX 8M Plus 的非 ISP 相机的集成。

#

为了简化开发过程,源代码以 GitHub 元层的形式提供,可以无缝集成到现有的 Yocto 项目中。每一层都有自己的文档,包括有关集成和编译的详细信息:

概述#

下面的概览图提供了有关操作 Basler dart BCON for MIPI 相机所涉及的所有软件组件的高级视图。

本指南有助于将绿色蓝色突出显示的组件集成到您的系统中。

嵌入式相机概述

继续之前,请确保您已阅读可用信息:

我们也推荐使用基于 Basler 官方支持的设备之一的工作设置。

集成步骤#

首先,按照 meta-basler-imx8 存储库中的说明,将层添加到您的 Yocto 设置中。

以下段落提供了与特定层有关的附加信息。

Basler 工具 (meta-basler-tools)#

meta-basler-tools 层是独立于 SoC 的,因此应该开箱即用。编译后,您应该能够通过从终端运行以下命令,在目标上启动 pylon Viewer 应用程序。

/opt/pylon/bin/pylonviewer

Basler 嵌入式 (meta-basler-imx8)#

meta-basler-imx8 层是针对 SoC 和主板的。因此,移植有点复杂。工作量取决于您的目标平台与参照主板的差异程度。

Basler 建议在 GitHub 上克隆该层并根据您的需要对其进行修改。另外,您可以创建自定义层并使用 .bbappend 文件整合必要的更改。

要创建工作设置,总览图中显示的组件必须适合您的 BSP。

GenTL Producer#

这些位于 /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 灯亮起。

使用 dmesg 检查 Linux 内核消息,以确保正确探测到相机:

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 producer(.cti 文件)安装在 /opt/dart-bcon-mipi/lib**。

使用 pylon Viewer 来操作相机:

GENICAM_GENTL64_PATH=/opt/dart-bcon-mipi/lib /opt/pylon/bin/pylonviewer

支持#

如果您在安装过程中遇到任何困难,请随时联系 Basler 支持。我们的现场应用工程师团队将会与您联系。

为了更容易排查问题,请提供以下信息:

  • 您正在使用的相机类型
  • SoC 或主板类型
  • 内核版本
  • dmesg 输出
  • 当前设备树的转储:
    dmesg > dmesg_dump.txt
    dtc -I fs -O dts /proc/device-tree