@@ -94,6 +94,72 @@ MBED_WEAK void TargetBSP_Init(void) {
94
94
/** Do nothing */
95
95
}
96
96
97
+ void GPIO_Full_Init (void ) {
98
+ GPIO_InitTypeDef GPIO_InitStruct ;
99
+
100
+ GPIO_InitStruct .Pin = GPIO_PIN_All ;
101
+ GPIO_InitStruct .Mode = GPIO_MODE_ANALOG ;
102
+ GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
103
+ #if !TARGET_STM32F1
104
+ GPIO_InitStruct .Pull = GPIO_NOPULL ;
105
+ GPIO_InitStruct .Alternate = 0 ;
106
+ #endif
107
+ #if defined(GPIOA )
108
+ __HAL_RCC_GPIOA_CLK_ENABLE ();
109
+ HAL_GPIO_Init (GPIOA , & GPIO_InitStruct );
110
+ __HAL_RCC_GPIOA_CLK_DISABLE ();
111
+ #endif
112
+ #if defined(GPIOB )
113
+ __HAL_RCC_GPIOB_CLK_ENABLE ();
114
+ HAL_GPIO_Init (GPIOB , & GPIO_InitStruct );
115
+ __HAL_RCC_GPIOB_CLK_DISABLE ();
116
+ #endif
117
+ #if defined(GPIOC )
118
+ __HAL_RCC_GPIOC_CLK_ENABLE ();
119
+ HAL_GPIO_Init (GPIOC , & GPIO_InitStruct );
120
+ __HAL_RCC_GPIOC_CLK_DISABLE ();
121
+ #endif
122
+ #if defined(GPIOD )
123
+ __HAL_RCC_GPIOD_CLK_ENABLE ();
124
+ HAL_GPIO_Init (GPIOD , & GPIO_InitStruct );
125
+ __HAL_RCC_GPIOD_CLK_DISABLE ();
126
+ #endif
127
+ #if defined(GPIOE )
128
+ __HAL_RCC_GPIOE_CLK_ENABLE ();
129
+ HAL_GPIO_Init (GPIOE , & GPIO_InitStruct );
130
+ __HAL_RCC_GPIOE_CLK_DISABLE ();
131
+ #endif
132
+ #if defined(GPIOF )
133
+ __HAL_RCC_GPIOF_CLK_ENABLE ();
134
+ HAL_GPIO_Init (GPIOF , & GPIO_InitStruct );
135
+ __HAL_RCC_GPIOF_CLK_DISABLE ();
136
+ #endif
137
+ #if defined(GPIOG )
138
+ __HAL_RCC_GPIOG_CLK_ENABLE ();
139
+ HAL_GPIO_Init (GPIOG , & GPIO_InitStruct );
140
+ __HAL_RCC_GPIOG_CLK_DISABLE ();
141
+ #endif
142
+ #if defined(GPIOH )
143
+ __HAL_RCC_GPIOH_CLK_ENABLE ();
144
+ HAL_GPIO_Init (GPIOH , & GPIO_InitStruct );
145
+ __HAL_RCC_GPIOH_CLK_DISABLE ();
146
+ #endif
147
+ #if defined(GPIOI )
148
+ __HAL_RCC_GPIOI_CLK_ENABLE ();
149
+ HAL_GPIO_Init (GPIOI , & GPIO_InitStruct );
150
+ __HAL_RCC_GPIOI_CLK_DISABLE ();
151
+ #endif
152
+ #if defined(GPIOJ )
153
+ __HAL_RCC_GPIOJ_CLK_ENABLE ();
154
+ HAL_GPIO_Init (GPIOJ , & GPIO_InitStruct );
155
+ __HAL_RCC_GPIOJ_CLK_DISABLE ();
156
+ #endif
157
+ #if defined(GPIOK )
158
+ __HAL_RCC_GPIOK_CLK_ENABLE ();
159
+ HAL_GPIO_Init (GPIOK , & GPIO_InitStruct );
160
+ __HAL_RCC_GPIOK_CLK_DISABLE ();
161
+ #endif
162
+ }
97
163
98
164
// This function is called after RAM initialization and before main.
99
165
void mbed_sdk_init ()
@@ -226,6 +292,9 @@ void mbed_sdk_init()
226
292
#endif /* ! MBED_CONF_TARGET_LSE_AVAILABLE */
227
293
#endif /* DEVICE_RTC */
228
294
295
+ /* Reset all GPIO */
296
+ GPIO_Full_Init ();
297
+
229
298
/* BSP initialization hook (external RAM, etc) */
230
299
TargetBSP_Init ();
231
300
0 commit comments