Delayed interrupts during FMC access on stm32h7 ?
tested on nucleo stm32h723 board with STM32CubeIDE (only main.c is modified)
What does this example?
Timer3 triggers an interrupt every 40 microseconds. The interrupt toggles PC8 for ~2ms. Additionally we trigger a FMC data transfer every second for 10 seconds.
What is the Problem?
Every second during the FMC data transfer our interrupt handler is somehow delayed!
The global variable "ticks_end_max" contains the maximum number of the timer3 counter register just before the interrupt ends. This max counter value is ~2600, but only ~600 if FMC access commented out!
Using an oscilloscope on pins PC8 and PC9 is also possible. PC9 is configured as TIM3_CH4 and emits a 4us low pulse each cycle. PC8 is toggled for ~2us during interrupt. Trigger on rising edge of PC8 when PC9 is low.
