Question

How to handle DMA interrupt in emlib?

Answer

For EFM32 Series 0 (em_dma.c):

  • DMA_Init() enables the DMA interrupt by default
  • The file includes the DMA_IRQHandler() and custom DMA IRQ handler is not required
  • To implement a custom DMA IRQ handler or run without a DMA IRQ handler, the user can define EXCLUDE_DEFAULT_DMA_IRQ_HANDLER with a #define statement or with the compiler option -D

For EFM32 Series 1 (em_ldma.c):

  • LDMA_Init() enables the LDMA interrupt by default
  • A custom LDMA IRQ handler is required
  • The file includes the LDMA_IRQHandler() template, the user can define LDMA_IRQ_HANDLER_TEMPLATE with a #define statement or with the compiler option -D to use this template

  • Knowledge Base Articles
  • 32-bit MCUs