Return to previous page | Return to menu | Go to next page
void
Other functions
Block transfer using CPUDMA
void slDMAXCopy(src , dst , cnt , mode)
void *src ;
void *dst ;
Uint32 cnt ;
Uint16 mode ;
src Start address of transfer source memory area dst Start address of the destination memory area cnt Block transfer amount (bytes) mode Transfer mode flag
Block transfer is performed using the DMA built into the CPU.
The parameter “cnt” specifies how many bytes are transferred.
The parameter “mode” specifies what to do with the transfer source, what to do with the transfer destination, and what to do with the transfer unit.
The cache is initialized when transfer to the cache area is performed.
None
The function “slDMAXCopy” can specify how to move the pointer of the function “slDMACopy”. The value assigned to the parameter “mode” is as follows.
Example of use) (1) The transfer source is fixed, the transfer destination is advanced, and transfer is performed in word units. slDMAXCopy(src , dst , cnt , Sfix_Dinc_Word) ; Used when reading from a specific port or filling the memory with the same data. (2) Advance the transfer source and transfer in bytes while returning the transfer destination. slDMAXCopy(src , dst , cnt , Sinc_Ddec_Byte) ; Used when transferring data in reverse order. Other operations are the same as the function “slDMACopy”.
Reference: Chapter 9 Controller Input
slDMAXCopy