[U-Boot] Problem in relocate_code on Xilinx FPGA

Jerry Van Baren gvb.uboot at gmail.com
Sat Apr 18 14:08:19 CEST 2009


Seyyed Mohammad Sajjadi wrote:
> Hi
> 
> I am trying to use u-boot on a Xilinx V4FX12 FPGA, in which a ppc405
> system is running. The board includes an ST SPI Flash, which I have
> to use as the only non-volatile memory available (in case important,
> its Atmark Techno suzaku_v sz410).
> 
> I have been able to add the board configuration in u-boot and build
> an image. But, as ppc405 in xilinx fpga can't but from spi flash, I
> have to use a first stage bootloader to load u-boot. This seems to be
> normal in xilinx FPGAs as u-boot in petalinux is loaded to. I
> thaught, if that's the case, I should be able to load u-boot directly
> to DDR and test it. But when I do so, u-boot hangs after it reaches
> relocate_code. I should be missing sth, but don't find it. Could
> anybody help me?

Hi Seyyed,

I'm not familiar with your hardware (including using the ppc405), but if 
I understand you correctly, you are trying to manually (e.g. via a 
debugger) load a test u-boot into DDR and then run it from there.

The typical problem with this approach is that your code does the DDR 
initialization *while running out of DDR*.  While DDR is being 
initialized, it doesn't work as RAM, which causes your program to crash.

You need to find all of your DDR and processor initialization that 
causes u-boot initialization to crash, and disable it.  There are board 
configurations that do this with #if constructs, but I don't remember 
which ones.

For the discouraging discussion, see:
<http://www.denx.de/wiki/view/DULG/CanUBootBeConfiguredSuchThatItCanBeStartedInRAM>

Best regards,
gvb


More information about the U-Boot mailing list