
Hi Wolfang,
On Sun, Oct 10, 2010 at 1:50 AM, Wolfgang Denk wd@denx.de wrote:
Dear Lei Wen,
In message AANLkTi==rkiYsGNFYiy2nO_w4uSw=Da8stZjcHt14Q9J@mail.gmail.com you wrote:
But it let the uboot lose a good feature that let it boot itself to debug a new feature.
This has never been supported, and never been working reliably, not across acrchitectures, and not on all ARM systems.
In original scheme, the relocate operation is done before calling the init_sequence, so the problem here was gone.
No. Before, There was no relocation done at all, because U-Boot was linked to a fixed RAM address, and was simply copied there.
You ware just lucky when you were able to start U-Boot from an already running system.
Well, I think I also think I am lucky enough. :) But I am still a little confussed, even for the new scheme, at the end of board_init_f, there is a relocate_code, which is the exactly as original "simply copied" code. What the relocation in new scheme is different with the old simply copy, has more feature, or could fix some bug?
Thanks, Lei