Internal_errors_What_happened = 18? (RTEMS_CALLED_FROM_ISR)

Nick Thomas nick.thomas at
Sun Feb 1 21:31:18 UTC 2009

This is my first post here, and my first use of RTEMS.

"Oh great, another newbie", I hear.

My apologies if this question has been answered before, I did look through
the mailing list archives, but couldn't find anything obviously related to
my issue.

I have PPC405 processor, trying to run RTEMS.

It gets through initialization, and gets well into running my code, but
locks up at roughly the same place (as far as I can tell).
I am debugging using a BDI2000 - JTAG thing.

So, I see "007cc0f8 B Internal_errors_What_happened" in the symbols table,
and when I do 'md 0x7cc0f8' in the debugger screen I see from the
Internal_errors_Information struct that:
 The_source = 0,
 Is_internal = 0,
 The_error = 18 (decimal).

As far as I can tell, '18' means RTEMS_CALLED_FROM_ISR (called from wrong

So, I got this far - but how do I work out what rtems call is being called
in the wrong environment.

Seems to be referring to something involving the core mutex. Now, is this
because I am mis-using semaphores/mutex in my code, or is internal to RTEMS
- meaning it could be any of the calls to rtems_xxx functions I am using.

Please help me through the fog.

Looking forward to your responses.


Nick Thomas

More information about the users mailing list