#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 初版