1 /* USER CODE BEGIN Header */
2 /**
3 ******************************************************************************
4 * File Name : stm32f4xx_hal_msp.c
5 * Description : This file provides code for the MSP Initialization
6 * and de-Initialization codes.
7 ******************************************************************************
8 ** This notice applies to any and all portions of this file
9 * that are not between comment pairs USER CODE BEGIN and
10 * USER CODE END. Other portions of this file, whether
11 * inserted by the user or by software development tools
12 * are owned by their respective copyright owners.
13 *
14 * COPYRIGHT(c) 2018 STMicroelectronics
15 *
16 * Redistribution and use in source and binary forms, with or without modification,
17 * are permitted provided that the following conditions are met:
18 * 1. Redistributions of source code must retain the above copyright notice,
19 * this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright notice,
21 * this list of conditions and the following disclaimer in the documentation
22 * and/or other materials provided with the distribution.
23 * 3. Neither the name of STMicroelectronics nor the names of its contributors
24 * may be used to endorse or promote products derived from this software
25 * without specific prior written permission.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 *
38 ******************************************************************************
39 */
40 /* USER CODE END Header */
41
42 /* Includes ------------------------------------------------------------------*/
43 #include "main.h"
44 /* USER CODE BEGIN Includes */
45 #include <drv_common.h>
46 /* USER CODE END Includes */
47
48 /* Private typedef -----------------------------------------------------------*/
49 /* USER CODE BEGIN TD */
50
51 /* USER CODE END TD */
52
53 /* Private define ------------------------------------------------------------*/
54 /* USER CODE BEGIN Define */
55
56 /* USER CODE END Define */
57
58 /* Private macro -------------------------------------------------------------*/
59 /* USER CODE BEGIN Macro */
60
61 /* USER CODE END Macro */
62
63 /* Private variables ---------------------------------------------------------*/
64 /* USER CODE BEGIN PV */
65
66 /* USER CODE END PV */
67
68 /* Private function prototypes -----------------------------------------------*/
69 /* USER CODE BEGIN PFP */
70
71 /* USER CODE END PFP */
72
73 /* External functions --------------------------------------------------------*/
74 /* USER CODE BEGIN ExternalFunctions */
75
76 /* USER CODE END ExternalFunctions */
77
78 /* USER CODE BEGIN 0 */
79
80 /* USER CODE END 0 */
81
82 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
83 /**
84 * Initializes the Global MSP.
85 */
HAL_MspInit(void)86 void HAL_MspInit(void)
87 {
88 /* USER CODE BEGIN MspInit 0 */
89
90 /* USER CODE END MspInit 0 */
91
92 __HAL_RCC_SYSCFG_CLK_ENABLE();
93 __HAL_RCC_PWR_CLK_ENABLE();
94
95 /* System interrupt init*/
96
97 /* USER CODE BEGIN MspInit 1 */
98
99 /* USER CODE END MspInit 1 */
100 }
101
102 /**
103 * @brief ADC MSP Initialization
104 * This function configures the hardware resources used in this example
105 * @param hadc: ADC handle pointer
106 * @retval None
107 */
HAL_ADC_MspInit(ADC_HandleTypeDef * hadc)108 void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
109 {
110
111 GPIO_InitTypeDef GPIO_InitStruct = {0};
112 if(hadc->Instance==ADC1)
113 {
114 /* USER CODE BEGIN ADC1_MspInit 0 */
115
116 /* USER CODE END ADC1_MspInit 0 */
117 /* Peripheral clock enable */
118 __HAL_RCC_ADC1_CLK_ENABLE();
119
120 __HAL_RCC_GPIOC_CLK_ENABLE();
121 /**ADC1 GPIO Configuration
122 PC3 ------> ADC1_IN13
123 */
124 GPIO_InitStruct.Pin = GPIO_PIN_3;
125 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
126 GPIO_InitStruct.Pull = GPIO_NOPULL;
127 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
128
129 /* USER CODE BEGIN ADC1_MspInit 1 */
130
131 /* USER CODE END ADC1_MspInit 1 */
132 }
133
134 }
135
136 /**
137 * @brief ADC MSP De-Initialization
138 * This function freeze the hardware resources used in this example
139 * @param hadc: ADC handle pointer
140 * @retval None
141 */
142
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)143 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
144 {
145
146 if(hadc->Instance==ADC1)
147 {
148 /* USER CODE BEGIN ADC1_MspDeInit 0 */
149
150 /* USER CODE END ADC1_MspDeInit 0 */
151 /* Peripheral clock disable */
152 __HAL_RCC_ADC1_CLK_DISABLE();
153
154 /**ADC1 GPIO Configuration
155 PC3 ------> ADC1_IN13
156 */
157 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_3);
158
159 /* USER CODE BEGIN ADC1_MspDeInit 1 */
160
161 /* USER CODE END ADC1_MspDeInit 1 */
162 }
163
164 }
165
166 /**
167 * @brief DMA2D MSP Initialization
168 * This function configures the hardware resources used in this example
169 * @param hdma2d: DMA2D handle pointer
170 * @retval None
171 */
HAL_DMA2D_MspInit(DMA2D_HandleTypeDef * hdma2d)172 void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)
173 {
174
175 if(hdma2d->Instance==DMA2D)
176 {
177 /* USER CODE BEGIN DMA2D_MspInit 0 */
178
179 /* USER CODE END DMA2D_MspInit 0 */
180 /* Peripheral clock enable */
181 __HAL_RCC_DMA2D_CLK_ENABLE();
182 /* USER CODE BEGIN DMA2D_MspInit 1 */
183
184 /* USER CODE END DMA2D_MspInit 1 */
185 }
186
187 }
188
189 /**
190 * @brief DMA2D MSP De-Initialization
191 * This function freeze the hardware resources used in this example
192 * @param hdma2d: DMA2D handle pointer
193 * @retval None
194 */
195
HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef * hdma2d)196 void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
197 {
198
199 if(hdma2d->Instance==DMA2D)
200 {
201 /* USER CODE BEGIN DMA2D_MspDeInit 0 */
202
203 /* USER CODE END DMA2D_MspDeInit 0 */
204 /* Peripheral clock disable */
205 __HAL_RCC_DMA2D_CLK_DISABLE();
206 /* USER CODE BEGIN DMA2D_MspDeInit 1 */
207
208 /* USER CODE END DMA2D_MspDeInit 1 */
209 }
210
211 }
212
213 /**
214 * @brief ETH MSP Initialization
215 * This function configures the hardware resources used in this example
216 * @param heth: ETH handle pointer
217 * @retval None
218 */
HAL_ETH_MspInit(ETH_HandleTypeDef * heth)219 void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
220 {
221
222 GPIO_InitTypeDef GPIO_InitStruct = {0};
223 if(heth->Instance==ETH)
224 {
225 /* USER CODE BEGIN ETH_MspInit 0 */
226
227 /* USER CODE END ETH_MspInit 0 */
228 /* Peripheral clock enable */
229 __HAL_RCC_ETH_CLK_ENABLE();
230
231 __HAL_RCC_GPIOC_CLK_ENABLE();
232 __HAL_RCC_GPIOA_CLK_ENABLE();
233 __HAL_RCC_GPIOB_CLK_ENABLE();
234 __HAL_RCC_GPIOG_CLK_ENABLE();
235 /**ETH GPIO Configuration
236 PC1 ------> ETH_MDC
237 PA1 ------> ETH_REF_CLK
238 PA2 ------> ETH_MDIO
239 PA7 ------> ETH_CRS_DV
240 PC4 ------> ETH_RXD0
241 PC5 ------> ETH_RXD1
242 PB11 ------> ETH_TX_EN
243 PG13 ------> ETH_TXD0
244 PG14 ------> ETH_TXD1
245 */
246 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
247 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
248 GPIO_InitStruct.Pull = GPIO_NOPULL;
249 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
250 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
251 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
252
253 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
254 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
255 GPIO_InitStruct.Pull = GPIO_NOPULL;
256 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
257 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
258 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
259
260 GPIO_InitStruct.Pin = GPIO_PIN_11;
261 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
262 GPIO_InitStruct.Pull = GPIO_NOPULL;
263 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
264 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
265 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
266
267 GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14;
268 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
269 GPIO_InitStruct.Pull = GPIO_NOPULL;
270 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
271 GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
272 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
273
274 /* USER CODE BEGIN ETH_MspInit 1 */
275
276 /* USER CODE END ETH_MspInit 1 */
277 }
278
279 }
280
281 /**
282 * @brief ETH MSP De-Initialization
283 * This function freeze the hardware resources used in this example
284 * @param heth: ETH handle pointer
285 * @retval None
286 */
287
HAL_ETH_MspDeInit(ETH_HandleTypeDef * heth)288 void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
289 {
290
291 if(heth->Instance==ETH)
292 {
293 /* USER CODE BEGIN ETH_MspDeInit 0 */
294
295 /* USER CODE END ETH_MspDeInit 0 */
296 /* Peripheral clock disable */
297 __HAL_RCC_ETH_CLK_DISABLE();
298
299 /**ETH GPIO Configuration
300 PC1 ------> ETH_MDC
301 PA1 ------> ETH_REF_CLK
302 PA2 ------> ETH_MDIO
303 PA7 ------> ETH_CRS_DV
304 PC4 ------> ETH_RXD0
305 PC5 ------> ETH_RXD1
306 PB11 ------> ETH_TX_EN
307 PG13 ------> ETH_TXD0
308 PG14 ------> ETH_TXD1
309 */
310 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
311
312 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
313
314 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11);
315
316 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_13|GPIO_PIN_14);
317
318 /* USER CODE BEGIN ETH_MspDeInit 1 */
319
320 /* USER CODE END ETH_MspDeInit 1 */
321 }
322
323 }
324
325 /**
326 * @brief LTDC MSP Initialization
327 * This function configures the hardware resources used in this example
328 * @param hltdc: LTDC handle pointer
329 * @retval None
330 */
HAL_LTDC_MspInit(LTDC_HandleTypeDef * hltdc)331 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
332 {
333
334 GPIO_InitTypeDef GPIO_InitStruct = {0};
335 if(hltdc->Instance==LTDC)
336 {
337 /* USER CODE BEGIN LTDC_MspInit 0 */
338
339 /* USER CODE END LTDC_MspInit 0 */
340 /* Peripheral clock enable */
341 __HAL_RCC_LTDC_CLK_ENABLE();
342
343 __HAL_RCC_GPIOE_CLK_ENABLE();
344 __HAL_RCC_GPIOI_CLK_ENABLE();
345 __HAL_RCC_GPIOF_CLK_ENABLE();
346 __HAL_RCC_GPIOH_CLK_ENABLE();
347 __HAL_RCC_GPIOA_CLK_ENABLE();
348 __HAL_RCC_GPIOB_CLK_ENABLE();
349 __HAL_RCC_GPIOG_CLK_ENABLE();
350 __HAL_RCC_GPIOC_CLK_ENABLE();
351 __HAL_RCC_GPIOD_CLK_ENABLE();
352 /**LTDC GPIO Configuration
353 PE4 ------> LTDC_B0
354 PE5 ------> LTDC_G0
355 PE6 ------> LTDC_G1
356 PI9 ------> LTDC_VSYNC
357 PI10 ------> LTDC_HSYNC
358 PF10 ------> LTDC_DE
359 PH2 ------> LTDC_R0
360 PH3 ------> LTDC_R1
361 PA3 ------> LTDC_B5
362 PB0 ------> LTDC_R3
363 PB1 ------> LTDC_R6
364 PH8 ------> LTDC_R2
365 PG6 ------> LTDC_R7
366 PG7 ------> LTDC_CLK
367 PC7 ------> LTDC_G6
368 PA11 ------> LTDC_R4
369 PA12 ------> LTDC_R5
370 PH13 ------> LTDC_G2
371 PH15 ------> LTDC_G4
372 PI0 ------> LTDC_G5
373 PI2 ------> LTDC_G7
374 PD6 ------> LTDC_B2
375 PG10 ------> LTDC_G3
376 PG11 ------> LTDC_B3
377 PG12 ------> LTDC_B1
378 PB8 ------> LTDC_B6
379 PB9 ------> LTDC_B7
380 PI4 ------> LTDC_B4
381 */
382 GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
383 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
384 GPIO_InitStruct.Pull = GPIO_NOPULL;
385 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
386 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
387 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
388
389 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_2
390 |GPIO_PIN_4;
391 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
392 GPIO_InitStruct.Pull = GPIO_NOPULL;
393 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
394 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
395 HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
396
397 GPIO_InitStruct.Pin = GPIO_PIN_10;
398 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
399 GPIO_InitStruct.Pull = GPIO_NOPULL;
400 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
401 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
402 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
403
404 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_13
405 |GPIO_PIN_15;
406 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
407 GPIO_InitStruct.Pull = GPIO_NOPULL;
408 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
409 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
410 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
411
412 GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12;
413 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
414 GPIO_InitStruct.Pull = GPIO_NOPULL;
415 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
416 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
417 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
418
419 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
420 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
421 GPIO_InitStruct.Pull = GPIO_NOPULL;
422 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
423 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
424 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
425
426 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_11|GPIO_PIN_12;
427 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
428 GPIO_InitStruct.Pull = GPIO_NOPULL;
429 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
430 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
431 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
432
433 GPIO_InitStruct.Pin = GPIO_PIN_7;
434 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
435 GPIO_InitStruct.Pull = GPIO_NOPULL;
436 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
437 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
438 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
439
440 GPIO_InitStruct.Pin = GPIO_PIN_6;
441 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
442 GPIO_InitStruct.Pull = GPIO_NOPULL;
443 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
444 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
445 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
446
447 GPIO_InitStruct.Pin = GPIO_PIN_10;
448 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
449 GPIO_InitStruct.Pull = GPIO_NOPULL;
450 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
451 GPIO_InitStruct.Alternate = GPIO_AF9_LTDC;
452 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
453
454 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
455 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
456 GPIO_InitStruct.Pull = GPIO_NOPULL;
457 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
458 GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
459 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
460
461 /* USER CODE BEGIN LTDC_MspInit 1 */
462
463 /* USER CODE END LTDC_MspInit 1 */
464 }
465
466 }
467
468 /**
469 * @brief LTDC MSP De-Initialization
470 * This function freeze the hardware resources used in this example
471 * @param hltdc: LTDC handle pointer
472 * @retval None
473 */
474
HAL_LTDC_MspDeInit(LTDC_HandleTypeDef * hltdc)475 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
476 {
477
478 if(hltdc->Instance==LTDC)
479 {
480 /* USER CODE BEGIN LTDC_MspDeInit 0 */
481
482 /* USER CODE END LTDC_MspDeInit 0 */
483 /* Peripheral clock disable */
484 __HAL_RCC_LTDC_CLK_DISABLE();
485
486 /**LTDC GPIO Configuration
487 PE4 ------> LTDC_B0
488 PE5 ------> LTDC_G0
489 PE6 ------> LTDC_G1
490 PI9 ------> LTDC_VSYNC
491 PI10 ------> LTDC_HSYNC
492 PF10 ------> LTDC_DE
493 PH2 ------> LTDC_R0
494 PH3 ------> LTDC_R1
495 PA3 ------> LTDC_B5
496 PB0 ------> LTDC_R3
497 PB1 ------> LTDC_R6
498 PH8 ------> LTDC_R2
499 PG6 ------> LTDC_R7
500 PG7 ------> LTDC_CLK
501 PC7 ------> LTDC_G6
502 PA11 ------> LTDC_R4
503 PA12 ------> LTDC_R5
504 PH13 ------> LTDC_G2
505 PH15 ------> LTDC_G4
506 PI0 ------> LTDC_G5
507 PI2 ------> LTDC_G7
508 PD6 ------> LTDC_B2
509 PG10 ------> LTDC_G3
510 PG11 ------> LTDC_B3
511 PG12 ------> LTDC_B1
512 PB8 ------> LTDC_B6
513 PB9 ------> LTDC_B7
514 PI4 ------> LTDC_B4
515 */
516 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);
517
518 HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_2
519 |GPIO_PIN_4);
520
521 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_10);
522
523 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_13
524 |GPIO_PIN_15);
525
526 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12);
527
528 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_8|GPIO_PIN_9);
529
530 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_11
531 |GPIO_PIN_12);
532
533 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7);
534
535 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_6);
536
537 /* USER CODE BEGIN LTDC_MspDeInit 1 */
538
539 /* USER CODE END LTDC_MspDeInit 1 */
540 }
541
542 }
543
544 /**
545 * @brief RTC MSP Initialization
546 * This function configures the hardware resources used in this example
547 * @param hrtc: RTC handle pointer
548 * @retval None
549 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)550 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
551 {
552
553 if(hrtc->Instance==RTC)
554 {
555 /* USER CODE BEGIN RTC_MspInit 0 */
556
557 /* USER CODE END RTC_MspInit 0 */
558 /* Peripheral clock enable */
559 __HAL_RCC_RTC_ENABLE();
560 /* USER CODE BEGIN RTC_MspInit 1 */
561
562 /* USER CODE END RTC_MspInit 1 */
563 }
564
565 }
566
567 /**
568 * @brief RTC MSP De-Initialization
569 * This function freeze the hardware resources used in this example
570 * @param hrtc: RTC handle pointer
571 * @retval None
572 */
573
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)574 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
575 {
576
577 if(hrtc->Instance==RTC)
578 {
579 /* USER CODE BEGIN RTC_MspDeInit 0 */
580
581 /* USER CODE END RTC_MspDeInit 0 */
582 /* Peripheral clock disable */
583 __HAL_RCC_RTC_DISABLE();
584 /* USER CODE BEGIN RTC_MspDeInit 1 */
585
586 /* USER CODE END RTC_MspDeInit 1 */
587 }
588
589 }
590
591 /**
592 * @brief SD MSP Initialization
593 * This function configures the hardware resources used in this example
594 * @param hsd: SD handle pointer
595 * @retval None
596 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)597 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
598 {
599
600 GPIO_InitTypeDef GPIO_InitStruct = {0};
601 if(hsd->Instance==SDIO)
602 {
603 /* USER CODE BEGIN SDIO_MspInit 0 */
604
605 /* USER CODE END SDIO_MspInit 0 */
606 /* Peripheral clock enable */
607 __HAL_RCC_SDIO_CLK_ENABLE();
608
609 __HAL_RCC_GPIOC_CLK_ENABLE();
610 __HAL_RCC_GPIOD_CLK_ENABLE();
611 /**SDIO GPIO Configuration
612 PC8 ------> SDIO_D0
613 PC9 ------> SDIO_D1
614 PC10 ------> SDIO_D2
615 PC11 ------> SDIO_D3
616 PC12 ------> SDIO_CK
617 PD2 ------> SDIO_CMD
618 */
619 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
620 |GPIO_PIN_12;
621 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
622 GPIO_InitStruct.Pull = GPIO_NOPULL;
623 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
624 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
625 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
626
627 GPIO_InitStruct.Pin = GPIO_PIN_2;
628 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
629 GPIO_InitStruct.Pull = GPIO_NOPULL;
630 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
631 GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
632 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
633
634 /* USER CODE BEGIN SDIO_MspInit 1 */
635
636 /* USER CODE END SDIO_MspInit 1 */
637 }
638
639 }
640
641 /**
642 * @brief SD MSP De-Initialization
643 * This function freeze the hardware resources used in this example
644 * @param hsd: SD handle pointer
645 * @retval None
646 */
647
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)648 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
649 {
650
651 if(hsd->Instance==SDIO)
652 {
653 /* USER CODE BEGIN SDIO_MspDeInit 0 */
654
655 /* USER CODE END SDIO_MspDeInit 0 */
656 /* Peripheral clock disable */
657 __HAL_RCC_SDIO_CLK_DISABLE();
658
659 /**SDIO GPIO Configuration
660 PC8 ------> SDIO_D0
661 PC9 ------> SDIO_D1
662 PC10 ------> SDIO_D2
663 PC11 ------> SDIO_D3
664 PC12 ------> SDIO_CK
665 PD2 ------> SDIO_CMD
666 */
667 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
668 |GPIO_PIN_12);
669
670 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
671
672 /* USER CODE BEGIN SDIO_MspDeInit 1 */
673
674 /* USER CODE END SDIO_MspDeInit 1 */
675 }
676
677 }
678
679 /**
680 * @brief SPI MSP Initialization
681 * This function configures the hardware resources used in this example
682 * @param hspi: SPI handle pointer
683 * @retval None
684 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)685 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
686 {
687
688 GPIO_InitTypeDef GPIO_InitStruct = {0};
689 if(hspi->Instance==SPI5)
690 {
691 /* USER CODE BEGIN SPI5_MspInit 0 */
692
693 /* USER CODE END SPI5_MspInit 0 */
694 /* Peripheral clock enable */
695 __HAL_RCC_SPI5_CLK_ENABLE();
696
697 __HAL_RCC_GPIOF_CLK_ENABLE();
698 /**SPI5 GPIO Configuration
699 PF7 ------> SPI5_SCK
700 PF8 ------> SPI5_MISO
701 PF9 ------> SPI5_MOSI
702 */
703 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;
704 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
705 GPIO_InitStruct.Pull = GPIO_NOPULL;
706 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
707 GPIO_InitStruct.Alternate = GPIO_AF5_SPI5;
708 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
709
710 /* USER CODE BEGIN SPI5_MspInit 1 */
711
712 /* USER CODE END SPI5_MspInit 1 */
713 }
714
715 }
716
717 /**
718 * @brief SPI MSP De-Initialization
719 * This function freeze the hardware resources used in this example
720 * @param hspi: SPI handle pointer
721 * @retval None
722 */
723
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)724 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
725 {
726
727 if(hspi->Instance==SPI5)
728 {
729 /* USER CODE BEGIN SPI5_MspDeInit 0 */
730
731 /* USER CODE END SPI5_MspDeInit 0 */
732 /* Peripheral clock disable */
733 __HAL_RCC_SPI5_CLK_DISABLE();
734
735 /**SPI5 GPIO Configuration
736 PF7 ------> SPI5_SCK
737 PF8 ------> SPI5_MISO
738 PF9 ------> SPI5_MOSI
739 */
740 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);
741
742 /* USER CODE BEGIN SPI5_MspDeInit 1 */
743
744 /* USER CODE END SPI5_MspDeInit 1 */
745 }
746
747 }
748
749 /**
750 * @brief TIM_Base MSP Initialization
751 * This function configures the hardware resources used in this example
752 * @param htim_base: TIM_Base handle pointer
753 * @retval None
754 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)755 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
756 {
757
758 if(htim_base->Instance==TIM5)
759 {
760 /* USER CODE BEGIN TIM5_MspInit 0 */
761
762 /* USER CODE END TIM5_MspInit 0 */
763 /* Peripheral clock enable */
764 __HAL_RCC_TIM5_CLK_ENABLE();
765 /* USER CODE BEGIN TIM5_MspInit 1 */
766
767 /* USER CODE END TIM5_MspInit 1 */
768 }
769 else if(htim_base->Instance==TIM11)
770 {
771 /* USER CODE BEGIN TIM11_MspInit 0 */
772
773 /* USER CODE END TIM11_MspInit 0 */
774 /* Peripheral clock enable */
775 __HAL_RCC_TIM11_CLK_ENABLE();
776 /* USER CODE BEGIN TIM11_MspInit 1 */
777
778 /* USER CODE END TIM11_MspInit 1 */
779 }
780 else if(htim_base->Instance==TIM13)
781 {
782 /* USER CODE BEGIN TIM13_MspInit 0 */
783
784 /* USER CODE END TIM13_MspInit 0 */
785 /* Peripheral clock enable */
786 __HAL_RCC_TIM13_CLK_ENABLE();
787 /* USER CODE BEGIN TIM13_MspInit 1 */
788
789 /* USER CODE END TIM13_MspInit 1 */
790 }
791 else if(htim_base->Instance==TIM14)
792 {
793 /* USER CODE BEGIN TIM14_MspInit 0 */
794
795 /* USER CODE END TIM14_MspInit 0 */
796 /* Peripheral clock enable */
797 __HAL_RCC_TIM14_CLK_ENABLE();
798 /* USER CODE BEGIN TIM14_MspInit 1 */
799
800 /* USER CODE END TIM14_MspInit 1 */
801 }
802
803 }
804
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)805 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
806 {
807
808 GPIO_InitTypeDef GPIO_InitStruct = {0};
809 if(htim->Instance==TIM5)
810 {
811 /* USER CODE BEGIN TIM5_MspPostInit 0 */
812
813 /* USER CODE END TIM5_MspPostInit 0 */
814
815 __HAL_RCC_GPIOH_CLK_ENABLE();
816 /**TIM5 GPIO Configuration
817 PH10 ------> TIM5_CH1
818 PH11 ------> TIM5_CH2
819 PH12 ------> TIM5_CH3
820 */
821 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
822 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
823 GPIO_InitStruct.Pull = GPIO_NOPULL;
824 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
825 GPIO_InitStruct.Alternate = GPIO_AF2_TIM5;
826 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
827
828 /* USER CODE BEGIN TIM5_MspPostInit 1 */
829
830 /* USER CODE END TIM5_MspPostInit 1 */
831 }
832
833 }
834 /**
835 * @brief TIM_Base MSP De-Initialization
836 * This function freeze the hardware resources used in this example
837 * @param htim_base: TIM_Base handle pointer
838 * @retval None
839 */
840
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)841 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
842 {
843
844 if(htim_base->Instance==TIM5)
845 {
846 /* USER CODE BEGIN TIM5_MspDeInit 0 */
847
848 /* USER CODE END TIM5_MspDeInit 0 */
849 /* Peripheral clock disable */
850 __HAL_RCC_TIM5_CLK_DISABLE();
851 /* USER CODE BEGIN TIM5_MspDeInit 1 */
852
853 /* USER CODE END TIM5_MspDeInit 1 */
854 }
855 else if(htim_base->Instance==TIM11)
856 {
857 /* USER CODE BEGIN TIM11_MspDeInit 0 */
858
859 /* USER CODE END TIM11_MspDeInit 0 */
860 /* Peripheral clock disable */
861 __HAL_RCC_TIM11_CLK_DISABLE();
862 /* USER CODE BEGIN TIM11_MspDeInit 1 */
863
864 /* USER CODE END TIM11_MspDeInit 1 */
865 }
866 else if(htim_base->Instance==TIM13)
867 {
868 /* USER CODE BEGIN TIM13_MspDeInit 0 */
869
870 /* USER CODE END TIM13_MspDeInit 0 */
871 /* Peripheral clock disable */
872 __HAL_RCC_TIM13_CLK_DISABLE();
873 /* USER CODE BEGIN TIM13_MspDeInit 1 */
874
875 /* USER CODE END TIM13_MspDeInit 1 */
876 }
877 else if(htim_base->Instance==TIM14)
878 {
879 /* USER CODE BEGIN TIM14_MspDeInit 0 */
880
881 /* USER CODE END TIM14_MspDeInit 0 */
882 /* Peripheral clock disable */
883 __HAL_RCC_TIM14_CLK_DISABLE();
884 /* USER CODE BEGIN TIM14_MspDeInit 1 */
885
886 /* USER CODE END TIM14_MspDeInit 1 */
887 }
888
889 }
890
891 /**
892 * @brief UART MSP Initialization
893 * This function configures the hardware resources used in this example
894 * @param huart: UART handle pointer
895 * @retval None
896 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)897 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
898 {
899
900 GPIO_InitTypeDef GPIO_InitStruct = {0};
901 if(huart->Instance==USART1)
902 {
903 /* USER CODE BEGIN USART1_MspInit 0 */
904
905 /* USER CODE END USART1_MspInit 0 */
906 /* Peripheral clock enable */
907 __HAL_RCC_USART1_CLK_ENABLE();
908
909 __HAL_RCC_GPIOA_CLK_ENABLE();
910 /**USART1 GPIO Configuration
911 PA9 ------> USART1_TX
912 PA10 ------> USART1_RX
913 */
914 GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
915 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
916 GPIO_InitStruct.Pull = GPIO_PULLUP;
917 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
918 GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
919 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
920
921 /* USART1 interrupt Init */
922 HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
923 HAL_NVIC_EnableIRQ(USART1_IRQn);
924 /* USER CODE BEGIN USART1_MspInit 1 */
925
926 /* USER CODE END USART1_MspInit 1 */
927 }
928
929 }
930
931 /**
932 * @brief UART MSP De-Initialization
933 * This function freeze the hardware resources used in this example
934 * @param huart: UART handle pointer
935 * @retval None
936 */
937
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)938 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
939 {
940
941 if(huart->Instance==USART1)
942 {
943 /* USER CODE BEGIN USART1_MspDeInit 0 */
944
945 /* USER CODE END USART1_MspDeInit 0 */
946 /* Peripheral clock disable */
947 __HAL_RCC_USART1_CLK_DISABLE();
948
949 /**USART1 GPIO Configuration
950 PA9 ------> USART1_TX
951 PA10 ------> USART1_RX
952 */
953 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
954
955 /* USART1 interrupt DeInit */
956 HAL_NVIC_DisableIRQ(USART1_IRQn);
957 /* USER CODE BEGIN USART1_MspDeInit 1 */
958
959 /* USER CODE END USART1_MspDeInit 1 */
960 }
961
962 }
963
964 static uint32_t FMC_Initialized = 0;
965
HAL_FMC_MspInit(void)966 static void HAL_FMC_MspInit(void){
967 /* USER CODE BEGIN FMC_MspInit 0 */
968
969 /* USER CODE END FMC_MspInit 0 */
970 GPIO_InitTypeDef GPIO_InitStruct;
971 if (FMC_Initialized) {
972 return;
973 }
974 FMC_Initialized = 1;
975 /* Peripheral clock enable */
976 __HAL_RCC_FMC_CLK_ENABLE();
977
978 /** FMC GPIO Configuration
979 PF0 ------> FMC_A0
980 PF1 ------> FMC_A1
981 PF2 ------> FMC_A2
982 PF3 ------> FMC_A3
983 PF4 ------> FMC_A4
984 PF5 ------> FMC_A5
985 PC0 ------> FMC_SDNWE
986 PF11 ------> FMC_SDNRAS
987 PF12 ------> FMC_A6
988 PF13 ------> FMC_A7
989 PF14 ------> FMC_A8
990 PF15 ------> FMC_A9
991 PG0 ------> FMC_A10
992 PG1 ------> FMC_A11
993 PE7 ------> FMC_D4
994 PE8 ------> FMC_D5
995 PE9 ------> FMC_D6
996 PE10 ------> FMC_D7
997 PE11 ------> FMC_D8
998 PE12 ------> FMC_D9
999 PE13 ------> FMC_D10
1000 PE14 ------> FMC_D11
1001 PE15 ------> FMC_D12
1002 PH6 ------> FMC_SDNE1
1003 PH7 ------> FMC_SDCKE1
1004 PD8 ------> FMC_D13
1005 PD9 ------> FMC_D14
1006 PD10 ------> FMC_D15
1007 PD14 ------> FMC_D0
1008 PD15 ------> FMC_D1
1009 PG4 ------> FMC_BA0
1010 PG5 ------> FMC_BA1
1011 PG8 ------> FMC_SDCLK
1012 PD0 ------> FMC_D2
1013 PD1 ------> FMC_D3
1014 PG15 ------> FMC_SDNCAS
1015 PE0 ------> FMC_NBL0
1016 PE1 ------> FMC_NBL1
1017 */
1018 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1019 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
1020 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
1021 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1022 GPIO_InitStruct.Pull = GPIO_NOPULL;
1023 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1024 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1025 HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
1026
1027 GPIO_InitStruct.Pin = GPIO_PIN_0;
1028 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1029 GPIO_InitStruct.Pull = GPIO_NOPULL;
1030 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1031 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1032 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
1033
1034 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
1035 |GPIO_PIN_8|GPIO_PIN_15;
1036 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1037 GPIO_InitStruct.Pull = GPIO_NOPULL;
1038 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1039 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1040 HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
1041
1042 GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1043 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1044 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
1045 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1046 GPIO_InitStruct.Pull = GPIO_NOPULL;
1047 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1048 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1049 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
1050
1051 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
1052 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1053 GPIO_InitStruct.Pull = GPIO_NOPULL;
1054 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1055 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1056 HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
1057
1058 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1059 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
1060 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1061 GPIO_InitStruct.Pull = GPIO_NOPULL;
1062 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1063 GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1064 HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
1065
1066 /* USER CODE BEGIN FMC_MspInit 1 */
1067
1068 /* USER CODE END FMC_MspInit 1 */
1069 }
1070
HAL_SDRAM_MspInit(SDRAM_HandleTypeDef * hsdram)1071 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
1072 /* USER CODE BEGIN SDRAM_MspInit 0 */
1073
1074 /* USER CODE END SDRAM_MspInit 0 */
1075 HAL_FMC_MspInit();
1076 /* USER CODE BEGIN SDRAM_MspInit 1 */
1077
1078 /* USER CODE END SDRAM_MspInit 1 */
1079 }
1080
1081 static uint32_t FMC_DeInitialized = 0;
1082
HAL_FMC_MspDeInit(void)1083 static void HAL_FMC_MspDeInit(void){
1084 /* USER CODE BEGIN FMC_MspDeInit 0 */
1085
1086 /* USER CODE END FMC_MspDeInit 0 */
1087 if (FMC_DeInitialized) {
1088 return;
1089 }
1090 FMC_DeInitialized = 1;
1091 /* Peripheral clock enable */
1092 __HAL_RCC_FMC_CLK_DISABLE();
1093
1094 /** FMC GPIO Configuration
1095 PF0 ------> FMC_A0
1096 PF1 ------> FMC_A1
1097 PF2 ------> FMC_A2
1098 PF3 ------> FMC_A3
1099 PF4 ------> FMC_A4
1100 PF5 ------> FMC_A5
1101 PC0 ------> FMC_SDNWE
1102 PF11 ------> FMC_SDNRAS
1103 PF12 ------> FMC_A6
1104 PF13 ------> FMC_A7
1105 PF14 ------> FMC_A8
1106 PF15 ------> FMC_A9
1107 PG0 ------> FMC_A10
1108 PG1 ------> FMC_A11
1109 PE7 ------> FMC_D4
1110 PE8 ------> FMC_D5
1111 PE9 ------> FMC_D6
1112 PE10 ------> FMC_D7
1113 PE11 ------> FMC_D8
1114 PE12 ------> FMC_D9
1115 PE13 ------> FMC_D10
1116 PE14 ------> FMC_D11
1117 PE15 ------> FMC_D12
1118 PH6 ------> FMC_SDNE1
1119 PH7 ------> FMC_SDCKE1
1120 PD8 ------> FMC_D13
1121 PD9 ------> FMC_D14
1122 PD10 ------> FMC_D15
1123 PD14 ------> FMC_D0
1124 PD15 ------> FMC_D1
1125 PG4 ------> FMC_BA0
1126 PG5 ------> FMC_BA1
1127 PG8 ------> FMC_SDCLK
1128 PD0 ------> FMC_D2
1129 PD1 ------> FMC_D3
1130 PG15 ------> FMC_SDNCAS
1131 PE0 ------> FMC_NBL0
1132 PE1 ------> FMC_NBL1
1133 */
1134 HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1135 |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
1136 |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
1137
1138 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
1139
1140 HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
1141 |GPIO_PIN_8|GPIO_PIN_15);
1142
1143 HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1144 |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1145 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
1146
1147 HAL_GPIO_DeInit(GPIOH, GPIO_PIN_6|GPIO_PIN_7);
1148
1149 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1150 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
1151
1152 /* USER CODE BEGIN FMC_MspDeInit 1 */
1153
1154 /* USER CODE END FMC_MspDeInit 1 */
1155 }
1156
HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef * hsdram)1157 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
1158 /* USER CODE BEGIN SDRAM_MspDeInit 0 */
1159
1160 /* USER CODE END SDRAM_MspDeInit 0 */
1161 HAL_FMC_MspDeInit();
1162 /* USER CODE BEGIN SDRAM_MspDeInit 1 */
1163
1164 /* USER CODE END SDRAM_MspDeInit 1 */
1165 }
1166
1167 /* USER CODE BEGIN 1 */
1168
1169 /* USER CODE END 1 */
1170
1171 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1172