2021-07-16 07:27 AM
I'd have thought with read-while-write active, that interrupts should continue to run in bank1. For the stm32l devices, the documentation clearly states this will work. Can it also work for the stm32f429? Am I missing some configuration? Or will interrupts in one bank not work when code in that bank is flashing the other bank? Thanks for any help.
2021-07-18 06:05 PM
> interrupts should continue to run in bank1
Which interrupts? Flash programming complete interrupts?
2021-07-19 12:43 AM
The flash sector erase complete interrupts are working fine.
I expected all code and interrupts running in bank1 flash would continue to run ok while bank2 flash was being erased or programmed. Specifically, I have CAN interrupts on both CAN channels, one of which is bringing down the data I'd be flashing.
But when bank2 flash is being erased, all CAN communication stops, which I didn't expect. I'll look closer today at what other interrupts may or may not be running while bank2 flash is being modified, but I can't find any documentation on this, so I'd be grateful for any clarification.
2021-07-19 12:44 AM
The flash sector erase complete interrupts are working fine.
I expected all code and interrupts running in bank1 flash would continue to run ok while bank2 flash was being erased or programmed. Specifically, I have CAN interrupts on both CAN channels, one of which is bringing down the data I'd be flashing.
But when bank2 flash is being erased, all CAN communication stops, which I didn't expect. I'll look closer today at what other interrupts may or may not be running while bank2 flash is being modified, but I can't find any documentation on this, so I'd be grateful for any clarification.
2021-07-19 07:38 AM
As long as your code is solely in the bank that isn't being erased, it should not block. This is what the RM says.
I don't believe a flash erase will stop unrelated interrupts from happening.
2021-07-19 08:46 AM
Thanks. Your comment is what I'd expect, but this is my first time flashing an stm32 with dual bank and I can't make too many assumptions. I'll now look elsewhere for my missing CAN interrupts. Thanks again.