[U-Boot] [PATCH] arm: vf610: fix boot from SD-card
Bill Pringlemeir
bpringlemeir at nbsps.com
Thu Jan 8 19:29:44 CET 2015
On 8 Jan 2015, stefan at agner.ch wrote:
> Boot from SD-card (and probably also from NAND) was broken since
> commit d6d07a9bec ("arm: vf610: add NAND support for vf610twr").
It was broke before that when fsl_qspi was added? Or at least that also
added a lot of code. It maybe dependant on the compiler (and hence
binary size).
> It looks like the increased size of U-Boot lead to a situation where
> the boot ROM overwrote its own stack/heap while loading U-Boot from
> the SD-card to the SRAM.
I didn't think of this. That is a possibility.
> However, U-Boot worked fine when loaded through USB serial loader
> directly into SRAM. It looks like loading from SD-card uses other
> stack/heap location then the serial loader (or maybe no stack or heap
> at all).
I have tried various u-boot images with git-bisect. For instance when
the QSPI was added, I had issues. It seems that an image near 220k was
a threshold. The offset in the On-chip SRAM is 0x8000 (from the 'ld'
file) and the imximage prints '3f008000'. So, I think that the offset
takes the breaking point to where we cross from OC-SRAM0 to OC-SRAM1; I
guess a stack maybe located here but it must be fairly small. I thought
that maybe the HAB has a mapping of device memory start/size and didn't
like it when we crossed the boundary.
> This fix moves U-Boot to gfxRAM, which is 512kB in size and is not
> used by the boot ROM nor the SD-card loader of it.
Whatever the issue is, this fixes it for me as well. I would guess that
NAND boot is also not possible or probably anything but serial-download
modes.
Thanks,
Bill Pringlemeir.
More information about the U-Boot
mailing list