TM STM32Fxxx HAL Libraries  v1.0.0
Libraries for STM32Fxxx (F0, F4 and F7 series) devices based on HAL drivers from ST from Tilen Majerle

DMA library for STM32F4xx and STM32F7xx devices for several purposes - http://stm32f4-discovery.com/2016/04/hal-library-31-dma-stm32fxxx-devices. More...

Modules

 TM_DMA_Macros
 Library defines.
 
 TM_DMA_Typedefs
 Library Typedefs.
 
 TM_DMA_Functions
 Library Functions.
 

Detailed Description

DMA library for STM32F4xx and STM32F7xx devices for several purposes - http://stm32f4-discovery.com/2016/04/hal-library-31-dma-stm32fxxx-devices.

This is a generic DMA library for STM32F4xx devices.

It allows you to easily enable interrupts for DMA streams, checking flags and more.

It is also designed in a ways that all interrupts that happens are handled by this library. No worries for correct stream handler anymore!

Customization

Library implements ALL stream handlers (DMA1,2, streams 0 to 7, together is this 14 stream handlers) but some of my libraries uses default stream handler, like FATFS. FATFS uses DMA2_Stream3 for interrupts for SDIO and in my FATFS library is written function name DMA2_Stream3_IRQHandler().

DMA library also features this function and now if you use DMA library and FATFS library, you will get error for "Multiple declarations...".

To prevent this link errors, you can open defines.h configuration file and add defines like below:

//Disable DMA2 Stream3 IRQ handler for TM DMA library
#define DMA2_STREAM3_DISABLE_IRQHANDLER
//For all other DMAs and STREAMS, syntax is similar:
#define DMAx_STREAMy_DISABLE_IRQHANDLER
//Where X is 1 or 2 for DMA1 or DMA2 and y is 0 to 7 for STREAM0 to STREAM7 on specific DMA
Handling interrupts

Every stream on DMA can make 5 interrupts. My library is designed in a way that specific callback is called for each interrupt type. Check functions section for more informations.

Changelog
 Version 1.0
  - First release
Dependencies
 - STM32F4xx
 - STM32F4xx DMA
 - MISC
 - defines.h
 - attributes.h