[U-Boot-Users] Isseus with porting and debugging u-boot
Abdel El-Masoudi
ael at chess.nl
Wed May 4 14:19:24 CEST 2005
I want to upgrade my u-boot version (1.0.0) For a EP7312(ARM7) based
custom designed board to the latest u-boot version.
I downloaded u-boot 1.1.2 and patched it manually with my specific board
configuration files. Unfortunally the patched u-boot version would not
boot. I did the following to debug the u-boot with a bdi2000 (with a
good configuration file, hardware breakpoints).
Load u-boot.bin at 0x00000000
Start GDB with u-boot elf file (first address = 0xc0f00000)
connect to bdi20000
etc..
board information
FLASH = 0x00000000
RAM = 0xc0000000
TEXT_BASE = 0xc0f00000
/
System.map
/bash-2.05b$ more System.map
c0f00000 T _start
c0f00020 t _undefined_instruction
c0f00024 t _software_interrupt
c0f00028 t _prefetch_abort/
*How to debug u-boot when the first address in the ELF file is not the
same as the address of the image on the target?*/
I tried to change the addresses by changing TEXT_BASE to 0x00000000 in
the board specific config.mk file, but i think this is not the solution!!
When i debugged u-boot in FLASH i could step through it, but it looks
like i did not execute any code. For example the registers R0, R1 etc..
did not get a proper value when a assembler move instruction executed.
I tried the latest u-boot cvs version, because it had the capability to
start from RAM by skipping relocation code (CONFIG_SKIP_RELOCATE_UBOOT).
My BDI2000 did the initial configuration and start/load the U-boot RAM
version.
A strange thing is that the u-boot version starts without any problems,
but when i compile u-boot without CONFIG_SKIP_RELOCATE_UBOOT and flash
it to the first address (0x00000000) it would not start. The difference
between the two version is only the relocation code.
My u-boot 1.0.0 with my board specific patches works without any problem.
Could somebody have any clue what the problem is?
More information about the U-Boot
mailing list