I have an application on a S08GT that spends most of its time executing ISR's. When the machine that generates these interrupts goes beyond its rated speed the first error that occurs is that a compare register is loaded with a value that is behind where the counter is instead of in front of it (because the interrupt that does this is delayed by others). This I am quite aware of.
However recently I was making these ISR's even longer and during subsequent testing with a BDM debugger querying some memory locations this problem was occuring at much slower speeds than I had been previously observed.
The ISR's were trimmed back to as they were prevoiously but the problem remained, the machine would only go at half the speed it would before before this problem occurred.
After much testing it was found that the problem only occurred while the debugger was connected.
Now I thought that a debugger connected to a processor running in user mode and simply executing what I thought would be "non-intrusive" READ_BYTE commands would not have any impact on the user programme. But the response by the BDM to these commands seems to be stealing cycles from the user programme.
Should this be occurring?
If so then they are NOT non-intrusive at all!
Can anybody shed any light on this?