I use MPC5746C Z4 Core,and use S32DS tool for program debugging. IVOR1 interrupt was triggered while the program was running.
I monitored the value of MCSR,bit16 IF is 1,That means "An error occurred during the attempt to fetch an
instruction. MCSRR0 contains the instruction address",Then I looked at the value of MCSRR0,It shows as 0x1E。
but I did not find this address in the map file generated by the program.
How to locate the cause of the error interrupt? Can someone help me,thank you.
*Attach is the compiled Map file.
Hi, my program strucked in the IVOR1, but I can't find MCSR regsiter in the debug interface, how did you get the diagram about MCSR, can someone help me,thank you.
ps: forgiven me for my poor english
You need to enable the All Registers view in S32DS by going to Window->Show View->Other...->Debug->All Registers.
You then go into that view and under Exception_Handling_Control_Registers you'll find MCSR. Double click on it to update its contents.
Thank you, I figure it out.
Hi, MCSRR0 shows "address of some instruction that was executing or about to be executing when the machine check condition occurred."
It means there is attempt to execute instruction on that address, if such one does not exist, machine check is issued. Probably there is branch to that address or similar issue, it would be needed to debug assembly code.