i386ex: hangups during initialization

Jürgen Zeller juergen.zeller at argovision.de
Thu Jun 21 07:03:18 UTC 2001


I tried different values from 1000 to 5000 for
CONFIGURE_MICROSECONDS_PER_TICK
but this didn't change the result.
My memory layout is fixed by our bootloader, and it's impossible to
change in 
existing projects. What coult be wrong with it? 

At the time my system doesn't return from
_Thread_Handler_initialization, but
how I already wrote this isn't constant.

Now I have another change:
I tried my RTEMS with another (but identical) target board and it hangs
up
at the same location, but it doesn't report the exception message!

Juergen

Angelo Fraietta wrote:
> 
> I thought that too, however, when I changed the CONFIGURE_MICROSECONDS_PER_TICK,
> the problem went away until I upgraded the toolsets
> 
> Joel Sherrill wrote:
> 
> > Joel Sherrill wrote:
> >
> > > Angelo Fraietta wrote:
> > >
> > >> I had a similar bug a while ago. I set
> > >> #define CONFIGURE_MICROSECONDS_PER_TICK 1000 /* 1 ms */
> > >> to 5000 when I ran it on the 386 machine. After the soft float problem was
> > >> fixed, I set it back to 1000, however, I was only running three tasks.
> > >
> > >
> > > I could be wrong but I have to wonder what instruction is at the
> > > address reported in the exception and what exception 13 is.  Is
> > > this happening on an FP instruction?
> >
> > Thanks to a private message from Erik Ivanenko, I was reminded that
> > exception
> > 13 is a general protection fault.  So I would like to revise my guess to
> > "the memory
> > layout of your target board does not match that the BSP was designed for."
> > Do an objdump -da on the executable and see what routine is at the
> > offending address.
> > That should flag things.  I suspect it is assigning non-existent memory
> > to the
> > RTEMS Workspace or program heap.
> >
> > >
> > > --joel
> > >
> > >
> > >> Jürgen Zeller wrote:
> > >>
> > >>> hello everybody,
> > >>>
> > >>> I'm doing my first steps with RTEMS 4.5 and I have big
> > >>> problems building RTEMS for i386ex.
> > >>> During the initialization my system hangs up, so I tried to
> > >>> find out, what the reason is. I've inserted many 'printk's'
> > >>> in the rtems_executive_early function to see, how much code
> > >>> gets processed.
> > >>> But after a while I found out that the error is not constant at the
> > >>> same time or function, it depends for example how much printk's I issue!
> > >>> But in following illogical manner:
> > >>>  so more printk's I use so more code I get processed!
> > >>>
> > >>> I've checked my register settings, my linkcmds and my start.S often
> > >>> but I can't find the error.
> > >>>
> > >>> Has anybody an idea what could go wrong in my application?
> > >>> Could it be a Hardware problem?
> > >>> I use a bootloader for downloading, could this be the reason? And why?
> > >>>
> > >>> I have no experience with RTEMS and I would be obliged for every tip I
> > >>> get.
> > >>>
> > >>> RAM     0x00000000 .. 0x0003ffff
> > >>> Flash   0x00080000 .. 0x000fffff
> > >>>
> > >>> here my printk - results
> > >>>
> > >>>  rtems_initialize_executive_early: 001
> > >>>  rtems_initialize_executive_early: 002
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 003
> > >>>  rtems_initialize_executive_early: 004
> > >>>  rtems_initialize_executive_early: 005
> > >>>  rtems_initialize_executive_early: 006
> > >>>  rtems_initialize_executive_early: 007
> > >>>  rtems_initialize_executive_early: 008
> > >>>  rtems_initialize_executive_early: 009
> > >>>  rtems_initialize_executive_early: 010
> > >>>  rtems_initialize_executive_early: 011
> > >>>  rtems_initialize_executive_early: 012
> > >>>  rtems_initialize_executive_early: 013
> > >>>  rtems_initialize_executive_early: 014
> > >>> ----------------------------------------------------------
> > >>> Exception 13 caught at PC 87F66 by thread -1912602608
> > >>> ----------------------------------------------------------
> > >>> Processor execution context at time of the fault was  :
> > >>> ----------------------------------------------------------
> > >>>  EAX = B624     EBX = 46        ECX = B620      EDX = FFFFFFFF
> > >>>  ESI = 0        EDI = 200144    EBP = B5CC      ESP = B5B0
> > >>> ----------------------------------------------------------
> > >>> Error code pushed by processor itself (if not 0) = 0
> > >>> ----------------------------------------------------------
> > >>>  ************ FAULTY THREAD WILL BE DELETED **************
> > >>> ----------------------------------------------------------
> > >>> Exception 13 caught at PC 87F66 by thread -1912602608
> > >>> ----------------------------------------------------------
> > >>> Processor execution context at time of the fault was  :
> > >>> ----------------------------------------------------------
> > >>>  EAX = B624     EBX = 46        ECX = B620      EDX = FFFFFFFF
> > >>>  ESI = 0        EDI = 200144    EBP = B5CC      ESP = B5B0
> > >>> ----------------------------------------------------------
> > >>> Error code pushed by processor itself (if not 0) = 0
> > >>> ----------------------------------------------------------
> > >>>  ************ FAULTY THREAD WILL BE DELETED **************
> > >>> ----------------------------------------------------------
> > >>> Exception 13 caught at PC 87F66 by thread -1912602608
> > >>> ----------------------------------------------------------
> > >>> Processor execution context at time of the fault was  :
> > >>> ----------------------------------------------------------
> > >>>  EAX = B624     EBX = 46        ECX = B620      EDX = FFFFFFFF
> > >>>  ESI = 0        EDI = 200144    EBP = B5CC      ESP = B5B0
> > >>> ----------------------------------------------------------
> > >>> Error code pushed by processor itself (if not 0) = 0
> > >>> ----------------------------------------------------------
> > >>>  ************ FAULTY THREAD WILL BE DELETED **************
> > >>> ----------------------------------------------------------
> > >>> Exception 13 caught at PC 87F66 by thread -1912602608
> > >>> ----------------------------------------------------------
> > >>> Processor execution context at time of the fault was  :
> > >>> ----------------------------------------------------------
> > >>>  EAX = B624     EBX = 46        ECX = B620      EDX = FFFFFFFF
> > >>>  ESI = 0        EDI = 200144    EBP = B5CC      ESP = B5B0
> > >>> ----------------------------------------------------------
> > >>> Error code pushed by processor itself (if not 0) = 0
> > >>> ----------------------------------------------------------
> > >>>  ************ FAULTY THREAD WILL BE DELETED **************
> > >>> ----------------------------------------------------------
> > >>> Exception 13 caught at PC 87F66 by thread -1912602608
> > >>> ----------------------------------------------------------
> > >>> Processor execution context at time of the fault was  :
> > >>> ----------------------------------------------------------
> > >>>  EAX = B624     EBX = 46        ECX = B620      EDX = FFFFFFFF
> > >>>  ESI = 0        EDI = 200144    EBP = B5CC      ESP = B5B0
> > >>> ----------------------------------------------------------
> > >>> Error code pushed by processor itself (if not 0) = 0
> > >>> ----------------------------------------------------------
> > >>>  ************ FAULTY THREAD WILL BE DELETED **************
> > >>> ----------------------------------------------------------
> > >>>
> > >>> thanks a lot for your help!
> > >>>
> > >>> --
> > >>>  Jürgen Zeller
> > >> --
> > >> Angelo Fraietta

-- 
 Jürgen Zeller 
 Entwicklung Software
 TVI Lederer GmbH & Co KG
 Industriestr. 4, 93161 Sinzing
 Tel. 0941-3073761 - Fax 0941-3073737



More information about the users mailing list