2024-12-10 01:12 AM
I've got the following interrupt configured for TIM4:
void TIM4_IRQHandler(void)
{
if ( LL_TIM_IsActiveFlag_UPDATE( TIM4 ) )
{
LL_TIM_GetDirection( TIM4 ) == 0 ? ++x : --x;
LL_TIM_ClearFlag_UPDATE( TIM4 );
}
}
I know this interrupt is being called as I can see the value of 'x' changing. However, breakpoints within the interrupt routine do not stop the debugger. I have removed and readded the breakpoint, but that makes no difference.
Breakpoints elsewhere within the code work as expected.
Processor is an STM32G431 and the Cube version is 1.17.0
Any idea what's going on here?
2024-12-10 03:32 AM
Hello @CTapp.1 ,
If you don't mind, if that possible to share your project focusing on that issue? and what STM32CubeIDE version are you using?
Thank you.
2024-12-10 04:16 AM
Have you tried to set breakpoint on other IRQ handler? Maybe the debugger gets confused by the 'weak' definitions in the symbols.
Find the actual address of TIM4_IRQHandler in the vectors table, open it in disassembly and set breakpoint in disassembly?