MI_HBlankNDmaCopy*

構文

#include <twl/mi.h>

void MI_HBlankNDmaCopy( u32 ndmaNo,
                     const void *src,
              void *dest,

                     u32 size );
void MI_HBlankNDmaCopyIf( u32 ndmaNo,
                     const void *src,
              void *dest,

                     u32 size );

引数

ndmaNo 使用DMAチャンネル
src 転送元アドレス
dest 転送先アドレス
size 転送サイズ

返り値

なし。

説明

新規DMAを用いてHブランクコピーを行います。Hブランクが起動したときDMAが起動します。

新規DMAを用いてワード(4byte)単位でコピーを行います。転送元アドレス src、転送先アドレスdest は4バイトアラインメントする必要があります。転送サイズ size も4の倍数である必要があります。

このモードを使用している場合、メインメモリへのアクセス権を「ARM9優先」にしてください。そうでない場合は、ARM7からのメインメモリへのアクセスによるDMA起動の遅延により、画面が崩れる可能性があります。アクセス権の優先の指定は、MI_SetMainMemoryPriority() で行います。

MI_HBlankNDmaCopyIf() は DMA終了時にDMA割り込みを発生します。

内部動作

新規DMAレジスタにアクセスします。

参照

MI_NDmaCopy, MI_SetMainMemoryPriority

履歴

2007/10/04 初版