Part Number: RM48L950
I have noticed that a series of SCI transmits are negatively impacting my RTI timers.
My application has RTI counter zero to configured generate an interrupt on 4 periods delivering 1ms, 10ms, 100ms and 1000ms callbacks. In the callback functions I process a series of timers which are configured for 1ms, 10ms, 100ms, 1000ms resolution respectively. The resolution of the timers has, to date, never been a concern of mine.
However, I recently loaded up my 1000ms callback with a debug output on the SCI channel. The debug output is quite weighty and would appear to be a source for the 1ms tick starting to lag behind the 1 sec ticks.
For example, after 845 1second ticks I have only seen 755106 1ms ticks. This never used to be the case, previously the 1sec tick would rollover exactly as you would expect at the 1000th increment of a 1ms tick.
The only difference between the two builds is that I have this call to SCI communications debug output every 1 second. In total SCI is outputting approx. 50 bytes at 9600baud. So by my calculations that should take 0.04s; which is of course longer than 1ms and also 10ms. So there is every reason to expect the SCI driver routine to be interrupted by both my 1ms tick and 10ms tick.
Question I have is why does the RTI interrupt not get priority over the SCI driver. I have set the SCI driver to low level in HALcogen. I cannot find where else I can increase the RTI priority but I assume, for now, that it should be possible to have my 1ms ticks take priority?
Thanks in advance for any info in optimizing the RTI setup.
Jamie
 
				 
		 
					 
                          