DMA. More...
#include <stdint.h>
Enumerations | |
enum | BurstMode { } |
DMA burst mode (RAM->RAM only). More... | |
enum | Peripheral |
MMSP2 peripherals available for DMA transfers. | |
Functions | |
void | dmaConfigureChannelIO (int channel, BurstMode burstMode, int8_t srcIncrement, int8_t destIncrement, Peripheral peripheral) |
Configure a DMA channel for memory-to-peripheral transfer. More... | |
void | dmaConfigureChannelMem (int channel, BurstMode burstMode, int8_t srcIncrement, int8_t destIncrement) |
Configure a DMA channel for memory-to-memory transfer. More... | |
bool | dmaHasFinished (int channel) |
Check if a DMA channel has finished transferring data. More... | |
bool | dmaIsTransferring (int channel) |
Check if a DMA channel is transferring data. More... | |
void | dmaStart (int channel, uint16_t length, uint32_t src, uint32_t dest) |
Initiate a DMA transfer. More... | |
void | dmaStop (int channel) |
Stop a DMA transfer. More... | |
enum BurstMode |
void dmaConfigureChannelIO | ( | int | channel, |
BurstMode | burstMode, | ||
int8_t | srcIncrement, | ||
int8_t | destIncrement, | ||
Peripheral | peripheral | ||
) |
Configure a DMA channel for memory-to-peripheral transfer.
channel | DMA channel to configure (0 - 15) |
burstMode | Number of words to copy at a time |
srcIncrement | Number of words to increment source address after each transfer (negative values and zero are permitted) |
destIncrement | Number of words to increment destination address after each transfer (negative values and zero are permitted) |
peripheral | MMSP2 peripheral to write to |
void dmaConfigureChannelMem | ( | int | channel, |
BurstMode | burstMode, | ||
int8_t | srcIncrement, | ||
int8_t | destIncrement | ||
) |
Configure a DMA channel for memory-to-memory transfer.
channel | DMA channel to configure (0 - 15) |
burstMode | Number of words to copy at a time |
srcIncrement | Number of words to increment source address after each transfer (negative values and zero are permitted) |
destIncrement | Number of words to increment destination address after each transfer (negative values and zero are permitted) |
bool dmaHasFinished | ( | int | channel | ) |
Check if a DMA channel has finished transferring data.
channel | DMA channel to check (0 - 15) |
bool dmaIsTransferring | ( | int | channel | ) |
Check if a DMA channel is transferring data.
channel | DMA channel to check (0 - 15) |
void dmaStart | ( | int | channel, |
uint16_t | length, | ||
uint32_t | src, | ||
uint32_t | dest | ||
) |
Initiate a DMA transfer on a previously configured channel.
channel | DMA channel to initiate transfer on (0 - 15) |
length | Number of bytes to transfer (maximum 64K) |
src | Source address (aligned to 4 byte word boundary) |
dst | Destination address (aligned to 4 byte word boundary) |
void dmaStop | ( | int | channel | ) |
Stop a DMA transfer.
channel | DMA channel to stop (0 - 15) |