i.MX8ULP EVK(Core M33)向けZephyr開発に関するお問い合わせNXPチームの皆様、こんにちは。
現在、i.MX8ULP EVK の Core M33 で Zephyr RTOS を実行するプロジェクトに取り組んでいます。i.MX8ULP の M33 コア上で Zephyr を実行するための既存の開発やリファレンスがあるかどうかを確認したかったのです。
具体的には、次のようなものを探しています。
公式 Zephyr サポート: Zephyr は i.MX8ULP の M33 コアで公式にサポートされていますか?もしSOなら、既存のボード構成や開発リソースは利用できますか?
既存の作業またはコミュニティへの貢献: このプラットフォームで Zephyr を実行するのに役立つ可能性のある進行中の開発作業やコミュニティへの貢献はありますか?
参照プロジェクト: Zephyr をこのプラットフォームに移植する際に役立つ参照プロジェクト、サンプル アプリケーション、またはドキュメント。
既知の制限事項: i.MX8ULP M33 コアで Zephyr を使用する場合、既知の制限事項や課題はありますか?
関連するリソースやドキュメントに関するガイダンスや指示があれば、大変ありがたく思います。
ご協力をよろしくお願いいたします!
Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)Zephyr を使用して i.MX8ULP 用のカスタム ボード構成を正常にコンパイルし、起動できたことをお知らせします。ボードが認識され、きれいにビルディングされるようになりました
しかし、初期の初期化中にブロッキングの問題が発生しました。
UPOWER_CheckReqWithArgs() 関数は現在、フラグ (callbackStatus) を設定するために割り込み駆動型コールバック (uPower_IRQHandler) に依存しています。この段階では Zephyr カーネルが初期化されていないため、割り込みは無効になっており、呼び出しはそのフラグを待機する while ループ内に停止します。
合併症:
IRQ が起動できるように早めに割り込みを有効にすると、早すぎるアクセスやコンテキストの不一致が原因で、UsageFaults やスタック破損が発生します。
ゴール:
割り込み依存性を削除し、初期ブート時にのみポーリング モードで uPower 要求を処理したいと考えています。理想的には、割り込みコンテキストに依存せずに、IRQ が行うこと (ステータスを手動で確認してフラグを設定すること) を再現したいと考えています。
割り込みなしの upower 用の既存のドライバはありますか?Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)こんにちは、みんな、
先程はご指導ありがとうございました。Zephyr を使用して i.MX8ULP 用のカスタム ボード構成を正常にコンパイルし、起動できたことをお知らせします。ボードが認識され、正常にビルディングされるようになりました。これは大きな前進です。
しかし、初期の初期化中にブロッキングの問題が発生しました。
🧩 問題:
UPOWER_CheckReqWithArgs() 関数は現在、フラグ (callbackStatus) を設定するために割り込み駆動型コールバック (uPower_IRQHandler) に依存しています。この段階では Zephyr カーネルが初期化されていないため、割り込みは無効になっており、呼び出しはそのフラグを待機する while ループ内に停止します。
合併症:
IRQ が起動できるように早めに割り込みを有効にすると、早すぎるアクセスやコンテキストの不一致が原因で、UsageFaults やスタック破損が発生します。
ゴール:
割り込み依存性を削除し、初期ブート時にのみポーリング モードで uPower 要求を処理したいと考えています。理想的には、割り込みコンテキストに依存せずに、IRQ が行うこと (ステータスを手動で確認してフラグを設定すること) を再現したいと考えています。
🧠 必要なもの:
- uPower リクエストの完了を安全にポーリングする方法に関するガイダンス。
- 要求の完了を示す内部ステータス フラグまたはレジスタへの参照。
- Zephyr の初期起動時に i.MX8ULP で uPower をポーリング モードで使用する場合の既知の注意点やベスト プラクティス。
uPower に携わった方、または NXP プラットフォームで Zephyr の初期段階の立ち上げに携わった方からの洞察や提案をお待ちしています。
再度、感謝します!
Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)公式 Zephyr サポート:いいえ、i.MX8ULP には M33 サポートがありません。
i.MX8ULP では、HiFi4 DSP コア (ADSP) をサポートしています - https://github.com/zephyrproject-rtos/zephyr/tree/main/soc/nxp/imx/imx8ulp
既存の作業またはコミュニティの貢献: DSP 上で Zephyr を実行する方法の例 ( https://www.nxp.com/docs/en/application-note/AN13970.pdfを参照) CAN 出発点になります。
Zephyr に M33 サポートを追加する方法については、i.MX95 の M7 サポート ( https://github.com/zephyrproject-rtos/zephyr/pull/74920/commits ) などの他の例を参照してください。- これらのパッチはいくつかだけ必要です - M7 サポートのみに焦点を当てます) または i.MX943 での M33 サポート ( https://github.com/zephyrproject-rtos/zephyr/pull/91107/commitsを参照)。
参照プロジェクト:上記の PR、リファレンス マニュアル、その他のドキュメント (ここを参照)、 i.MX Linux ユーザー ガイド、アプリケーション ノート AN5317
既知の制限事項: N/A
Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)こんにちは@sujitp :
i.MX 8ULP は現在の計画には含まれていません。私たちは、Cortex-A コア上で Zephyr を有効にすることに重点を置いてきました。
申し訳ありませんが、それに関する既存の文書はありません。将来的には 8ULP を検討することになるかもしれませんが、その評価を行うには要件についてさらに詳しく知る必要があります。
よろしくお願いします。
ダニエル
Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)AN13970はHiFi4-DSPに関するもので、im8ulp core m33とは全く関係ありません。
Re: Inquiry on Zephyr Development for i.MX8ULP EVK (Core M33)こんにちは、Sujitp:
https://docs.zephyrproject.org/latest/boards/nxp/index.htmlによると
サポートされている NXP i.MX MPU ボードには以下が含まれます。
...

...
残念ながら、i.MX 8ULP はここにはリストされていません。
Arm Cortes-A または Cortex-M コア上で Zephyr を実行する方法と、その実装方法について説明している AN13970 を参照することをお勧めします。
よろしくお願いします。
ダニエル