Hi there,
I am using the uVision 3 software simulator to do some profiling type testing. I can run the simulator and real hardware and get the same IO behavior. The hardware uses nearly every timer and capcom of an ST10 micro. All timers and capcom stuff is working perfectly and inputs/outputs are switching at exactly correct timing in hardware and the simulator. But...
If I set a pin on the entry to a particular interrupt and clear it on exit, the code execution time on hardware is 58us as measured on the scope (and roughly as expected) but in the simulator it is 776 us (as measured on the simulator logic analyser). Consequently the simulator runs interrupt bound but the hardware runs fine. There is no higher priority interrupts occurring.
The clock frequency is 40MHz, x 1 xtal and all timers tick at the correct intervals etc. It is like the simulated peripherals are all clocking at the right speed but the cpu or bus is not.
Any ideas on how to resolve this?