Hi,
I am encountering a machine check exception when programming the internal flash on a MPC5745R using Core0 and I don't know why this happens.
The software is located in a section between 0x00FA0000-0x00FFFFFF and it tries to install a bootheader in 0x00F9C000. Just some instructions after a write or erase in this ROM area will raise the machine check exception.
Writing to a section located in 0x01000000-0x01280000 is no problem at all.
The c55fmc driver is used from the SDK to program the internal flash.
Memory protection has been disabled so it is sure this does not trigger the exception.
A peculiar thing is this software is running successfully when running on Core1 which does not have dual lockstep support. Because the safety level of the software we have to run this on Core0 using its dual lockstep feature.
What could be the cause of this machine check exception?
See below some usefull register values and attached is a complete register dump.
mcsr 0x10000
srr0 0xfa71ae
srr1 0x9000
mcsrr0 0xfb84c0
mcsrr1 0x9000
mcar 0