RTEMS Q returns RTEMS_SUCCESSFUL but with length of message zero

John Bebbington bebbington.john at litef.de
Sat May 11 08:30:48 UTC 2002


Hi Joel,
your right about me always beating that message Q up ! Sorry! It seems to be
my (or your) burden in life!

> What version of RTEMS are you using?
> Just in case something has been reported since this.

I am using an RTEMS snapshot from rtems-ss-20000929 (pretty old now!)

> What CPU are you on?

CPU used is the MC68360 adapted to own board.

> There was a recent patch against the m68k to address a VERY m68k
> specific problem in honoring RTEMS protocol in recording ISR level.

Can you point me in the right direction to get details on that patch,
please? This sounds promising!!

> What specific calls are you making at the task/receive level and ISR/send
level?

This may be difficult to summarise but I will try.

	level 5 autovector is PIT timer used for rtems tick clock.

	level 4 vectored locates all SCC1,2,3 SMC Timers 1..
		All the ISR attached use the rtems_interrupt_catch directive.
		Some of these handlers call rtems_message_queue_send directive to pass the
info to the task level for further processing.

	Level 3,2,1 autovector to special comms hardware. These drivers may also
use the rtems_message_queue_send directive.

	At the task level :

     // Check for new messages on the input Q but do not WAIT!!!
         status = rtems_message_queue_receive(
                         QueueID[q_BIT_HISTORY_Q],
                         rec,
                         &size,
                         RTEMS_NO_WAIT,
                         0
                         );


> My gut feeling is to do a source examination for potential windows.

Me too, but I think the window is within the rtems (there I go again beating
rtems up!!) Where should I start looking inside rtems?
The obvious point is in the rtems_message_queue_receive & send calls.

What I find interesting is that when I increase the number of interrupts in
the system the error occurs almost once every few seconds.
I think there is some critical region not quite right for the target I am
using.

Once again, thanks for the info Joel.

regards

John Bebbington
Freelance Software Engineer
Black Forest
Germany
web-site : www.rtss.de




More information about the users mailing list