i386ex: hangups during initialization

Joel Sherrill joel at OARcorp.com
Wed Jun 20 19:31:32 UTC 2001



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
>>>  Entwicklung Software
>>>  TVI Lederer GmbH & Co KG
>>>  Industriestr. 4, 93161 Sinzing
>>>  Tel. 0941-3073761 - Fax 0941-3073737
>> 
>> --
>> Angelo Fraietta
>> 
>> PO Box 859
>> Hamilton NSW 2303
>> 
>> Home Page
>> 
>> http://users.hunterlink.net.au/~maaaf/
>> 
>> There are those who seek knowledge for the sake of knowledge - that is
>> CURIOSITY
>> There are those who seek knowledge to be known by others - that is VANITY
>> There are those who seek knowledge in order to serve - that is LOVE
>>     Bernard of Clairvaux (1090 - 1153)
> 




More information about the users mailing list