MI_DmaFill*

構文

#include <iris/mi.h>

void OS_DmaFill32( u32 dmaNo, void* dest, u32 data, u32 size );
void OS_DmaFill16( u32 dmaNo, void* dest, u32 data, u32 size );

void OS_DmaFill32Async( u32 dmaNo, void* dest, u32 data, u32 size );
             MIDmaCallback callback, void* arg );
void OS_DmaFill16Async( u32 dmaNo, void* dest, u32 data, u32 size );
             MIDmaCallback callback, void* arg );

引数

dmaNo 使用DMAチャンネル
dest 転送先アドレス
data 転送データ
size 転送サイズ
callback DMA終了時のコールバック
arg DMA終了時のコールバック引数

返り値

なし。

説明

DMAを用いて、メモリを指定のデータで埋めます。

MI_DmaFill16(), MI_DmaFill16Async() は 16ビット単位でメモリを指定のデータで埋めます。転送先アドレスは2バイトアラインメントする必要があります。
MI_DmaFill32(), MI_DmaFill32Async() は 32ビット単位でメモリを指定のデータで埋めます。転送先アドレスは4バイトアラインメントする必要があります。

MI_DmaFill16(), MI_DmaFill32() はDMAの終了を関数内で待ちます。
MI_DmaFill16Async(), MI_DmaFill32Async() は、DMA終了時にコールバックを呼びます。コールバックは MIDmaCallback 型(void* 引数1つを取る void 型関数)です。

内部動作

MI_DmaClear* を呼んでいます。(MI_DmaClear* 参照)

参照

MI_DmaCopy*, MI_DmaClear*, MI_CpuFill*

履歴

2003/12/01 初版