grisp / grisp2-rtems-toolchain

Basic tools and libraries to get an RTEMS system running on GRiSP2.
Other
13 stars 6 forks source link

Fatal error source=9 with non-existing PC address in objdump #22

Closed eproxus closed 4 years ago

eproxus commented 4 years ago

When just leaving Erlang running on the board for a couple of minutes I got the following error:

[ERL] erl_main: starting ...
[ERL] getcwd: /media/mmcsd-0-0
[ERL] hostname: defaulthostname
[ERL] starting erlang runtime
uhub0: 1 port with 1 removable, self powered
Eshell V10.7.1  (abort with ^G)
1> test:hello(). 
test:hello().
"Hello world!"
2> fatal extension: source=9, is_internal=0, error=-2137481744

R0   = 0x80927f30 R8  = 0xc4652600
R1   = 0x40158a60 R9  = 0x8f3404b8
R2   = 0x80f9eb60 R10 = 0x15d75680
R3   = 0x80928010 R11 = 0x00000069
R4   = 0x00000181 R12 = 0x00000000
R5   = 0x0000003c SP  = 0x80f9eb58
R6   = 0x000001c1 LR  = 0x80928054
R7   = 0x80f9eb58 PC  = 0x7efda85c
CPSR = 0x800001d3 VEC = 0x00000003
FPEXC = 0x40000000
FPSCR = 0x00000000
D00 = 0x6420746e65726170
D01 = 0x0000000000000000
D02 = 0x2020440020204400
D03 = 0x0040000000040000
D04 = 0x0020000000200000
D05 = 0x0000200000000000
D06 = 0x8040201008040201
D07 = 0x8040201008040201
D08 = 0x000000003b9aca00
D09 = 0x0000000000000000
D10 = 0x0000000000000000
D11 = 0x7fefffffffffffff
D12 = 0x0000054b00000080
D13 = 0x0000000000000000
D14 = 0x0000000000000000
D15 = 0x0000000000000000
D16 = 0x000000000006e76e
D17 = 0xcec8000000000000
D18 = 0x0000000000000000
D19 = 0x611431600ba316de
D20 = 0x24ab8c8bc60280a2
D21 = 0x02c42072a80b1486
D22 = 0xf46a26dd42a628a4
D23 = 0x31da9090181203a0
D24 = 0x215860e6011c004e
D25 = 0x74126009727c8008
D26 = 0x7022b0662dc06815
D27 = 0x31828518aa841082
D28 = 0x1000253205844400
D29 = 0x086431c780602000
D30 = 0x8a0eb10af2588619
D31 = 0x42020048980702ea

However, the PC 0x7efda85c doesn't exist in the objdump generated by arm-rtems5-objdump -dS _grisp/otp/22.3.3/install/erts-10.7.1/bin/beam > beam.objdump.

Is there any other way to figure out where this error comes from?

c-mauderer commented 4 years ago

Is there any other way to figure out where this error comes from?

I think the only good methods are either an external debugger or a patched board with a working JTAG or the next revision of the hardware.