Skip to main content
Petró Máté
Associate II
October 18, 2021
Question

FLASH IRQ handler not triggered on STM32H753.

  • October 18, 2021
  • 2 replies
  • 1212 views

Hy.

I have a little problem. I developed an Ethernet based remote firmware update for the STM32H753 uC (rev. V) in a custom board.

The processor erases the BANK2, and than programs it with the new firmware. When the programmed firmware checks correctly, a BANK swap occures and the the processor resets itself.

This bootloader works fine on some hardware, but my problem is that there are hardwares when I call the 'HAL_FLASHEx_Erase_IT()' function (which returns HAL_OK), the 'FLASH_IRQHandler' not triggered.

It's very strange that there are two identical hardwares, and one works fine all the time and the other fails all the time.

I could really use some help,

Thanks.

Petró.

This topic has been closed for replies.

2 replies

TDK
October 18, 2021

To fire an interrupt, a few things need to happen:

  • The interrupt needs enabled within the peripheral (FLASH in this case).
  • The corresponding NVIC interrupt needs enabled.
  • The interrupt flag needs to fire (you don't say which event you want to fire, but there is a flag for it).
  • Interrupts need enabled globally.
  • The code must be in the main loop or in an interrupt with lower preemption priority.

Check those. One or more isn't happening.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Pavel A.
Super User
October 18, 2021

There's some errata for flash interface and bank switching (especially 2.2.8).

Are you sure that none of your "hardwares" are rev. Y?