ポーティングガイド(Yocto)#
これは、組み込み機器の世界で最も広く使用されているYoctoベースのシステムに焦点を当てています。
このガイドは、Basler dart Eカメラおよび以下のNXP i.MX8ボードを対象としています。
- 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プロジェクトにシームレスに統合できます。各レイヤーには、統合とコンパイルに関する詳細をカバーする独自のドキュメントが付属しています。
概要#
以下の概要図は、Basler dart Eカメラの操作に関与するすべてのソフトウェアコンポーネントの高レベルな全体像を示しています。
このガイドは、緑色と青色でハイライト表示されたコンポーネントをシステムに統合する際に役立ちます。
続行する前に、利用可能な情報を読んだことを確認してください。
- Githubのmeta-basler-imx8リポジトリーのREADME.mdファイル
- Embedded Vision Camerasセクションのマニュアル
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にあります。これらはターゲットカーネルにポーティングする必要があります。
ターゲット構造に強く依存するため、その方法に関する一般的なアドバイスはありません。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 Producer(.ctiファイル)が、/opt/dart-bcon-mipi/lib*にインストールされていることを確認します。
pylon Viewerを使用してカメラを操作します。
サポート#
インストール中に問題が発生した場合、Baslerサポートにお気軽にお問い合わせください。当社のフィールドアプリケーションエンジニアチームが、対応いたします。
問題のデバッグを容易にするために、次の情報を提供してください。
- 使用しているカメラの種類
- SoCまたはボードの種類
- カーネルバージョン
- 次の出力:
dmesg - 現在のデバイスツリーのダンプ: