#include <nitro/mi.h>
void MI_CpuSend32( const void* src, volatile void* dest, u32 size );
void MI_CpuSend16( const void* src, volatile void* dest, u32 size );
void MI_CpuSendFast( const void* src, volatile void* dest, u32 size );
src | The transfer source address. |
dest | The transfer destination address. |
size | Transfer size. |
None.
Uses the CPU to transfer data to the same address. The function does not change the address of the transfer destination. It increments only the transfer origin address, and repeatedly transfers contiguous region data to the same address.
MI_CpuCopy16()
transfers in 16-bit units. Both the transfer source address and the transfer destination address must be 2-byte aligned.
MI_CpuCopy32()
transfers in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned.
MI_CpuSendFast()
copies at high speed in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned. The transfer size is an integral multiple of 4 bytes. It does not have to be an integral multiple of 32 bytes. After transferring in 32-byte units, the fractional part is handled by performing the same process as MI_CpuSend32()
.
Processing is done by the CPU only and does not use the DMA controller. System calls are not used.
MI_CpuCopy*
MI_CPUFill*
MI_CpuClear*
MI_CpuRecv*
MI_DmaSend*
2007/12/26 Added the MI_CpuSendFast
function.
2004/03/29 Added a note saying that system calls are not used. 2004/01/30 Initial version.
CONFIDENTIAL