I have a program running in the simulator (simulating an Infineon C515), and if I start by stepping through line by line (or even run to cursor) my serial interrupt routine works fine. Even after a number of software cycles, if I keep using 'step through' or 'run to line' the serial interrupt works. However if I then use the 'run' function to let the simulator run freely, the interrupt no longer kicks in, even though the breakpoint is at the beginning of the interrupt routine. If I then go back to step through, the interrupt routine still does not trigger. All the relevent interrupt bits are enabled (AFAIK) - i.e. EAL = 1, ES = 1. I'm fairly new to the embedded environment but this does seem like bizarre behaviour.
I do have a memory overlap linker warning about the addresses 000H to 000FH (still trying to identify what bit of the code is culprit for this), however I would have thought that if this was involved in messing up the interrupt vectors, it would mess it up equally both stepping through the code and running it freely.
Any help/tips for investigation?