Showing results for 
Search instead for 
Did you mean: 

STM32G491: 100% safe Flash IAP (In Application Programming) of memory upper part only?



I want that my user can re-program (through my application) some upper part of flash for configuration of the device, e. g. the upper 100 kByte.

Until now, I used STM32G473, there this was no problem, as this was dual-bank memory device.

Now I would like to do this with STM32G491 (and also with STM32WB55). These devices are single bank, and in the Reference Manual there is a "nasty" warning: "The contents of the Flash memory are not guaranteed if a device reset occurs during a Flash memory operation." (RM STM32G4, 4.3.5).

Does this "possibly destroyed Flash memory" refer only to the 64 bit of current Programming cycle during reset time, or might there also be the danger, that the lower Flash memory (where my applications resides) is ALSO defect after such a reset?

(This would be quite catastrophic, the device would then be "practically defect" to the customer, the customer would have to send back the device to us for "re-programming" the firmware).

Is there some way to guarantee, that some lower part of memory is REALLY SAFE during such Flash programming of upper memory part, also in case of unexpected power loss during the Flash programming? (I could also write protect the bottom part of memory of course, this would be no problem?).