1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
31
32
33
34
35
36
37
38
41
42
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
121
122
125
126
/* ... */
#include "main.h"
/* ... */
/* ... */
Includes
/* ... */
/* ... */
void HAL_CRYP_MspInit(CRYP_HandleTypeDef *hcryp)
{
static DMA_HandleTypeDef hdmaIn;
static DMA_HandleTypeDef hdmaOut;
__HAL_RCC_CRYP_CLK_ENABLE();
__HAL_RCC_DMA2_CLK_ENABLE();
HAL_NVIC_SetPriority(CRYP_IRQn, 4, 0);
HAL_NVIC_EnableIRQ(CRYP_IRQn);
hdmaIn.Init.Channel = DMA_CHANNEL_2;
hdmaIn.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdmaIn.Init.PeriphInc = DMA_PINC_DISABLE;
hdmaIn.Init.MemInc = DMA_MINC_ENABLE;
hdmaIn.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
hdmaIn.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
hdmaIn.Init.Mode = DMA_NORMAL;
hdmaIn.Init.Priority = DMA_PRIORITY_HIGH;
hdmaIn.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
hdmaIn.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
hdmaIn.Init.MemBurst = DMA_MBURST_SINGLE;
hdmaIn.Init.PeriphBurst = DMA_PBURST_SINGLE;
hdmaIn.Instance = DMA2_Stream6;
__HAL_LINKDMA(hcryp, hdmain, hdmaIn);
HAL_DMA_Init(hcryp->hdmain);
HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn);
Configure common DMA In parameters
hdmaOut.Init.Channel = DMA_CHANNEL_2;
hdmaOut.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdmaOut.Init.PeriphInc = DMA_PINC_DISABLE;
hdmaOut.Init.MemInc = DMA_MINC_ENABLE;
hdmaOut.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
hdmaOut.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
hdmaOut.Init.Mode = DMA_NORMAL;
hdmaOut.Init.Priority = DMA_PRIORITY_VERY_HIGH;
hdmaOut.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
hdmaOut.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
hdmaOut.Init.MemBurst = DMA_MBURST_SINGLE;
hdmaOut.Init.PeriphBurst = DMA_PBURST_SINGLE;
hdmaOut.Instance = DMA2_Stream5;
__HAL_LINKDMA(hcryp, hdmaout, hdmaOut);
HAL_DMA_Init(&hdmaOut);
HAL_NVIC_SetPriority(DMA2_Stream5_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream5_IRQn);
}{ ... }
/* ... */
/* ... */
/* ... */