0

I am facing some data abort in u-boot and not able to find the root cause the issue. Can some tell me the ways how we can trace logs here or how to debug and decode these logs.

In u-boot which file gives the required details-

Below is the crash logs-:

 data abort
 pc : [<fff3fcb8>]           lr : [<1a000018>]
 reloc pc : [<B30017cb8>]    lr : [<4a0d8018>]
 sp : fdf17e5c  ip : fff88a6c     fp : 00000017
 r10: 30061f88  r9 : fdf17ef8     r8 : fdf18a78
 r7 : 00000010  r6 : 00000028     r5 : fdf3d138  r4 : 17f18ab8
 r3 : fdf18a88  r2 : 00000018     r1 : fdf18aa0  r0 : 00000000
 Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
 Resetting CPU ...

BR,Abhi

Abhi
  • 189
  • 1
  • 8
  • What processor are you using? The PC register shows the faulting instruction, your map file should tell you which line of code is failing. – Neil Apr 27 '18 at 12:11
  • I am using arm7 processor. I tried finding the address in the u-boot.map file but didn't get the same. – Abhi Apr 27 '18 at 14:54
  • That's a suspiciously high value for the PC register. Anyway, before you can use the map file, you have to account for U-Boot's runtime relocation (to the very top of physical RAM). See https://stackoverflow.com/questions/35336940/understand-u-boot-memory-footprint – sawdust Apr 27 '18 at 18:29

1 Answers1

1

First you need to disassemble the U-Boot file. Which version of objdump you need depends on your host and destination architecture, e.g.

arm-linux-gnueabihf-objdump -sD u-boot > u-boot.txt

Then look for the reloc pc address.

Xypron
  • 2,215
  • 1
  • 12
  • 24