EFM32 Giant Gecko Software Documentation  efm32gg-doc-5.1.2
em_dma.c File Reference

Detailed Description

Direct memory access (DMA) module peripheral API.

Version
5.1.2

License

Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no obligation to support this Software. Silicon Labs is providing the Software "AS IS", with no express or implied warranties of any kind, including, but not limited to, any implied warranties of merchantability or fitness for any particular purpose or warranties against infringement of any proprietary rights of a third party.

Silicon Labs will not be liable for any consequential, incidental, or special damages, or any other relief, or for any claim by any third party, arising from your use of this Software.

Definition in file em_dma.c.

#include "em_dma.h"
#include "em_cmu.h"
#include "em_assert.h"
#include "em_bus.h"

Go to the source code of this file.

Functions

void DMA_ActivateAuto (unsigned int channel, bool primary, void *dst, const void *src, unsigned int nMinus1)
 Activate DMA auto-request cycle (used for memory-memory transfers). More...
 
void DMA_ActivateBasic (unsigned int channel, bool primary, bool useBurst, void *dst, const void *src, unsigned int nMinus1)
 Activate DMA basic cycle (used for memory-peripheral transfers). More...
 
void DMA_ActivatePingPong (unsigned int channel, bool useBurst, void *primDst, const void *primSrc, unsigned int primNMinus1, void *altDst, const void *altSrc, unsigned int altNMinus1)
 Activate DMA ping-pong cycle (used for memory-peripheral transfers). More...
 
void DMA_ActivateScatterGather (unsigned int channel, bool useBurst, DMA_DESCRIPTOR_TypeDef *altDescr, unsigned int count)
 Activate DMA scatter-gather cycle (used for either memory-peripheral or memory-memory transfers). More...
 
void DMA_CfgChannel (unsigned int channel, DMA_CfgChannel_TypeDef *cfg)
 Configure a DMA channel. More...
 
void DMA_CfgDescr (unsigned int channel, bool primary, DMA_CfgDescr_TypeDef *cfg)
 Configure DMA descriptor for auto-request, basic or ping-pong DMA cycles. More...
 
void DMA_CfgDescrScatterGather (DMA_DESCRIPTOR_TypeDef *descr, unsigned int indx, DMA_CfgDescrSGAlt_TypeDef *cfg)
 Configure an alternate DMA descriptor for use with scatter-gather DMA cycles. More...
 
void DMA_CfgLoop (unsigned int channel, DMA_CfgLoop_TypeDef *cfg)
 Configure DMA channel for Loop mode or 2D transfer. More...
 
void DMA_CfgRect (unsigned int channel, DMA_CfgRect_TypeDef *cfg)
 Configure DMA channel 2D transfer properties. More...
 
void DMA_ChannelEnable (unsigned int channel, bool enable)
 Enable or disable a DMA channel. More...
 
bool DMA_ChannelEnabled (unsigned int channel)
 Check if DMA channel is enabled. More...
 
void DMA_ChannelRequestEnable (unsigned int channel, bool enable)
 Enable or disable a DMA channel request. More...
 
void DMA_Init (DMA_Init_TypeDef *init)
 Initializes DMA controller. More...
 
void DMA_IRQHandler (void)
 Interrupt handler for DMA cycle completion handling. More...
 
void DMA_RefreshPingPong (unsigned int channel, bool primary, bool useBurst, void *dst, const void *src, unsigned int nMinus1, bool stop)
 Refresh a descriptor used in a DMA ping-pong cycle. More...
 
void DMA_Reset (void)
 Reset the DMA controller. More...