
In message cmif0k$kq6$1@sea.gmane.org you wrote:
But Even if I ignore GOT pointer my problem still persists. The problem
Ignorance has never been a solution to problems.
You should try to understand what's going on.
of bootloader trying to jump to an address which does not exist.
How do you know that the address is bad?
I compile for ROM version(config.mk) the code downloads in flash but
I have no idea what you mean by "ROM version".
when it relocates itself to SDRAM, the address it tries to jump is a "valid" SDRAM address but I don't see that address anywhere in u-boot.dis. All the addresses in u-boot.dis are relative to the TEXT_BASE I have given in ROM version.
Yes, of course. What did you expect? The image that you build uses the addresses as set up by the TEXT_BASE definition and the linker script. The code then relocates itself into RAM, i. e. ij adjusts the addresses of the in-RAM copy of itself. So far, I don't know of any magic way to make it change the image files on ypur host system while doing this.
Do I need to make some changes in linker file ? For the same board and
No.
YAMON bootloader the disassembled file has initial flash addresses and then SDRAM addresses for opcodes after the code is relocated. I am not
YAMON is something different. I have no idea how it is implement. (Well, I do, but for this discussion it does not matter.) Ignore what you know about YAMON. This is U-Boot, and U-Boot does it as documented in the README, and as I explained to you.
expecting the same from u-boot but I am unable to understand u-boot policy regarding this.
The README says: "After booting and sizing and initializing DRAM, the code relocates itself to the upper end of DRAM." what exactly is not clear with this statement?
Don't you know what "relocate" means? Sorry, but this list is not the right place to discuss basics like this.
Best regards,
Wolfgang Denk