no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stm32_dma.h
Go to the documentation of this file.
1/***************************************************************************/
34
35#ifndef STM32_DMA_H_
36#define STM32_DMA_H_
37
38#include "no_os_dma.h"
39#include "stm32_hal.h"
40
50
59
74
84
97
103 /* DMA Handle */
104 DMA_HandleTypeDef *hdma;
105 /* Channel Number */
106 uint32_t ch_num;
107 /* Memory Increment */
109 /* Peripheral Increment */
111 /* Memory Data Alignment */
113 /* Peripheral Data Alignment */
115 /* DMA Mode */
117 /* Trigger configuration */
119 /* Source Address for the data */
120 uint8_t* src;
121 /* Destination Address for the data */
122 uint8_t* dst;
123 /* Transfer length in Bytes */
124 uint32_t length;
125 /* Private Channel Data */
127};
128
130 /* DMA Channel descriptor */
132};
133
135 /* DMA Channel Descriptor */
137};
138
139extern const struct no_os_dma_platform_ops stm32_dma_ops;
140extern const struct no_os_dma_platform_ops stm32_gpdma_ops;
141
142#endif
143
Platform independent function definitions and data types for the DMA API.
const struct no_os_dma_platform_ops stm32_dma_ops
stm32 platform specific DMA platform ops structure
Definition stm32_dma.c:280
stm32_dma_mode
DMA Data Modes.
Definition stm32_dma.h:55
@ DMA_CIRCULAR_MODE
Definition stm32_dma.h:57
@ DMA_NORMAL_MODE
Definition stm32_dma.h:56
const struct no_os_dma_platform_ops stm32_gpdma_ops
stm32 platform specific General Purpose DMA platform ops structure
Definition stm32_gpdma.c:480
stm32_dma_trig_mode
DMA Trigger Modes.
Definition stm32_dma.h:64
@ STM32_DMA_REP_BLOCK_XFER_MODE
Definition stm32_dma.h:68
@ STM32_DMA_LLI_LINK_XFER_MODE
Definition stm32_dma.h:70
@ STM32_DMA_SINGLE_BURST_MODE
Definition stm32_dma.h:72
@ STM32_DMA_BLOCK_XFER_MODE
Definition stm32_dma.h:66
stm32_dma_data_alignment
DMA Data alignment.
Definition stm32_dma.h:45
@ DATA_ALIGN_HALF_WORD
Definition stm32_dma.h:47
@ DATA_ALIGN_BYTE
Definition stm32_dma.h:46
@ DATA_ALIGN_WORD
Definition stm32_dma.h:48
stm32_dma_trig_pol
DMA Trigger Polarity.
Definition stm32_dma.h:79
@ STM32_DMA_TRIG_RISING
Definition stm32_dma.h:81
@ STM32_DMA_TRIG_FALLING
Definition stm32_dma.h:82
@ STM32_DMA_TRIG_MASKED
Definition stm32_dma.h:80
Definition no_os_dma.h:241
STM32 DMA Channels.
Definition stm32_dma.h:102
struct stm32_dma_trigger * trig
Definition stm32_dma.h:118
bool mem_increment
Definition stm32_dma.h:108
uint8_t * dst
Definition stm32_dma.h:122
enum stm32_dma_data_alignment mem_data_alignment
Definition stm32_dma.h:112
uint8_t * src
Definition stm32_dma.h:120
void * priv_data
Definition stm32_dma.h:126
enum stm32_dma_data_alignment per_data_alignment
Definition stm32_dma.h:114
enum stm32_dma_mode dma_mode
Definition stm32_dma.h:116
DMA_HandleTypeDef * hdma
Definition stm32_dma.h:104
bool per_increment
Definition stm32_dma.h:110
uint32_t length
Definition stm32_dma.h:124
uint32_t ch_num
Definition stm32_dma.h:106
Definition stm32_dma.h:134
struct stm32_dma_channel * chn
Definition stm32_dma.h:136
Definition stm32_dma.h:129
struct stm32_dma_channel * chn
Definition stm32_dma.h:131
Trigger descriptor for triggering a DMA transfer.
Definition stm32_dma.h:89
uint32_t id
Definition stm32_dma.h:91
enum stm32_dma_trig_pol polarity
Definition stm32_dma.h:95
enum stm32_dma_trig_mode mode
Definition stm32_dma.h:93