BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
dma1.h
Go to the documentation of this file.
1 #ifndef DMA1_H
2 #define DMA1_H
3 
4 #define DMA1_nXDREQ1 0
5 #define DMA1_UART1 1
6 #define DMA1_IISSDI 2
7 #define DMA1_SPI0 3
8 #define DMA1_USBD_EP2 4
9 
10 #define DMA1_TRIGGER_HW 0
11 #define DMA1_TRIGGER_SW 1
12 
13 // DISRCC, DIDSTC parameters
14 #define DMA1_SRC_LOC_APB 0x02
15 #define DMA1_SRC_LOC_AHB 0x00
16 #define DMA1_SRC_ADDR_FIXED 0x01
17 #define DMA1_SRC_ADDR_INC 0x00
18 #define DMA1_DST_LOC_APB 0x02
19 #define DMA1_DST_LOC_AHB 0x00
20 #define DMA1_DST_ADDR_FIXED 0x01
21 #define DMA1_DST_ADDR_INC 0x00
22 // DCON paramaters
23 #define DMA1_HANDSHAKE_MODE 0x80000000 //[31]
24 #define DMA1_DEMAND_MODE 0x00000000
25 #define DMA1_SYNC_AHB 0x40000000 //[30]
26 #define DMA1_SYNC_APB 0x00000000
27 #define DMA1_DONE_GEN_INT 0x20000000 //[29]
28 #define DMA1_DONE_NO_INT 0x00000000
29 #define DMA1_TSZ_BURST 0x10000000 //[28]
30 #define DMA1_TSZ_UNIT 0x00000000
31 #define DMA1_WHOLE_SVC 0x08000000 //[27]
32 #define DMA1_SINGLE_SVC 0x00000000
33 #define DMA1_HW_TRIG 0x00800000 //[23]
34 #define DMA1_SW_TRIG 0x00000000
35 #define DMA1_RELOAD_OFF 0x00400000 //[22]
36 #define DMA1_RELOAD_ON 0x00000000
37 #define DMA1_DSZ_8b 0x00000000
38 #define DMA1_DSZ_16b 0x00100000
39 #define DMA1_DSZ_32b 0x00200000 //[21:20]
40 
41 typedef struct{
42  volatile U32 DISRC; //0x0
43  volatile U32 DISRCC; //0x4
44  volatile U32 DIDST; //0x8
45  volatile U32 DIDSTC; //0xc
46  volatile U32 DCON; //0x10
47  volatile U32 DSTAT; //0x14
48  volatile U32 DCSRC; //0x18
49  volatile U32 DCDST; //0x1c
50  volatile U32 DMASKTRIG; //0x20
52 
53 typedef struct{
65 
66 extern DMA1_CONTROL Dma1Ctrl;
67 
68 extern void F_Dma1Init(void);
69 extern void F_Dma1Svc(void);
70 extern INT8U F_Dma1InUseCheck(void);
71 extern INT8U F_Dma1Allocate(INT16U UserId);
72 extern INT8U F_Dma1Release(INT16U UserId);
73 extern INT8U F_Dma1Reset(INT16U UserId);
74 extern INT8U F_Dma1Request(INT16U UserId);
75 extern INT8U F_Dma1Start(INT16U UserId);
76 extern INT8U F_Dma1Stop(INT16U UserId);
77 extern INT8U F_Dma1Run(INT16U UserId);
78 extern INT8U F_Dma1DisrcSet(INT16U UserId,INT32U InitialSource);
79 extern INT8U F_Dma1DidstSet(INT16U UserId,INT32U InitialDestination);
80 extern INT8U F_Dma1DisrccSet(INT16U UserId,INT32U InitialSourceCtrl);
81 extern INT8U F_Dma1DidstcSet(INT16U UserId,INT32U InitialDestinationCtrl);
82 extern INT8U F_Dma1DconSet(INT16U UserId,INT32U DmaControl);
83 extern INT8U F_Dma1LengthSet(INT16U UserId,INT32U Length);
84 extern INT8U F_Dma1TriggerModeSet(INT16U UserId,INT8U TriggerMode);
85 extern INT32U F_Dma1StatusRegisterGet(void);
86 extern INT8U F_Dma1IsrHookFunctionSet(INT16U UserId,INT32U Function);
87 extern INT8U F_Dma1DisrcSetIsr(INT16U UserId,INT32U InitialSource);
88 extern INT8U F_Dma1DidstSetIsr(INT16U UserId,INT32U InitialDestination);
89 extern INT8U F_Dma1LengthSetIsr(INT16U UserId,INT32U Length);
90 extern INT8U F_Dma1StartIsr(INT16U UserId);
91 
92 #endif