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     PC0     ------> ADC1_IN10
123     PC3     ------> ADC1_IN13
124     */
125     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_3;
126     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
127     GPIO_InitStruct.Pull = GPIO_NOPULL;
128     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
129 
130   /* USER CODE BEGIN ADC1_MspInit 1 */
131 
132   /* USER CODE END ADC1_MspInit 1 */
133   }
134 
135 }
136 
137 /**
138 * @brief ADC MSP De-Initialization
139 * This function freeze the hardware resources used in this example
140 * @param hadc: ADC handle pointer
141 * @retval None
142 */
143 
HAL_ADC_MspDeInit(ADC_HandleTypeDef * hadc)144 void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
145 {
146 
147   if(hadc->Instance==ADC1)
148   {
149   /* USER CODE BEGIN ADC1_MspDeInit 0 */
150 
151   /* USER CODE END ADC1_MspDeInit 0 */
152     /* Peripheral clock disable */
153     __HAL_RCC_ADC1_CLK_DISABLE();
154 
155     /**ADC1 GPIO Configuration
156     PC0     ------> ADC1_IN10
157     PC3     ------> ADC1_IN13
158     */
159     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_3);
160 
161   /* USER CODE BEGIN ADC1_MspDeInit 1 */
162 
163   /* USER CODE END ADC1_MspDeInit 1 */
164   }
165 
166 }
167 
168 /**
169 * @brief DMA2D MSP Initialization
170 * This function configures the hardware resources used in this example
171 * @param hdma2d: DMA2D handle pointer
172 * @retval None
173 */
HAL_DMA2D_MspInit(DMA2D_HandleTypeDef * hdma2d)174 void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* hdma2d)
175 {
176 
177   if(hdma2d->Instance==DMA2D)
178   {
179   /* USER CODE BEGIN DMA2D_MspInit 0 */
180 
181   /* USER CODE END DMA2D_MspInit 0 */
182     /* Peripheral clock enable */
183     __HAL_RCC_DMA2D_CLK_ENABLE();
184   /* USER CODE BEGIN DMA2D_MspInit 1 */
185 
186   /* USER CODE END DMA2D_MspInit 1 */
187   }
188 
189 }
190 
191 /**
192 * @brief DMA2D MSP De-Initialization
193 * This function freeze the hardware resources used in this example
194 * @param hdma2d: DMA2D handle pointer
195 * @retval None
196 */
197 
HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef * hdma2d)198 void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef* hdma2d)
199 {
200 
201   if(hdma2d->Instance==DMA2D)
202   {
203   /* USER CODE BEGIN DMA2D_MspDeInit 0 */
204 
205   /* USER CODE END DMA2D_MspDeInit 0 */
206     /* Peripheral clock disable */
207     __HAL_RCC_DMA2D_CLK_DISABLE();
208   /* USER CODE BEGIN DMA2D_MspDeInit 1 */
209 
210   /* USER CODE END DMA2D_MspDeInit 1 */
211   }
212 
213 }
214 
215 /**
216 * @brief ETH MSP Initialization
217 * This function configures the hardware resources used in this example
218 * @param heth: ETH handle pointer
219 * @retval None
220 */
HAL_ETH_MspInit(ETH_HandleTypeDef * heth)221 void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
222 {
223 
224   GPIO_InitTypeDef GPIO_InitStruct = {0};
225   if(heth->Instance==ETH)
226   {
227   /* USER CODE BEGIN ETH_MspInit 0 */
228 
229   /* USER CODE END ETH_MspInit 0 */
230     /* Peripheral clock enable */
231     __HAL_RCC_ETH_CLK_ENABLE();
232 
233     __HAL_RCC_GPIOC_CLK_ENABLE();
234     __HAL_RCC_GPIOA_CLK_ENABLE();
235     __HAL_RCC_GPIOB_CLK_ENABLE();
236     __HAL_RCC_GPIOG_CLK_ENABLE();
237     /**ETH GPIO Configuration
238     PC1     ------> ETH_MDC
239     PA1     ------> ETH_REF_CLK
240     PA2     ------> ETH_MDIO
241     PA7     ------> ETH_CRS_DV
242     PC4     ------> ETH_RXD0
243     PC5     ------> ETH_RXD1
244     PB13     ------> ETH_TXD1
245     PG11     ------> ETH_TX_EN
246     PG13     ------> ETH_TXD0
247     */
248     GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5;
249     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
250     GPIO_InitStruct.Pull = GPIO_NOPULL;
251     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
252     GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
253     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
254 
255     GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7;
256     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
257     GPIO_InitStruct.Pull = GPIO_NOPULL;
258     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
259     GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
260     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
261 
262     GPIO_InitStruct.Pin = GPIO_PIN_13;
263     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
264     GPIO_InitStruct.Pull = GPIO_NOPULL;
265     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
266     GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
267     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
268 
269     GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13;
270     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
271     GPIO_InitStruct.Pull = GPIO_NOPULL;
272     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
273     GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
274     HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
275 
276   /* USER CODE BEGIN ETH_MspInit 1 */
277 
278   /* USER CODE END ETH_MspInit 1 */
279   }
280 
281 }
282 
283 /**
284 * @brief ETH MSP De-Initialization
285 * This function freeze the hardware resources used in this example
286 * @param heth: ETH handle pointer
287 * @retval None
288 */
289 
HAL_ETH_MspDeInit(ETH_HandleTypeDef * heth)290 void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
291 {
292 
293   if(heth->Instance==ETH)
294   {
295   /* USER CODE BEGIN ETH_MspDeInit 0 */
296 
297   /* USER CODE END ETH_MspDeInit 0 */
298     /* Peripheral clock disable */
299     __HAL_RCC_ETH_CLK_DISABLE();
300 
301     /**ETH GPIO Configuration
302     PC1     ------> ETH_MDC
303     PA1     ------> ETH_REF_CLK
304     PA2     ------> ETH_MDIO
305     PA7     ------> ETH_CRS_DV
306     PC4     ------> ETH_RXD0
307     PC5     ------> ETH_RXD1
308     PB13     ------> ETH_TXD1
309     PG11     ------> ETH_TX_EN
310     PG13     ------> ETH_TXD0
311     */
312     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5);
313 
314     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7);
315 
316     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13);
317 
318     HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_13);
319 
320   /* USER CODE BEGIN ETH_MspDeInit 1 */
321 
322   /* USER CODE END ETH_MspDeInit 1 */
323   }
324 
325 }
326 
327 /**
328 * @brief LTDC MSP Initialization
329 * This function configures the hardware resources used in this example
330 * @param hltdc: LTDC handle pointer
331 * @retval None
332 */
HAL_LTDC_MspInit(LTDC_HandleTypeDef * hltdc)333 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
334 {
335 
336   GPIO_InitTypeDef GPIO_InitStruct = {0};
337   if(hltdc->Instance==LTDC)
338   {
339   /* USER CODE BEGIN LTDC_MspInit 0 */
340 
341   /* USER CODE END LTDC_MspInit 0 */
342     /* Peripheral clock enable */
343     __HAL_RCC_LTDC_CLK_ENABLE();
344 
345     __HAL_RCC_GPIOI_CLK_ENABLE();
346     __HAL_RCC_GPIOJ_CLK_ENABLE();
347     __HAL_RCC_GPIOK_CLK_ENABLE();
348     /**LTDC GPIO Configuration
349     PI12     ------> LTDC_HSYNC
350     PI13     ------> LTDC_VSYNC
351     PI14     ------> LTDC_CLK
352     PI15     ------> LTDC_R0
353     PJ0     ------> LTDC_R1
354     PJ1     ------> LTDC_R2
355     PJ2     ------> LTDC_R3
356     PJ3     ------> LTDC_R4
357     PJ4     ------> LTDC_R5
358     PJ5     ------> LTDC_R6
359     PJ6     ------> LTDC_R7
360     PJ7     ------> LTDC_G0
361     PJ8     ------> LTDC_G1
362     PJ9     ------> LTDC_G2
363     PJ10     ------> LTDC_G3
364     PJ11     ------> LTDC_G4
365     PK0     ------> LTDC_G5
366     PK1     ------> LTDC_G6
367     PK2     ------> LTDC_G7
368     PJ12     ------> LTDC_B0
369     PJ13     ------> LTDC_B1
370     PJ14     ------> LTDC_B2
371     PJ15     ------> LTDC_B3
372     PK3     ------> LTDC_B4
373     PK4     ------> LTDC_B5
374     PK5     ------> LTDC_B6
375     PK6     ------> LTDC_B7
376     PK7     ------> LTDC_DE
377     */
378     GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
379     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
380     GPIO_InitStruct.Pull = GPIO_NOPULL;
381     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
382     GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
383     HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
384 
385     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
386                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7
387                           |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
388                           |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
389     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
390     GPIO_InitStruct.Pull = GPIO_NOPULL;
391     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
392     GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
393     HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct);
394 
395     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
396                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
397     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
398     GPIO_InitStruct.Pull = GPIO_NOPULL;
399     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
400     GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
401     HAL_GPIO_Init(GPIOK, &GPIO_InitStruct);
402 
403   /* USER CODE BEGIN LTDC_MspInit 1 */
404 
405   /* USER CODE END LTDC_MspInit 1 */
406   }
407 
408 }
409 
410 /**
411 * @brief LTDC MSP De-Initialization
412 * This function freeze the hardware resources used in this example
413 * @param hltdc: LTDC handle pointer
414 * @retval None
415 */
416 
HAL_LTDC_MspDeInit(LTDC_HandleTypeDef * hltdc)417 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
418 {
419 
420   if(hltdc->Instance==LTDC)
421   {
422   /* USER CODE BEGIN LTDC_MspDeInit 0 */
423 
424   /* USER CODE END LTDC_MspDeInit 0 */
425     /* Peripheral clock disable */
426     __HAL_RCC_LTDC_CLK_DISABLE();
427 
428     /**LTDC GPIO Configuration
429     PI12     ------> LTDC_HSYNC
430     PI13     ------> LTDC_VSYNC
431     PI14     ------> LTDC_CLK
432     PI15     ------> LTDC_R0
433     PJ0     ------> LTDC_R1
434     PJ1     ------> LTDC_R2
435     PJ2     ------> LTDC_R3
436     PJ3     ------> LTDC_R4
437     PJ4     ------> LTDC_R5
438     PJ5     ------> LTDC_R6
439     PJ6     ------> LTDC_R7
440     PJ7     ------> LTDC_G0
441     PJ8     ------> LTDC_G1
442     PJ9     ------> LTDC_G2
443     PJ10     ------> LTDC_G3
444     PJ11     ------> LTDC_G4
445     PK0     ------> LTDC_G5
446     PK1     ------> LTDC_G6
447     PK2     ------> LTDC_G7
448     PJ12     ------> LTDC_B0
449     PJ13     ------> LTDC_B1
450     PJ14     ------> LTDC_B2
451     PJ15     ------> LTDC_B3
452     PK3     ------> LTDC_B4
453     PK4     ------> LTDC_B5
454     PK5     ------> LTDC_B6
455     PK6     ------> LTDC_B7
456     PK7     ------> LTDC_DE
457     */
458     HAL_GPIO_DeInit(GPIOI, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
459 
460     HAL_GPIO_DeInit(GPIOJ, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
461                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7
462                           |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
463                           |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
464 
465     HAL_GPIO_DeInit(GPIOK, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
466                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
467 
468   /* USER CODE BEGIN LTDC_MspDeInit 1 */
469 
470   /* USER CODE END LTDC_MspDeInit 1 */
471   }
472 
473 }
474 
475 /**
476 * @brief RTC MSP Initialization
477 * This function configures the hardware resources used in this example
478 * @param hrtc: RTC handle pointer
479 * @retval None
480 */
HAL_RTC_MspInit(RTC_HandleTypeDef * hrtc)481 void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
482 {
483 
484   if(hrtc->Instance==RTC)
485   {
486   /* USER CODE BEGIN RTC_MspInit 0 */
487 
488   /* USER CODE END RTC_MspInit 0 */
489     /* Peripheral clock enable */
490     __HAL_RCC_RTC_ENABLE();
491   /* USER CODE BEGIN RTC_MspInit 1 */
492 
493   /* USER CODE END RTC_MspInit 1 */
494   }
495 
496 }
497 
498 /**
499 * @brief RTC MSP De-Initialization
500 * This function freeze the hardware resources used in this example
501 * @param hrtc: RTC handle pointer
502 * @retval None
503 */
504 
HAL_RTC_MspDeInit(RTC_HandleTypeDef * hrtc)505 void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
506 {
507 
508   if(hrtc->Instance==RTC)
509   {
510   /* USER CODE BEGIN RTC_MspDeInit 0 */
511 
512   /* USER CODE END RTC_MspDeInit 0 */
513     /* Peripheral clock disable */
514     __HAL_RCC_RTC_DISABLE();
515   /* USER CODE BEGIN RTC_MspDeInit 1 */
516 
517   /* USER CODE END RTC_MspDeInit 1 */
518   }
519 
520 }
521 
522 /**
523 * @brief SD MSP Initialization
524 * This function configures the hardware resources used in this example
525 * @param hsd: SD handle pointer
526 * @retval None
527 */
HAL_SD_MspInit(SD_HandleTypeDef * hsd)528 void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
529 {
530 
531   GPIO_InitTypeDef GPIO_InitStruct = {0};
532   if(hsd->Instance==SDIO)
533   {
534   /* USER CODE BEGIN SDIO_MspInit 0 */
535 
536   /* USER CODE END SDIO_MspInit 0 */
537     /* Peripheral clock enable */
538     __HAL_RCC_SDIO_CLK_ENABLE();
539 
540     __HAL_RCC_GPIOC_CLK_ENABLE();
541     __HAL_RCC_GPIOD_CLK_ENABLE();
542     /**SDIO GPIO Configuration
543     PC8     ------> SDIO_D0
544     PC9     ------> SDIO_D1
545     PC10     ------> SDIO_D2
546     PC11     ------> SDIO_D3
547     PC12     ------> SDIO_CK
548     PD2     ------> SDIO_CMD
549     */
550     GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
551                           |GPIO_PIN_12;
552     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
553     GPIO_InitStruct.Pull = GPIO_NOPULL;
554     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
555     GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
556     HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
557 
558     GPIO_InitStruct.Pin = GPIO_PIN_2;
559     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
560     GPIO_InitStruct.Pull = GPIO_NOPULL;
561     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
562     GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
563     HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
564 
565   /* USER CODE BEGIN SDIO_MspInit 1 */
566 
567   /* USER CODE END SDIO_MspInit 1 */
568   }
569 
570 }
571 
572 /**
573 * @brief SD MSP De-Initialization
574 * This function freeze the hardware resources used in this example
575 * @param hsd: SD handle pointer
576 * @retval None
577 */
578 
HAL_SD_MspDeInit(SD_HandleTypeDef * hsd)579 void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
580 {
581 
582   if(hsd->Instance==SDIO)
583   {
584   /* USER CODE BEGIN SDIO_MspDeInit 0 */
585 
586   /* USER CODE END SDIO_MspDeInit 0 */
587     /* Peripheral clock disable */
588     __HAL_RCC_SDIO_CLK_DISABLE();
589 
590     /**SDIO GPIO Configuration
591     PC8     ------> SDIO_D0
592     PC9     ------> SDIO_D1
593     PC10     ------> SDIO_D2
594     PC11     ------> SDIO_D3
595     PC12     ------> SDIO_CK
596     PD2     ------> SDIO_CMD
597     */
598     HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
599                           |GPIO_PIN_12);
600 
601     HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
602 
603   /* USER CODE BEGIN SDIO_MspDeInit 1 */
604 
605   /* USER CODE END SDIO_MspDeInit 1 */
606   }
607 
608 }
609 
610 /**
611 * @brief SPI MSP Initialization
612 * This function configures the hardware resources used in this example
613 * @param hspi: SPI handle pointer
614 * @retval None
615 */
HAL_SPI_MspInit(SPI_HandleTypeDef * hspi)616 void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
617 {
618 
619   GPIO_InitTypeDef GPIO_InitStruct = {0};
620   if(hspi->Instance==SPI3)
621   {
622   /* USER CODE BEGIN SPI3_MspInit 0 */
623 
624   /* USER CODE END SPI3_MspInit 0 */
625     /* Peripheral clock enable */
626     __HAL_RCC_SPI3_CLK_ENABLE();
627 
628     __HAL_RCC_GPIOB_CLK_ENABLE();
629     /**SPI3 GPIO Configuration
630     PB3     ------> SPI3_SCK
631     PB4     ------> SPI3_MISO
632     PB5     ------> SPI3_MOSI
633     */
634     GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
635     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
636     GPIO_InitStruct.Pull = GPIO_NOPULL;
637     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
638     GPIO_InitStruct.Alternate = GPIO_AF6_SPI3;
639     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
640 
641   /* USER CODE BEGIN SPI3_MspInit 1 */
642 
643   /* USER CODE END SPI3_MspInit 1 */
644   }
645 
646 }
647 
648 /**
649 * @brief SPI MSP De-Initialization
650 * This function freeze the hardware resources used in this example
651 * @param hspi: SPI handle pointer
652 * @retval None
653 */
654 
HAL_SPI_MspDeInit(SPI_HandleTypeDef * hspi)655 void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
656 {
657 
658   if(hspi->Instance==SPI3)
659   {
660   /* USER CODE BEGIN SPI3_MspDeInit 0 */
661 
662   /* USER CODE END SPI3_MspDeInit 0 */
663     /* Peripheral clock disable */
664     __HAL_RCC_SPI3_CLK_DISABLE();
665 
666     /**SPI3 GPIO Configuration
667     PB3     ------> SPI3_SCK
668     PB4     ------> SPI3_MISO
669     PB5     ------> SPI3_MOSI
670     */
671     HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
672 
673   /* USER CODE BEGIN SPI3_MspDeInit 1 */
674 
675   /* USER CODE END SPI3_MspDeInit 1 */
676   }
677 
678 }
679 
680 /**
681 * @brief TIM_Base MSP Initialization
682 * This function configures the hardware resources used in this example
683 * @param htim_base: TIM_Base handle pointer
684 * @retval None
685 */
HAL_TIM_Base_MspInit(TIM_HandleTypeDef * htim_base)686 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
687 {
688 
689   if(htim_base->Instance==TIM2)
690   {
691   /* USER CODE BEGIN TIM2_MspInit 0 */
692 
693   /* USER CODE END TIM2_MspInit 0 */
694     /* Peripheral clock enable */
695     __HAL_RCC_TIM2_CLK_ENABLE();
696   /* USER CODE BEGIN TIM2_MspInit 1 */
697 
698   /* USER CODE END TIM2_MspInit 1 */
699   }
700   else if(htim_base->Instance==TIM11)
701   {
702   /* USER CODE BEGIN TIM11_MspInit 0 */
703 
704   /* USER CODE END TIM11_MspInit 0 */
705     /* Peripheral clock enable */
706     __HAL_RCC_TIM11_CLK_ENABLE();
707   /* USER CODE BEGIN TIM11_MspInit 1 */
708 
709   /* USER CODE END TIM11_MspInit 1 */
710   }
711   else if(htim_base->Instance==TIM13)
712   {
713   /* USER CODE BEGIN TIM13_MspInit 0 */
714 
715   /* USER CODE END TIM13_MspInit 0 */
716     /* Peripheral clock enable */
717     __HAL_RCC_TIM13_CLK_ENABLE();
718   /* USER CODE BEGIN TIM13_MspInit 1 */
719 
720   /* USER CODE END TIM13_MspInit 1 */
721   }
722   else if(htim_base->Instance==TIM14)
723   {
724   /* USER CODE BEGIN TIM14_MspInit 0 */
725 
726   /* USER CODE END TIM14_MspInit 0 */
727     /* Peripheral clock enable */
728     __HAL_RCC_TIM14_CLK_ENABLE();
729   /* USER CODE BEGIN TIM14_MspInit 1 */
730 
731   /* USER CODE END TIM14_MspInit 1 */
732   }
733 
734 }
735 
HAL_TIM_MspPostInit(TIM_HandleTypeDef * htim)736 void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
737 {
738 
739   GPIO_InitTypeDef GPIO_InitStruct = {0};
740   if(htim->Instance==TIM2)
741   {
742   /* USER CODE BEGIN TIM2_MspPostInit 0 */
743 
744   /* USER CODE END TIM2_MspPostInit 0 */
745 
746     __HAL_RCC_GPIOA_CLK_ENABLE();
747     /**TIM2 GPIO Configuration
748     PA0/WKUP     ------> TIM2_CH1
749     */
750     GPIO_InitStruct.Pin = GPIO_PIN_0;
751     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
752     GPIO_InitStruct.Pull = GPIO_NOPULL;
753     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
754     GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
755     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
756 
757   /* USER CODE BEGIN TIM2_MspPostInit 1 */
758 
759   /* USER CODE END TIM2_MspPostInit 1 */
760   }
761 
762 }
763 /**
764 * @brief TIM_Base MSP De-Initialization
765 * This function freeze the hardware resources used in this example
766 * @param htim_base: TIM_Base handle pointer
767 * @retval None
768 */
769 
HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef * htim_base)770 void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
771 {
772 
773   if(htim_base->Instance==TIM2)
774   {
775   /* USER CODE BEGIN TIM2_MspDeInit 0 */
776 
777   /* USER CODE END TIM2_MspDeInit 0 */
778     /* Peripheral clock disable */
779     __HAL_RCC_TIM2_CLK_DISABLE();
780   /* USER CODE BEGIN TIM2_MspDeInit 1 */
781 
782   /* USER CODE END TIM2_MspDeInit 1 */
783   }
784   else if(htim_base->Instance==TIM11)
785   {
786   /* USER CODE BEGIN TIM11_MspDeInit 0 */
787 
788   /* USER CODE END TIM11_MspDeInit 0 */
789     /* Peripheral clock disable */
790     __HAL_RCC_TIM11_CLK_DISABLE();
791   /* USER CODE BEGIN TIM11_MspDeInit 1 */
792 
793   /* USER CODE END TIM11_MspDeInit 1 */
794   }
795   else if(htim_base->Instance==TIM13)
796   {
797   /* USER CODE BEGIN TIM13_MspDeInit 0 */
798 
799   /* USER CODE END TIM13_MspDeInit 0 */
800     /* Peripheral clock disable */
801     __HAL_RCC_TIM13_CLK_DISABLE();
802   /* USER CODE BEGIN TIM13_MspDeInit 1 */
803 
804   /* USER CODE END TIM13_MspDeInit 1 */
805   }
806   else if(htim_base->Instance==TIM14)
807   {
808   /* USER CODE BEGIN TIM14_MspDeInit 0 */
809 
810   /* USER CODE END TIM14_MspDeInit 0 */
811     /* Peripheral clock disable */
812     __HAL_RCC_TIM14_CLK_DISABLE();
813   /* USER CODE BEGIN TIM14_MspDeInit 1 */
814 
815   /* USER CODE END TIM14_MspDeInit 1 */
816   }
817 
818 }
819 
820 /**
821 * @brief UART MSP Initialization
822 * This function configures the hardware resources used in this example
823 * @param huart: UART handle pointer
824 * @retval None
825 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)826 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
827 {
828 
829   GPIO_InitTypeDef GPIO_InitStruct = {0};
830   if(huart->Instance==USART1)
831   {
832   /* USER CODE BEGIN USART1_MspInit 0 */
833 
834   /* USER CODE END USART1_MspInit 0 */
835     /* Peripheral clock enable */
836     __HAL_RCC_USART1_CLK_ENABLE();
837 
838     __HAL_RCC_GPIOA_CLK_ENABLE();
839     /**USART1 GPIO Configuration
840     PA9     ------> USART1_TX
841     PA10     ------> USART1_RX
842     */
843     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
844     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
845     GPIO_InitStruct.Pull = GPIO_PULLUP;
846     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
847     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
848     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
849 
850     /* USART1 interrupt Init */
851     HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
852     HAL_NVIC_EnableIRQ(USART1_IRQn);
853   /* USER CODE BEGIN USART1_MspInit 1 */
854 
855   /* USER CODE END USART1_MspInit 1 */
856   }
857 
858 }
859 
860 /**
861 * @brief UART MSP De-Initialization
862 * This function freeze the hardware resources used in this example
863 * @param huart: UART handle pointer
864 * @retval None
865 */
866 
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)867 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
868 {
869 
870   if(huart->Instance==USART1)
871   {
872   /* USER CODE BEGIN USART1_MspDeInit 0 */
873 
874   /* USER CODE END USART1_MspDeInit 0 */
875     /* Peripheral clock disable */
876     __HAL_RCC_USART1_CLK_DISABLE();
877 
878     /**USART1 GPIO Configuration
879     PA9     ------> USART1_TX
880     PA10     ------> USART1_RX
881     */
882     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
883 
884     /* USART1 interrupt DeInit */
885     HAL_NVIC_DisableIRQ(USART1_IRQn);
886   /* USER CODE BEGIN USART1_MspDeInit 1 */
887 
888   /* USER CODE END USART1_MspDeInit 1 */
889   }
890 
891 }
892 
893 static uint32_t FMC_Initialized = 0;
894 
HAL_FMC_MspInit(void)895 static void HAL_FMC_MspInit(void){
896   /* USER CODE BEGIN FMC_MspInit 0 */
897 
898   /* USER CODE END FMC_MspInit 0 */
899   GPIO_InitTypeDef GPIO_InitStruct;
900   if (FMC_Initialized) {
901     return;
902   }
903   FMC_Initialized = 1;
904   /* Peripheral clock enable */
905   __HAL_RCC_FMC_CLK_ENABLE();
906 
907   /** FMC GPIO Configuration
908   PI9   ------> FMC_D30
909   PI10   ------> FMC_D31
910   PF0   ------> FMC_A0
911   PF1   ------> FMC_A1
912   PF2   ------> FMC_A2
913   PF3   ------> FMC_A3
914   PF4   ------> FMC_A4
915   PF5   ------> FMC_A5
916   PH2   ------> FMC_SDCKE0
917   PH3   ------> FMC_SDNE0
918   PH5   ------> FMC_SDNWE
919   PF11   ------> FMC_SDNRAS
920   PF12   ------> FMC_A6
921   PF13   ------> FMC_A7
922   PF14   ------> FMC_A8
923   PF15   ------> FMC_A9
924   PG0   ------> FMC_A10
925   PG1   ------> FMC_A11
926   PE7   ------> FMC_D4
927   PE8   ------> FMC_D5
928   PE9   ------> FMC_D6
929   PE10   ------> FMC_D7
930   PE11   ------> FMC_D8
931   PE12   ------> FMC_D9
932   PE13   ------> FMC_D10
933   PE14   ------> FMC_D11
934   PE15   ------> FMC_D12
935   PH8   ------> FMC_D16
936   PH9   ------> FMC_D17
937   PH10   ------> FMC_D18
938   PH11   ------> FMC_D19
939   PH12   ------> FMC_D20
940   PD8   ------> FMC_D13
941   PD9   ------> FMC_D14
942   PD10   ------> FMC_D15
943   PD14   ------> FMC_D0
944   PD15   ------> FMC_D1
945   PG4   ------> FMC_BA0
946   PG5   ------> FMC_BA1
947   PG8   ------> FMC_SDCLK
948   PH13   ------> FMC_D21
949   PH14   ------> FMC_D22
950   PH15   ------> FMC_D23
951   PI0   ------> FMC_D24
952   PI1   ------> FMC_D25
953   PI2   ------> FMC_D26
954   PI3   ------> FMC_D27
955   PD0   ------> FMC_D2
956   PD1   ------> FMC_D3
957   PD4   ------> FMC_NOE
958   PD5   ------> FMC_NWE
959   PG9   ------> FMC_NE2
960   PG15   ------> FMC_SDNCAS
961   PE0   ------> FMC_NBL0
962   PE1   ------> FMC_NBL1
963   PI4   ------> FMC_NBL2
964   PI5   ------> FMC_NBL3
965   PI6   ------> FMC_D28
966   PI7   ------> FMC_D29
967   */
968   GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1
969                           |GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
970                           |GPIO_PIN_6|GPIO_PIN_7;
971   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
972   GPIO_InitStruct.Pull = GPIO_NOPULL;
973   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
974   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
975   HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
976 
977   GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
978                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
979                           |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
980   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
981   GPIO_InitStruct.Pull = GPIO_NOPULL;
982   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
983   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
984   HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
985 
986   GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_8
987                           |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12
988                           |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
989   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
990   GPIO_InitStruct.Pull = GPIO_NOPULL;
991   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
992   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
993   HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
994 
995   GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
996                           |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_15;
997   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
998   GPIO_InitStruct.Pull = GPIO_NOPULL;
999   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1000   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1001   HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
1002 
1003   GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1004                           |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1005                           |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1;
1006   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1007   GPIO_InitStruct.Pull = GPIO_NOPULL;
1008   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1009   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1010   HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
1011 
1012   GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1013                           |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4
1014                           |GPIO_PIN_5;
1015   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
1016   GPIO_InitStruct.Pull = GPIO_NOPULL;
1017   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
1018   GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
1019   HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
1020 
1021   /* USER CODE BEGIN FMC_MspInit 1 */
1022 
1023   /* USER CODE END FMC_MspInit 1 */
1024 }
1025 
HAL_SRAM_MspInit(SRAM_HandleTypeDef * hsram)1026 void HAL_SRAM_MspInit(SRAM_HandleTypeDef* hsram){
1027   /* USER CODE BEGIN SRAM_MspInit 0 */
1028 
1029   /* USER CODE END SRAM_MspInit 0 */
1030   HAL_FMC_MspInit();
1031   /* USER CODE BEGIN SRAM_MspInit 1 */
1032 
1033   /* USER CODE END SRAM_MspInit 1 */
1034 }
1035 
HAL_SDRAM_MspInit(SDRAM_HandleTypeDef * hsdram)1036 void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef* hsdram){
1037   /* USER CODE BEGIN SDRAM_MspInit 0 */
1038 
1039   /* USER CODE END SDRAM_MspInit 0 */
1040   HAL_FMC_MspInit();
1041   /* USER CODE BEGIN SDRAM_MspInit 1 */
1042 
1043   /* USER CODE END SDRAM_MspInit 1 */
1044 }
1045 
1046 static uint32_t FMC_DeInitialized = 0;
1047 
HAL_FMC_MspDeInit(void)1048 static void HAL_FMC_MspDeInit(void){
1049   /* USER CODE BEGIN FMC_MspDeInit 0 */
1050 
1051   /* USER CODE END FMC_MspDeInit 0 */
1052   if (FMC_DeInitialized) {
1053     return;
1054   }
1055   FMC_DeInitialized = 1;
1056   /* Peripheral clock enable */
1057   __HAL_RCC_FMC_CLK_DISABLE();
1058 
1059   /** FMC GPIO Configuration
1060   PI9   ------> FMC_D30
1061   PI10   ------> FMC_D31
1062   PF0   ------> FMC_A0
1063   PF1   ------> FMC_A1
1064   PF2   ------> FMC_A2
1065   PF3   ------> FMC_A3
1066   PF4   ------> FMC_A4
1067   PF5   ------> FMC_A5
1068   PH2   ------> FMC_SDCKE0
1069   PH3   ------> FMC_SDNE0
1070   PH5   ------> FMC_SDNWE
1071   PF11   ------> FMC_SDNRAS
1072   PF12   ------> FMC_A6
1073   PF13   ------> FMC_A7
1074   PF14   ------> FMC_A8
1075   PF15   ------> FMC_A9
1076   PG0   ------> FMC_A10
1077   PG1   ------> FMC_A11
1078   PE7   ------> FMC_D4
1079   PE8   ------> FMC_D5
1080   PE9   ------> FMC_D6
1081   PE10   ------> FMC_D7
1082   PE11   ------> FMC_D8
1083   PE12   ------> FMC_D9
1084   PE13   ------> FMC_D10
1085   PE14   ------> FMC_D11
1086   PE15   ------> FMC_D12
1087   PH8   ------> FMC_D16
1088   PH9   ------> FMC_D17
1089   PH10   ------> FMC_D18
1090   PH11   ------> FMC_D19
1091   PH12   ------> FMC_D20
1092   PD8   ------> FMC_D13
1093   PD9   ------> FMC_D14
1094   PD10   ------> FMC_D15
1095   PD14   ------> FMC_D0
1096   PD15   ------> FMC_D1
1097   PG4   ------> FMC_BA0
1098   PG5   ------> FMC_BA1
1099   PG8   ------> FMC_SDCLK
1100   PH13   ------> FMC_D21
1101   PH14   ------> FMC_D22
1102   PH15   ------> FMC_D23
1103   PI0   ------> FMC_D24
1104   PI1   ------> FMC_D25
1105   PI2   ------> FMC_D26
1106   PI3   ------> FMC_D27
1107   PD0   ------> FMC_D2
1108   PD1   ------> FMC_D3
1109   PD4   ------> FMC_NOE
1110   PD5   ------> FMC_NWE
1111   PG9   ------> FMC_NE2
1112   PG15   ------> FMC_SDNCAS
1113   PE0   ------> FMC_NBL0
1114   PE1   ------> FMC_NBL1
1115   PI4   ------> FMC_NBL2
1116   PI5   ------> FMC_NBL3
1117   PI6   ------> FMC_D28
1118   PI7   ------> FMC_D29
1119   */
1120   HAL_GPIO_DeInit(GPIOI, GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_0|GPIO_PIN_1
1121                           |GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
1122                           |GPIO_PIN_6|GPIO_PIN_7);
1123 
1124   HAL_GPIO_DeInit(GPIOF, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
1125                           |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_11|GPIO_PIN_12
1126                           |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
1127 
1128   HAL_GPIO_DeInit(GPIOH, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_8
1129                           |GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12
1130                           |GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
1131 
1132   HAL_GPIO_DeInit(GPIOG, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5
1133                           |GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_15);
1134 
1135   HAL_GPIO_DeInit(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10
1136                           |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14
1137                           |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1);
1138 
1139   HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_14
1140                           |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4
1141                           |GPIO_PIN_5);
1142 
1143   /* USER CODE BEGIN FMC_MspDeInit 1 */
1144 
1145   /* USER CODE END FMC_MspDeInit 1 */
1146 }
1147 
HAL_SRAM_MspDeInit(SRAM_HandleTypeDef * hsram)1148 void HAL_SRAM_MspDeInit(SRAM_HandleTypeDef* hsram){
1149   /* USER CODE BEGIN SRAM_MspDeInit 0 */
1150 
1151   /* USER CODE END SRAM_MspDeInit 0 */
1152   HAL_FMC_MspDeInit();
1153   /* USER CODE BEGIN SRAM_MspDeInit 1 */
1154 
1155   /* USER CODE END SRAM_MspDeInit 1 */
1156 }
1157 
HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef * hsdram)1158 void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
1159   /* USER CODE BEGIN SDRAM_MspDeInit 0 */
1160 
1161   /* USER CODE END SDRAM_MspDeInit 0 */
1162   HAL_FMC_MspDeInit();
1163   /* USER CODE BEGIN SDRAM_MspDeInit 1 */
1164 
1165   /* USER CODE END SDRAM_MspDeInit 1 */
1166 }
1167 
1168 /* USER CODE BEGIN 1 */
1169 
1170 /* USER CODE END 1 */
1171 
1172 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
1173