Timing of events in an ISR

Mark VanderVoord markvandervoord at yahoo.com
Wed Oct 20 13:27:09 UTC 2004


I've discovered something which I think supports
Joel's theory about the problem.

In the spi task (TA1 in the sample files in the last
attachment), if I replace 

rtems_event_receive(1,RTEMS_WAIT|RTEMS_EVENT_ALL,0,&temp);

with 

while
(rtems_event_receive(1,RTEMS_NO_WAIT|RTEMS_EVENT_ALL,0,&temp));

the response time drops to less than 10 usec (which is
what I was originally expecting).  At first I thought
this disagreed with my previous results, as I have
already shown that the delay was occuring before the
ISR was called.

Then I realized that this seems to support Joel's idea
that my IDLE thread may have an error which is making
it non-preemptable until the tick timer goes off.  If
this were the case (but my normal task is ok), then it
would cause this behavior, right?

Is there any way I can determine what the IDLE
thread's mode settings are?


=====
Mark S VanderVoord
Self-Guided Systems, LLC


		
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com



More information about the users mailing list