Hello,
Have you tried a tiny bit to optimize this code because at a quick
glance, it sounds like for critical routines, you choose some slow and
complicated ways to do simple things, see a few some example below:
+static uint16_t GPIO_PIN_x[] = {
+GPIO_PIN_0,
+GPIO_PIN_1,
+GPIO_P
---
bsps/arm/stm32f4/gpio/gpio.c | 595 ++
bsps/arm/stm32f4/include/bsp.h| 4 -
bsps/arm/stm32f4/include/bsp/stm32f4_gpio.h | 37 ++
bsps/arm/stm32f4/include/bsp/stm32f4_hal.h| 17 +
bsps/arm/stm32f4/start/bspstart.c | 11 +-