DMA Functions

Description. More...

Functions

void hel_DmaCopy16 (void *pDest, const void *pSrc, u32 SizeIn16BitWords)
 Copy memory using DMA Channel 3 in 16BIT mode.
void hel_DmaCopy32 (void *pDest, const void *pSrc, u32 SizeIn32BitWords)
 Copy memory using DMA Channel 3 in 32BIT mode.
void hel_DmaSet16 (void *pDest, u16 SrcValue, u32 SizeIn16BitWords)
 Fills a block of memory with a specified value using Channel 3 in 16BIT mode.
void hel_DmaSet32 (void *pDest, u32 SrcValue, u32 SizeIn32BitWords)
 Fills a block of memory with a specified value using Channel 3 in 32BIT mode.
void hel_DmaSet8 (void *pDest, u8 SrcValue, u32 SizeInBytes)
 Fills a block of memory with a specified value using DMA Channel 3.
void hel_DmaZeroMemory (void *pDest, u32 SizeInBytes)
 Fills a block of memory with zeros using DMA Channel 3.

Detailed Description

Description.

DMA (Direct Memory Access) Transfers can be used to copy a block of memory from one location to another and/or to fill a block of memory with a given value. DMA Functions from this module use DMA Channel 3!


Function Documentation

void hel_DmaCopy16 ( void *  pDest,
const void *  pSrc,
u32  SizeIn16BitWords 
)

Copy memory using DMA Channel 3 in 16BIT mode.

The hel_DmaCopy16 function copies a block of memory from one location to another using DMA Channel 3 in 16BIT mode.

Parameters:
[in] pDest Pointer to copy destination
[in] pSrc Pointer to block to copy
[in] SizeIn16BitWords,: Size 16BIT Words of block to copy
See also:
hel_DmaCopy32

void hel_DmaCopy32 ( void *  pDest,
const void *  pSrc,
u32  SizeIn32BitWords 
)

Copy memory using DMA Channel 3 in 32BIT mode.

The hel_DmaCopy32 function copies a block of memory from one location to another using DMA Channel 3 in 32BIT mode.

Parameters:
[in] pDest Pointer to copy destination
[in] pSrc Pointer to block to copy
[in] SizeIn32BitWords Size 32BIT Words of block to copy
See also:
hel_DmaCopy16

void hel_DmaSet16 ( void *  pDest,
u16  SrcValue,
u32  SizeIn16BitWords 
)

Fills a block of memory with a specified value using Channel 3 in 16BIT mode.

The hel_DmaSet16 function fills a block of memory with a specified value using DMA Channel 3 in 16bit mode.

Parameters:
[in] pDest Pointer to block to fill
[in] SrcValue The 16bit value with which to fill
[in] SizeIn16BitWords Size in 16bit words of block to fill
Note:
The destination address specified by pDest must be multiply 2.
See also:
hel_DmaSet8, hel_DmaSet32

void hel_DmaSet32 ( void *  pDest,
u32  SrcValue,
u32  SizeIn32BitWords 
)

Fills a block of memory with a specified value using Channel 3 in 32BIT mode.

The hel_DmaSet32 function fills a block of memory with a specified value using DMA Channel 3 in 32bit mode.

Parameters:
[in] pDest Pointer to block to fill
[in] SrcValue The 32bit value with which to fill
[in] SizeIn32BitWords Size in 32bit words of block to fill
Note:
The destination address specified by pDest must be multiply 4.
See also:
hel_DmaSet8, hel_DmaSet16

void hel_DmaSet8 ( void *  pDest,
u8  SrcValue,
u32  SizeInBytes 
)

Fills a block of memory with a specified value using DMA Channel 3.

The hel_DmaSet8 function fills a block of memory with a specified value using DMA Channel 3.

Parameters:
[in] pDest Pointer to block to fill
[in] SrcValue The byte value with which to fill
[in] SizeInBytes Size in bytes of block to fill
Note:
The GBA hardware does not provide hardware support to perform 8bit DMA transfers. The hel_DmaSet8 functions emulates this by using the 16bit mode and writes the first or last byte in software (strb). Because of a few memory alignment checks this functions must do, it is quite slower than a pure 16bit transfer.
See also:
hel_DmaSet16, hel_DmaSet32

void hel_DmaZeroMemory ( void *  pDest,
u32  SizeInBytes 
)

Fills a block of memory with zeros using DMA Channel 3.

The hel_DmaZeroMemory function fills a block of memory with zeros using DMA Channel 3.

Parameters:
[in] pDest Pointer to block to fill with zeros
[in] SizeInBytes Size in bytes of block to fill with zeros
Note:
This function uses hel_DmaSet8 to zeroise a block of memory.
See also:
hel_DmaSet8


Generated on Sat Aug 12 13:54:09 2006 for HEL 2 Library by  doxygen 1.4.7