I am testing MPU(Memory Protection Unit) using my MPC5777C device.
After accessing the protected memory area, I found that IP was jumped into the Machine Check Exception.
And then, I checked the MCSRR0 to get the instruction address which I coded to inject memory fault, but it was wrong.
The a few steps following address was written at the MCSRR0.
0x00960000: *(pValue) = 0x12121212; // MPU Error Injection Code
0x00960004: bla bla bla code ;
0x00960008: bla bla bla bla code ;
0x0096000C: bla bla bla bla bla code ;
I hoped that 0x0096000 is in the MCSRR0 after running 0x00960000, but 0x0096000C was written in the MCSRR0.
Someone said that it is due to the pipeline and 10-steps... but I couldn't understand his advice. (I am novice)
Is there someone who know the cause of it and especially can solve this problem ?
I want to get 0x0096000 address in the MCSRR0.