[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