FLASH IRQ handler not triggered on STM32H753.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-18 1:13 AM
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ó.
- Labels:
-
Flash
-
STM32H7 Series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-18 6:27 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-18 12:06 PM
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?
