1.2.6 DMA System Service
The DMA controller is a bus host module that is useful for data transfers between different peripherals without intervention from the CPU. The source and destination of a DMA transfer can be any of the memory-mapped modules. For example, memory or one of the Peripheral Bus (PBUS) devices, such as the SPI, UART, and so on.
Library Interface
DMA System Service provides the following interfaces.
Functions
| Name | Description |
|---|---|
| SYS_DMA_ChannelCallbackRegister | This function allows a DMA client to set an event handler |
| SYS_DMA_ChannelTransfer | Adds a data transfer to a DMA channel and enables the channel to start data transfer |
| SYS_DMA_ChannelIsBusy | Returns the busy status of a specific DMA Channel |
| SYS_DMA_ChannelDisable | Disables the specified channel |
| SYS_DMA_AddressingModeSetup | Setup addressing mode of selected DMA channel |
| SYS_DMA_DataWidthSetup | Setup data width of selected DMA channel |
Data Types and Constants
| Name | Type | Description |
|---|---|---|
| SYS_DMA_CHANNEL | Enum | This lists the set of channels available for data transfer using DMA |
| SYS_DMA_TRANSFER_EVENT | Enum | Enumeration of possible DMA transfer events |
| SYS_DMA_SOURCE_ADDRESSING_MODE | Enum | Enumeration of possible DMA source addressing modes |
| SYS_DMA_DESTINATION_ADDRESSING_MODE | Enum | Enumeration of possible DMA destination addressing modes |
| SYS_DMA_WIDTH | Enum | Enumeration of possible DMA data width |
| SYS_DMA_CHANNEL_CALLBACK | Typedef | Pointer to a DMA Transfer Event handler function |
