ポーティングガイド(Yocto)#
これは、組み込み機器の世界で最も広く使用されているYoctoベースのシステムに焦点を当てています。
The guide is intended for Basler dart E cameras and the following NXP i.MX8 boards:
- imx8memevk(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プロジェクトにシームレスに統合できます。各レイヤーには、統合とコンパイルに関する詳細をカバーする独自のドキュメントが付属しています。
概要#
The overview diagram below provides a high-level view on all software components involved in operating a Basler dart E camera.
このガイドは、緑色と青色でハイライト表示されたコンポーネントをシステムに統合する際に役立ちます。
続行する前に、利用可能な情報を読んだことを確認してください。
- Githubのmeta-basler-imx8リポジトリーのREADME.mdファイル
- Documentation in the Embedded Vision Cameras section
Baslerで正式にサポートされているデバイスの1つに基づく作業セットアップも推奨されます。
統合手順#
まず、meta-basler-imx8リポジトリーで説明されているように、レイヤーをYoctoセットアップに追加します。
次の段落では、特定のレイヤーに関連する追加情報を提供します。
Baslerツール(meta-basler-tools)#
meta-basler-toolsレイヤーは、SoCから独立しているため、そのまま使用できます。コンパイル後、端末から次のコマンドを実行して、ターゲット上でpylon Viewerアプリケーションを起動できるはずです。
Basler組み込み(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にあります。これらはターゲットカーネルにポーティングする必要があります。
There is no general advice on how to do that, as it heavily depends on the target structures. Basler recommends creating a kernel repo for the target device and applying the patches there using git am
.
デバイスツリーファイル#
これらは、ターゲットデバイスに応じて書き換える必要があります。カーネルパッチには、NXP評価キット用のすべてのデバイスツリーファイルが含まれます。
Baslerでは、ターゲットデバイスにできるだけ近いデバイスツリーファイルから始めることをお勧めします。デバイスツリーファイルのリストについては、meta-basler-imx8の表を参照してください。
役に立つヒント:
- カメラのデバイスツリーノードが、正しいI2Cバスに割り当てられていることを確認します。
- カメラノードがCSIデバイスに正しくリンクされていることを確認します。
- CSIレーンの数と順序が正しいことを確認します。
情報
カメラモジュールは、I2Cクロックストレッチの可用性と正しい実装に依存しています。
立ち上げのためのヒント#
カメラに電源が入っていること、つまり緑色のLEDが点灯していることを確認します。
Check the Linux kernel messages using dmesg
to ensure the camera was probed properly:
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を使用してカメラを操作します。
サポート#
インストール中に問題が発生した場合、Baslerサポートにお気軽にお問い合わせください。当社のフィールドアプリケーションエンジニアチームが、対応いたします。
問題のデバッグを容易にするために、次の情報を提供してください。
- 使用しているカメラの種類
- SoCまたはボードの種類
- カーネルバージョン
- Output of
dmesg
- 現在のデバイスツリーのダンプ: