I have tried everything possible to figure out the reason for illegal address reset which i confirmed from the flag ILAF. Few problems with the issue is it is random so i cannot predict when it will happen. The following things i tried out
1. defining a function number in each and every function.
functionnumber = 13;
and so on i have written for all the functions and it crossed some 400, it includes the interrupts as well, but to avoid complexity i have not added in the xgate files. My processor is S12xEQ512 and the functionality is receive the CAN data from xgate and processed by CPU. As soon as the reset happens i am writing this function number into another variable and sending out on CAN when it again starts executing. Similarly i am also sending the stack size using the command asm STS stacksize. Now when i observed the results the stack size is within the range, but function number 8 out of 10 times indicates can rx interrupt isr number. once it indicated the timer overflow interrupt and once the i2c interrupt. But i am not able to make out anything out of it. Please help me to figure out this issue. Any ideas how to resolve this with debugger or otherwise. Request suggestions for the same.