こんにちは、NXPチームの皆さん!
IMXRT700の仕様から、プレスリリース、製品ニュース、コンピュート、センスの3ドメインに分類されており、チップ上の各コアが動作するためにそれぞれ独立したイメージを必要とするとされていました。しかし、EZH-Vコアの使用例に関する文書は非常に少ないようです。
アプリケーションノートAN14614、AN14618、AN14654は読みましたが、このコアやRT700のグラフィカルプロセッシングにおける役割に関する情報はまだほとんどありません。SmartDMAエンジンの実装に使われると言われていましたが、他のMCXファミリのMCUではこのコアの存在が記載されておらず、スマートDMAはmcuxpresso SDKが提供するAPIを通じてArm CM33コアで直接利用可能です。
今は非常に混乱しています。iMXRT700でsmartDMAを直接使うことはできますか?それともAN14614指示に従ってLLVM経由でEZH-Vのイメージを構築しなければならないのでしょうか?ただし、IPC通信はCpu0によって直接制御されるはずなのに、RPMsgに頼らざるを得ないというのは、非常に直感に反するように思えます。
さらに、NXPがこのEZH-Vコアを明示的に活用した実際のデモやユースケースを提供した例は私の知る限りありません。入手可能なソースヘッダーの一部も確認しましたが、ごく基本的な操作しか提供されていませんでした。EZH-Vの用途を教えていただけますか?
さて、簡単なアップデートです。メインラインのZephyrにあるSmartDMAドライバを見て、状況が理解できました。
スマートDMAは常に、独自のコアを持つスタンドアロンのサブシステムとして計画されてきましたが、完全に独立したRISC-Vコアとして提示されたことはありません。
現在の例では、smartDMAはカスタムファームウェアのインストールパスに実際には一切触れておらず、わずかに特殊なDMA IPとしてのみ使用されています。
さて、今度は昔ながらのスマートDMAを使い続けられるかどうかに軸足を移すべきです。複雑なIPC設定を行う代わりにCM33経由で直接呼び出しされるもので、執筆時点でスマートDMAのIPは公式管理mimxrt700_evkのサポートIPとしてまだ公開されていません。
こんにちは@mayliu1
迅速な返信ありがとうございます。つまり、スマートDMAはもはやCM33コアと結合されておらず、EZH-Vコア経由で使わなければならないということですか?
NXPの他のMCUファミリであるMCXでは、スマートDMAはCM33と連結されており、API経由で直接呼び出すことができます。これらのユースケースを文書化したアプリケーションノートAN14172、AN14916、RISC-Vコアのスタンドアロンイメージビルディングには関わりません。
では、i.MXRT700の現在のアーキテクチャはどのようなものですか?EZH-Vに関する資料はどれも非常に曖昧で、EZH-Vの使い方を網羅的に解説したデモやガイドは今のところ見当たりません。
NXPはスマートDMAのアーキテクチャを改訂し、もはやコアのCM33システムの一部から外し、RISC-Vのコンパニオンコアにグループ化したのでしょうか?CM33経由でスマートDMAを直接呼び出すことはCANか?
こんにちは、 @TomC818 さん、
私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。
AN14614および i.MX RT700リファレンス・マニュアルによると、私の理解では、i.MX RT700のSmartDMA機能は、eDMAのような従来のDMAペリフェラルではなく、EZH-V RISC-Vコアを通じて実装されているようです。
一般的に、eDMAは標準的なメモリ転送操作において依然として推奨されており、CM33コアから直接設定可能です。しかし、特定のグラフィックス/データ後処理やデータフォーマット変換タスクなどのSmartDMA関連プロセッシングは、通常EZH-Vコア上で動作するファームウェアによって実装されます。
AN14614に基づき、CPU0はEZH-Vファームウェアのロードと起動を担当し、その後実際のプロセッシングはEZH-Vによって行われます。この観点から見ると、EZH-Vは従来のDMAエンジンよりもプログラム可能なコプロセッサのように振る舞います。
したがって、RT700上のSmartDMAは、CM33のみで直接駆動される従来のDMAペリフェラルよりも、EZH-Vコア上で動作するプログラム可能なプロセッシングエンジンとして見るべきです。
お役に立てれば幸いです。
よろしくお願いいたします。
5月
あの、あの...もしNXPが実際に準備やサポート計画を持たなかった場合、"EZH-Vの支援により、Cortex-M33コアは他の作業に自由に使える。EZH-Vが割り当てられたタスクを実行する間、CM33コアは他のタスクを並列実行できます。" 説明のリファレンス・マニュアルによると、RT700のドキュメントや例はまだ非常に未完成で散漫なため、STやInfineonとは別の選択肢を追求しようと思います。このMCUのマーケティングされている独特な機能のサポートは非常に少なく、ほとんどありません。このような複雑で異種混在のアーキテクチャでは、このようなわずかな例やガイドは全く役に立たない。
i.MX RT700では、SmartDMAはCM33が直接制御する従来のスタンドアロンDMAペリフェラルとは異なり、露出されません。
SmartDMAスタイルの機能はEZH-Vエンジンを通じて提供されるため、一般的な使用モデルはCM33がEZH-Vファームウェアを読み込み起動し、必要に応じて連携するというものです。