#include <nitro/mi.h>
void MI_CpuRecv32( volatile const void* src, void* dest, u32 size );
void MI_CpuRecv16( volatile const void* src, void* dest, u32 size );
void MI_CpuRecvFast( volatile const void* src, void* dest, u32 size );
src | The transfer source address. |
dest | The transfer destination address. |
size | Transfer size. |
None.
Loads data from the same address in the CPU. The function does not change the address of the transfer source. It increments only the transfer source address, and repeatedly loads data to a contiguous region.
MI_CpuRecv16()
transfers in 16-bit units. Both the transfer source address and the transfer destination address must be 2-byte aligned.
MI_CpuRecv32()
transfers in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned.
MI_CpuRecvFast()
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_CpuRecv32()
.
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_CpuSend*
MI_DmaRecv*
2007/12/26 Added the MI_CpuRecvFast
function.
2007/10/23 Initial version.
CONFIDENTIAL