diff --git a/demos/STM32/RT-STM32G431RB-NUCLEO64/cfg/mcuconf.h b/demos/STM32/RT-STM32G431RB-NUCLEO64/cfg/mcuconf.h
index b9016e0ab..541ebf71c 100644
--- a/demos/STM32/RT-STM32G431RB-NUCLEO64/cfg/mcuconf.h
+++ b/demos/STM32/RT-STM32G431RB-NUCLEO64/cfg/mcuconf.h
@@ -32,10 +32,8 @@
#define MCUCONF_H
#define STM32G4xx_MCUCONF
-#define STM32G473_MCUCONF
-#define STM32G483_MCUCONF
-#define STM32G474_MCUCONF
-#define STM32G484_MCUCONF
+#define STM32G431_MCUCONF
+#define STM32G441_MCUCONF
/*
* HAL driver system settings.
diff --git a/os/hal/boards/ST_NUCLEO64_G431RB/board.h b/os/hal/boards/ST_NUCLEO64_G431RB/board.h
index 93a2e59b7..09924a6d5 100644
--- a/os/hal/boards/ST_NUCLEO64_G431RB/board.h
+++ b/os/hal/boards/ST_NUCLEO64_G431RB/board.h
@@ -58,7 +58,7 @@
/*
* MCU type as defined in the ST header.
*/
-#define STM32G474xx
+#define STM32G431xx
/*
* IO pins assignments.
diff --git a/os/hal/boards/ST_NUCLEO64_G431RB/cfg/board.chcfg b/os/hal/boards/ST_NUCLEO64_G431RB/cfg/board.chcfg
index c83622482..2f960888d 100644
--- a/os/hal/boards/ST_NUCLEO64_G431RB/cfg/board.chcfg
+++ b/os/hal/boards/ST_NUCLEO64_G431RB/cfg/board.chcfg
@@ -11,7 +11,7 @@
STMicroelectronics STM32 Nucleo64-G431RB
ST_NUCLEO64_G431RB
- STM32G474xx
+ STM32G431xx
diff --git a/os/hal/ports/STM32/STM32G4xx/stm32_isr.c b/os/hal/ports/STM32/STM32G4xx/stm32_isr.c
index 204c32875..a8352e1af 100644
--- a/os/hal/ports/STM32/STM32G4xx/stm32_isr.c
+++ b/os/hal/ports/STM32/STM32G4xx/stm32_isr.c
@@ -63,18 +63,24 @@
#include "stm32_usart2.inc"
#include "stm32_usart3.inc"
#include "stm32_uart4.inc"
+#if STM32_HAS_UART5
#include "stm32_uart5.inc"
+#endif
#include "stm32_lpuart1.inc"
#include "stm32_tim1_tim15_tim16_tim17.inc"
#include "stm32_tim2.inc"
#include "stm32_tim3.inc"
#include "stm32_tim4.inc"
+#if STM32_HAS_TIM5
#include "stm32_tim5.inc"
+#endif
#include "stm32_tim6.inc"
#include "stm32_tim7.inc"
#include "stm32_tim8.inc"
+#if STM32_HAS_TIM20
#include "stm32_tim20.inc"
+#endif
/*===========================================================================*/
/* Driver exported functions. */
@@ -99,17 +105,23 @@ void irqInit(void) {
tim2_irq_init();
tim3_irq_init();
tim4_irq_init();
+#if STM32_HAS_TIM5
tim5_irq_init();
+#endif
tim6_irq_init();
tim7_irq_init();
tim8_irq_init();
+#if STM32_HAS_TIM20
tim20_irq_init();
+#endif
usart1_irq_init();
usart2_irq_init();
usart3_irq_init();
uart4_irq_init();
+#if STM32_HAS_UART5
uart5_irq_init();
+#endif
lpuart1_irq_init();
}
@@ -132,17 +144,23 @@ void irqDeinit(void) {
tim2_irq_deinit();
tim3_irq_deinit();
tim4_irq_deinit();
+#if STM32_HAS_TIM5
tim5_irq_deinit();
+#endif
tim6_irq_deinit();
tim7_irq_deinit();
tim8_irq_deinit();
+#if STM32_HAS_TIM20
tim20_irq_deinit();
+#endif
usart1_irq_deinit();
usart2_irq_deinit();
usart3_irq_deinit();
uart4_irq_deinit();
+#if STM32_HAS_UART5
uart5_irq_deinit();
+#endif
lpuart1_irq_deinit();
}