[U-Boot] reloacting uboot
Ulf Samuelsson
ulf.samuelsson at atmel.com
Mon Sep 7 00:01:27 CEST 2009
Wolfgang Denk skrev:
> Dear E Robertson,
>
> In message <200908251428.55255.e.robertson.svg at gmail.com> you wrote:
>>> In message <200908251403.20809.e.robertson.svg at gmail.com> you wrote:
>>>> I am using the at91sam9263 device from which the bootstrap code load
>>>> u-boot to the desired ram address. However, I would like to re-relocate
>>>> this at the different address based on memory availability. Can / or
>>>> should this be done?
>>> Yes, it can be done, and it should be done. The fact that we don't do
>>> it so far is due to the fact that the guys who did the original ARM
>>> code found this too complicated (even though they had a working
>>> example in the PowerPC code) and not worth the effort. We're suffering
>>> since from this misconception.
>>>
>>> But there is no reason why you would have to copy the code again -
>>> just copy it to the correct address right from the beginning, like we
>>> do in PowerPC.
>> I don't follow: Yes, but no reason to do so?
>
> You wrote: "re-relocate". This is bogus. Just relocate it once, to the
> correct address.
>
>> On the 9263, it's copied once to ram at boot. Are you saying their is no
>> reason to copy it again? If so, yes, in most cases that would be true but I
>> would like to move it again after that initial relocation. Since I've already
>> specified my start address, I wasn't sure about.
>
> Fix the ARM relocating scheme such that it works like in PowerPC: link
> the image not for a RAM address, but for the address in flash. Then,
> after determining the RAM size, copy & relocate the code once to RAM.
> Only one copy. Not two.
>
> Best regards,
>
> Wolfgang Denk
>
Very few boards based on the SAM9263 store u-boot in parallel flash
and if they are stored in SPI dataflash or in NAND flash it makes
little sense to link the u-boot to the flash address.
Fix at91bootstrap to load where you want it to load.
BR
Ulf Samuelsson
More information about the U-Boot
mailing list