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