Thanks for your reply, David.
I haven't called any MQX cache functions; and the clock seems to be set to the same nominal value. At any rate the two files seem to be the result of the same build... so are using the same LCF file.
Let me give you an example of the difference in jitter I am seeing. I have a timer interrupt that pretty much just calls _time_diff_microseconds to evaluate how much time has passed since the last timer interrupt. My low priority telnet task merely displays these values.
This first group of 100 values is from the CodeWarrior launch. The timer interrupt is configured for 1 millisecond so a value of 1000 microseconds is nominal. As you can see, the values are all very close to nominal. My worst case jitter is 5 milliseconds microseconds:
998 1003 998 1000 999 1003 998 1000 997 1003
1001 999 999 1002 997 1001 1000 1000 1004 1000
1005 996 999 998 1002 998 1001 999 1002 998
1001 997 1004 999 1001 998 1002 997 1000 1002
1003 996 1002 998 1004 996 1001 1000 1001 999
998 999 1002 1001 999 998 1006 996 999 1000
1000 1001 1017 985 998 1002 998 1000 997 1003
999 1000 997 1005 999 998 999 1005 1003 995
999 1003 996 1000 999 1004 998 999 999 1002
1000 999 998 1005 998 998 1001 1002 999 1001
This second group comes from the bootloader launch:
858 997 1002 999 1159 842 1001 996 1006 1163
835 997 1001 1003 1168 831 1001 1000 1002 1144
851 1003 999 1001 1158 840 1000 1000 1003 1167
831 998 1000 1005 1170 825 1001 998 1003 1141
856 1000 999 1003 1155 844 1002 1146 856 1004
1199 798 1281 739 1159 820 1178 822 1001 1146
852 998 1002 1003 1157 842 999 999 1004 1164
833 999 1000 1004 1178 819 1000 1001 1002 1143
854 999 999 1004 1158 840 1000 1000 1000 1166
834 998 1003 1002 1178 821 999 1002 1000 1141
Both are fairly typical collections. For the bootloader launch my jitter is typically +/- 250 milliseconds microseconds -- that is 50 times that of the CodeWarrior launch! The average over the 100 points is roughly 1000, which leads me to believe it is trying to fire every millisecond -- in fact you can often see a short value following a long value (you can read the queue from left to right... so for example 842 follows 1159 in the first row... the result is 2001.
It's almost as if some other high priority task or interrupt is interfering with the application... but I am using the bootloader code pretty much out of the example, and it doesn't seem to have anything like that (not to mention that the application only runs on the exit handler of the bootloader, so it would appear it is closing).
Edited to replace milliseconds microseconds...