Renesas Synergy™

FAQ 1000039 : DMAが転送終了したにもかかわらず、DMA転送終了検出レジスタ(DMEDET)の該当ビットが“1”になりません。

他のチャンネルのDMEDETレジスタの該当ビットをクリアするときにリードモディファイライト系の命令を使用していないかご確認ください。

DMA転送終了検出フラグをクリアする場合は、DMEDETレジスタの該当ビットだけを“1”にしてバイト書き込みを行ってください。

下記に一例を示します。
DMACチャンネル0と1を使用しており、DMEDETのチャネル0 DMA転送終了検出フラグ(DEDET0)だけをクリアする場合に、

MOV.L   #00082517h,R1
BSET    #07,[R1]

と記述すると、チャネル1 DMA転送終了検出フラグ(DEDET1)が“1”になっていた場合にDETDET1も同時にクリアされます。DEDET0だけをクリアする場合は、

MOV.L   #00082517h,R1
MOV.B   #80h,[R1]

としてください。

詳しくは、ユーザーズマニュアルハードウェア編『DMA コントローラ(DMAC)』の中にある『DMA 転送終了検出レジスタ』を参照してください。

適用製品

RX610
他にご質問がございましたら、リクエストを送信してください