
A handful of projects I have worked on use multiple copies of u-boot stored in different locations of flash and a small assembly stub determines which to boot. Currently, to do that u-boot has to be compiled two different times with different settings to accommodate the different base addresses.
Is there a way to use a single build of u-boot which can be placed at two different addresses in flash? That seems to me that it would be a useful general feature.
If you copy your U-Boot to RAM, you can have multiple U-Boots each linked to the same location. You need a small utility which runs before U-Boot which determines which version to use.
Hm... yes. Though I think that is more of a workaround than a truly relocatable u-boot.
I don't think having relocatable U-Boot is a good goal. Having the possiblility to choose between several different U-boot image is... Copying the image to SDRAM is one method to do this. If you don't want to copy to SDRAM, then you can enable a MMU (when this is available) as an alternative.
Best Regards Ulf Samuelsson