We are using the MPC5647 device.
Using Trace32, we programmed an application into the internal Flash memory area. Immediately after the programming process started (or just after it completed), the power to the target hardware was turned off.
After this event, the Flash memory in the application area could no longer be accessed. When accessing the Flash through Trace32, the memory contents appear as either "????????" or "FFFFFFFF". We suspect that the power was removed before the Flash programming operation had completely finished.
In this condition, the application Flash area becomes unusable, and the Flash can only be recovered by performing the factory recovery procedure described in AN4521_MPC56xx C90FL Flash Recovery.pdf. After executing the recovery procedure, the Flash becomes usable again.
We would like to understand the following:
What could cause this behavior?
Why is it not possible to simply reprogram the Flash?
Why is the recovery/factory initialization procedure required before the Flash can be programmed again?
Is this related to an invalid ECC state, an incomplete erase operation, or another internal Flash controller condition?
Any detailed explanation regarding the internal Flash mechanism would be greatly appreciated.