親愛なるNXPサポートチームへ、
今、GPIO PTD6でEIRQ14の立ち上がりエッジ検出を設定し、このピン信号をDMAチャネルにマッピングし、PIT_1 Timer[0]から現在の値を取得しようとしています。これはフリーランニングとして設定されています。
SIUL2はPTDAで正しく設定されているようで、関連するMCUピンで信号(1Hz)を接続するとこのピンが切り替えられているのが確認できます。
でもDMAは私には合いません
私の推測では、PTD6から>DMAMUX-> DMAチャネル4の適切なチェーンを見つけるのに問題があるのだと思います。そして、これらの情報を正確にどこで見つけられるかも調べてください。
S32K3xx_DMAMUX_map.xlsx から以下の情報を取得しました。
そこで最初の問題です:PTD6(EIRQ14)に専用のソース>リクエストはどれですか?
RMマニュアルの表44とはどのように関連しているのでしょうか?
以下は、私が現在取り組んでいるコードの断片です。
PTD6 のセットアップ
こんにちは、@ OndrejK
「つまり、MCUには32のTCDチャネルがあり、TCD 0から15はDMAMUX_0に有効で、TCD 15から31はDMAMUX_1に適用されるということですか?"
はい、これらの情報はデータシートに記載されています。参考のためにコピーしておきます。
こんにちは、Senlentさん。
ご回答ありがとうございます。
TCDマッピングについてのあなたの意味がどこから出たのか教えてもらえますか?
つまり、MCUは32のTCDチャネルを持ち、TCD 0から15がDMAMUX_0に有効で、TCD 15から31は
DMAMUX_1?
DMAMUXとeDMAに関する情報について、まだ少し混乱しています。
よろしくお願いします
オンドレイ
あなたの理解は正しいです。
PTD6->EIRQ14->DMAMUX1.SOURCE 7.
IP_DMAMUX_1->CHCFG[4] = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(7u); // EIRQ14 is source 7 for DMAMUX_1
しかし、TDC設定が間違っています。
私の理解では、それらは以下のようになるはずです。
IP_DMAMUX_1->CHCFG[0] ->TCD 16
IP_DMAMUX_1->CHCFG[4] -> TCD4ではなくTCD20