STM32G4xxx FW v1.5.0 : blocked in main.c/HAL_init() because IRQ handler not configured by SystemInit()
There is an issue in STM32G4 MCU FW package v1.5.0 in system_stm32g4xx.c ligne 189 :
#if defined(USER_VECT_TAB_ADDRESS)
SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#endif /* USER_VECT_TAB_ADDRESS */there is no #else, so SCB->VTOR is not initialised if USER_VECT_TAB_ADDRESS is not defined.
As a result, main.c stay blocked in HAL_Init() when setting systick IRQ, or systick IRQ (and none other IRQ) are called.
To fixe that, code should be replaced by something like that :
#ifdef USER_VECT_TAB_ADDRESS
SCB->VTOR = USER_VECT_TAB_ADDRESS| VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#else
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif