2389301_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2389301_ja-JP

2389301_ja-JP

LPC845 の GPIO への DMA 書き込みが失敗します

LPC845 DMAはGPIOを0xA0000000で書き込めないようです

GPIO書き込みを実行しようとすると、DMA0 ->ERRINT=1 というエラーが発生します。

トラブルシューティングの手順として、宛先アドレスをRAMに変更したところ、ERRINTフラグは発生しなくなりました。

これが本当に不可能なのかどうかを断定できる情報源は見つかりませんでした。

決定的ではないものの、その可能性を示唆する参考文献を見つけました:
https://community.nxp.com/t5/LPC-Microcontrollers/Lpc-824-DMA-to-GPIO/m-p/650903

どなたか確認してもらえますか?

Re: LPC845 DMA write to GPIO fails

こんにちは、 @phatpaul

ご質問ありがとうございます。

はい、LPC845 DMAコントローラはアドレス0xA0000000のGPIOレジスタ空間に直接書き込みできません。The GPIO ペリフェラル is コネクテッド through the Cortex-M0+ I/O bus for fast CPU アクセス, whereas the DMA コントローラ アクセス memories and supported ペリフェラル through the AHB/APB bus インフラ.

さらに、LPC845のデータシートには次のように記載されています。

「DMAコントローラーはすべてのメモリとUSART、SPI、I2C、DAC、そしてキャパシティブタッチにアクセスできます。」

GPIOはDMAがアクセス可能なペリフェラルには含まれていません。したがって、GPIOレジスタ空間へのDMA転送はサポートされておらず、転送エラー(ERRINT)が発生します。これは、お客様が観察された動作と一致しています。

Alice_Yang_0-1783237995511.png


よろしくお願いします。


BR

アリス


タグ(1)
評価なし
バージョン履歴
最終更新日:
1ヶ月前
更新者: