#include <nitro/mi.h> void MI_DmaFill32( u32 dmaNo, void* dest, u32 data, u32 size ); void MI_DmaFill16( u32 dmaNo, void* dest, u32 data, u32 size ); void MI_DmaFill32Async( u32 dmaNo, void* dest, u32 data, u32 size, MIDmaCallback callback, void* arg ); void MI_DmaFill16Async( u32 dmaNo, void* dest, u32 data, u32 size, MIDmaCallback callback, void* arg );
dmaNo | DMA channel used |
dest | The transfer destination address. |
data | The data that will be transferred |
size | Transfer size |
callback | Callback when DMA ends. |
arg | Callback argument when DMA ends. |
None.
Uses DMA to fill memory with the specified data.
MI_DmaFill16()
and MI_DmaFill16Async()
fill memory with the specified data in 16-bit units. You must 2-byte align the transfer destination address. MI_DmaFill32()
and MI_DmaFill32Async()
fill memory with the specified data in 32-bit units. You must 4-byte align the transfer destination address.
MI_DmaFill16()
and MI_DmaFill32()
wait within the function until DMA completes. MI_DmaFill16Async()
and MI_DmaFill32Async()
call a callback function when DMA ends. The callback, callback
, is a MIDmaCallback
type (a void
type function which takes one void*
argument). callback is called from the system DMA interrupt handler and therefore is called while interrupts are prohibited.
Uses the following IO registers: DMAn source register (0x40000B0 + 12n), DMAn destination register (0x40000B4 + 12n), and DMAn control register (0x40000B8 + 12n). n is the DMA channel used.))In addition, the HW_DMA_CLEAR_DATA_BUF
region is used for fill. This region is occupied by shared memory for the TEG board but is mapped to the IO registers for TS.
MI_DmaCopy*
, MI_DmaClear*
, MI_DmaSend*
, MI_CpuFill*
03/08/2005 Standardized the Japanese term for "interrupt".
12/22/2004 Added a description regarding callback
.
12/01/2003 Initial version
CONFIDENTIAL