こんにちは、
カスタムLinux OSを搭載したi.MX8MP SoMを使用しています
カーネルバージョン: lf-5.15.71-2.2.2
当社では、AR1335 カメラ ドライバ(元々は i.MX8MP Verdin プラットフォームのもの) を当社独自の i.MX8MP SoM セットアップに統合する作業を進めています。
ただし、AR1335 プラットフォーム ドライバがブート時にロードされると、ドライバの probe() 関数が完了した直後にシステムでカーネル パニックが発生します。このドライバのデバイス ツリー オーバーレイをロードしない場合、システムは問題なく起動します。
重要な観察点の 1 つは、ドライバに msleep() への複数の呼び出し (500 ミリ秒または 1000 ミリ秒などの遅延を含む) が含まれていることです。これらの呼び出しをコメント アウトすると、システムはクラッシュせずに正常に起動します。
msleep() を mdelay()、usleep_range()、fsleep() などの代替手段に置き換えようとしましたが、いずれも起動時にカーネル パニックが発生します。
特定のハードウェア初期化手順ではドライバに遅延が必要なため、起動時にクラッシュを引き起こすことなくそれらの遅延を導入する安全で信頼性の高い方法を探しています。
プローブ中にカメラ ドライバでこのような遅延を安全に処理するための推奨方法は何ですか?
よろしくお願いいたします。
アドナン
サードパーティのソフトウェアとハードウェアを使用しているので、追加のサポートについてはサードパーティのエンジニアに問い合わせることをお勧めします。サードパーティのエンジニアは独自のソフトウェアに精通しているはずです。また、e-CAM131_CUiMX8カメラモジュールが何であるかさえわかりません。
こんにちは、
カーネル バージョンtoradex_5.15-2.2.x-imxを対象に、 Toradex i.MX8MP Verdin モジュール用に e-con Systems が提供したパッチ ファイルを適用しました。
私たちの目標は、e-con Systems のe-CAM131_CUiMX8 カメラ モジュールを当社のプラットフォームに統合することです。
よろしくお願いいたします。
アドナン
あなたが言及している詳細なコードやパッチを共有していただいてもよろしいでしょうか?コードを共有しないと問題を理解するのは難しいです。ISI または ISP を使用していますか?ar1335ドライバが何を意味するのか分かりませんが、
こんにちは、
私が試した、カーネル パニックを起こさずに機能すると思われる 1 つの方法は、probe() 関数からカーネル Thread を作成し、初期化コード (遅延を含む) をその Thread に移動することです。
これを処理するためのより良い、またはより適切な方法はありますか?
よろしくお願いいたします
アドナン