Unexpected trap(0 x4) ... fp disabled
Jiri Gaisler
jiri at gaisler.com
Wed Jun 23 21:35:55 UTC 2010
Well, 0x40006710 is a NOP so either the RTEMS message did not print
the correct address or your program might have overwritten the
address 0x40006710 with some random value. The easiest way to
debug this is to load the binary using command-line grmon, and
then just print the history when grmon break on the trap:
load app.exe
run
ins 20
You might also want to check stack sizes etc. Auto-generated code
tends to be heavy on memory and stack ...
Jiri.
Gardner, Michael T wrote:
> Jiri,
>
> Here is the disassembled code at the 0x40006710 address:
>
> 400066e8: 10 80 00 10 b 40006728
> <_ZN16GaislerInterfaceD1Ev+0xc4>
> 400066ec: 01 00 00 00 nop
> 400066f0: f0 27 bf f0 st %i0, [ %fp + -16 ]
> 400066f4: 82 10 00 19 mov %i1, %g1
> 400066f8: a2 10 00 01 mov %g1, %l1
> 400066fc: e0 07 bf f0 ld [ %fp + -16 ], %l0
> 40006700: c2 07 a0 44 ld [ %fp + 0x44 ], %g1
> 40006704: c2 27 bf f4 st %g1, [ %fp + -12 ]
> 40006708: d0 07 bf f4 ld [ %fp + -12 ], %o0
> 4000670c: 40 00 00 8d call 40006940 <_ZN17HardwareInterfaceD2Ev>
> 40006710: 01 00 00 00 nop
> 40006714: e0 27 bf f0 st %l0, [ %fp + -16 ]
> 40006718: 82 10 00 11 mov %l1, %g1
> 4000671c: d0 07 bf f0 ld [ %fp + -16 ], %o0
> 40006720: 40 01 84 73 call 400678ec <_Unwind_Resume>
> 40006724: 01 00 00 00 nop
> 40006728: d0 07 a0 44 ld [ %fp + 0x44 ], %o0
> 4000672c: 40 01 5d 18 call 4005db8c <_ZdlPv>
> 40006730: 01 00 00 00 nop
> 40006734: 81 e8 00 00 restore
> 40006738: 81 c3 e0 08 retl
> 4000673c: 01 00 00 00 nop
>
> The code is autogenerated from our model driven development tool called
> Rhapsody. I have configured the eclipse project to call the
> auto-generated makefile, which is probably a little different that
> building the project using the eclipse plug-in. I have included in the
> makefile the –msoft-float option but this has not made any difference.
> The code still crashes. BTW, there is another developer using
> essentially the same process to generate and build his code with
> Rhapsody. He also compiles with the Rhapsody makefile. His test
> program worked but mine failed. The telling difference between the two
> programs is that his does not use any floating point variables where
> mine does. As a test, I included a simple declaration of a double and
> printed out the value. This two line change now causes his program to
> crash with the same error. So the error really is tied to floating
> point operations.
>
>
> Michael T. Gardner
> Sandia National Labs
> mtgardn at sandia.gov
> 505-844-1299
>
>
>
>
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
More information about the users
mailing list