[U-Boot-Users] Isseus with porting and debugging u-boot

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?
participants (1)
-
Abdel El-Masoudi