On Wed, Feb 4, 2015 at 8:52 AM, Jean-Christophe Lallemand <j...@develtech.com> wrote: > Dear all, > > I have already used u-boot several times on various ARM-based platforms but I > need to go to unknown territories this time. > On an ARM-based platform again, we have a u-boot port (v2010.09) available > loaded by a ROM bootloader into the internal RAM. > For some reasons, the ROM bootloader limits the size of the loaded code to > 128kB which is a bit short for the functionality needed. > > What I'd like to do is have the already available u-boot (say Level-1) to > load a second u-boot (say Level-2) into DDR where size is not an issue which > will then load Linux.
FYI, you can do this on highbank with the same binary. It is slightly different in that RAM is already initialized and we can load the same binary used for level-1. It's mainly nice for development. > For the Level-1, I haven't changed anything for now. I'm still using the > Linux kernel load address. > > For the Level-2, I have found the following interesting configuration flags: > CONFIG_SKIP_LOWLEVEL_INIT -> to suppress the CPU & external RAM > initialization that is already done by Level-1 > CONFIG_SKIP_RELOCATE_UBOOT -> to avoid the relocation that was not looking > interesting in the scope of a Level-2 but is that correct? This should not be necessary. > TEXT_BASE -> modified to match the kernel load address used in Level-1 You don't really need to align to the kernel load address, but that's probably not your issue. > I have constructed my Level-2 U-boot image using the same kind of commands as > for my kernel but specifying Firmware type > ./u-boot/tools/mkimage -A arm -O U-boot -T Firmware -C none -a 70008000 -e > 70008000 -n 'u-boot L2' -d ./u-boot/u-boot.bin ./u-boot/u-boot.uImage > > When I try to run the loaded Level-2, my board freezes. > I've also tried to hack the bootm command so that my Firmware image is seen > as a stand-alone application so that it runs it directly without the cleanup > stuff but that does not work either. I just load the raw binary to TEXT_BASE and do "go TEXT_BASE". > Before I go on debug this intensively, I just want to make sure I've not > missed something very obvious in the process? There could be other init that doesn't work if run twice. Rob _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot