@@ -46,6 +46,72 @@ MBED_WEAK void TargetBSP_Init(void) {
46
46
/** Do nothing */
47
47
}
48
48
49
+ void GPIO_Full_Init (void ) {
50
+ GPIO_InitTypeDef GPIO_InitStruct ;
51
+
52
+ GPIO_InitStruct .Pin = GPIO_PIN_All ;
53
+ GPIO_InitStruct .Mode = GPIO_MODE_ANALOG ;
54
+ GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
55
+ #if !TARGET_STM32F1
56
+ GPIO_InitStruct .Pull = GPIO_NOPULL ;
57
+ GPIO_InitStruct .Alternate = 0 ;
58
+ #endif
59
+ #if defined(GPIOA )
60
+ __HAL_RCC_GPIOA_CLK_ENABLE ();
61
+ HAL_GPIO_Init (GPIOA , & GPIO_InitStruct );
62
+ __HAL_RCC_GPIOA_CLK_DISABLE ();
63
+ #endif
64
+ #if defined(GPIOB )
65
+ __HAL_RCC_GPIOB_CLK_ENABLE ();
66
+ HAL_GPIO_Init (GPIOB , & GPIO_InitStruct );
67
+ __HAL_RCC_GPIOB_CLK_DISABLE ();
68
+ #endif
69
+ #if defined(GPIOC )
70
+ __HAL_RCC_GPIOC_CLK_ENABLE ();
71
+ HAL_GPIO_Init (GPIOC , & GPIO_InitStruct );
72
+ __HAL_RCC_GPIOC_CLK_DISABLE ();
73
+ #endif
74
+ #if defined(GPIOD )
75
+ __HAL_RCC_GPIOD_CLK_ENABLE ();
76
+ HAL_GPIO_Init (GPIOD , & GPIO_InitStruct );
77
+ __HAL_RCC_GPIOD_CLK_DISABLE ();
78
+ #endif
79
+ #if defined(GPIOE )
80
+ __HAL_RCC_GPIOE_CLK_ENABLE ();
81
+ HAL_GPIO_Init (GPIOE , & GPIO_InitStruct );
82
+ __HAL_RCC_GPIOE_CLK_DISABLE ();
83
+ #endif
84
+ #if defined(GPIOF )
85
+ __HAL_RCC_GPIOF_CLK_ENABLE ();
86
+ HAL_GPIO_Init (GPIOF , & GPIO_InitStruct );
87
+ __HAL_RCC_GPIOF_CLK_DISABLE ();
88
+ #endif
89
+ #if defined(GPIOG )
90
+ __HAL_RCC_GPIOG_CLK_ENABLE ();
91
+ HAL_GPIO_Init (GPIOG , & GPIO_InitStruct );
92
+ __HAL_RCC_GPIOG_CLK_DISABLE ();
93
+ #endif
94
+ #if defined(GPIOH )
95
+ __HAL_RCC_GPIOH_CLK_ENABLE ();
96
+ HAL_GPIO_Init (GPIOH , & GPIO_InitStruct );
97
+ __HAL_RCC_GPIOH_CLK_DISABLE ();
98
+ #endif
99
+ #if defined(GPIOI )
100
+ __HAL_RCC_GPIOI_CLK_ENABLE ();
101
+ HAL_GPIO_Init (GPIOI , & GPIO_InitStruct );
102
+ __HAL_RCC_GPIOI_CLK_DISABLE ();
103
+ #endif
104
+ #if defined(GPIOJ )
105
+ __HAL_RCC_GPIOJ_CLK_ENABLE ();
106
+ HAL_GPIO_Init (GPIOJ , & GPIO_InitStruct );
107
+ __HAL_RCC_GPIOJ_CLK_DISABLE ();
108
+ #endif
109
+ #if defined(GPIOK )
110
+ __HAL_RCC_GPIOK_CLK_ENABLE ();
111
+ HAL_GPIO_Init (GPIOK , & GPIO_InitStruct );
112
+ __HAL_RCC_GPIOK_CLK_DISABLE ();
113
+ #endif
114
+ }
49
115
50
116
// This function is called after RAM initialization and before main.
51
117
void mbed_sdk_init ()
@@ -166,6 +232,9 @@ void mbed_sdk_init()
166
232
#endif /* ! MBED_CONF_TARGET_LSE_AVAILABLE */
167
233
#endif /* DEVICE_RTC */
168
234
235
+ /* Reset all GPIO */
236
+ GPIO_Full_Init ();
237
+
169
238
/* BSP initialization hook (external RAM, etc) */
170
239
TargetBSP_Init ();
171
240
0 commit comments