[U-Boot] U-Boot 2016.03 on Altera Cyclone 5 SOCKIT

Anatolij Gustschin agust at denx.de
Fri May 13 15:44:02 CEST 2016


Hi Nathan,

On Thu, 12 May 2016 20:11:00 +0000
Nathan Barrett nathan.barrett at ndc.com wrote:

> Hello All,
> 
> I'm trying to run U-Boot 2016 on a Terasic Cyclone 5 SoC Kit.  I've got everything running up to this point:
> 
> U-Boot SPL 2016.03 (May 12 2016 - 14:56:58)
> ../drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
> ../drivers/ddr/altera/sequencer.c: CALIBRATION PASSED
> ../drivers/ddr/altera/sequencer.c: Calibration complete
> Trying to boot from MMC
> bad magic
> SPL: failed to boot from all boot devices
> ### ERROR ### Please RESET the board ###
> 
> If I look at my generated u-boot-with-spl.sfp, at address 0x3FFF0, I can see that U-Boot is sitting there and starts with the proper magic number header (0x27051956).
> 
> This file is being placed onto my SD card via
> 
> #sudo dd if=u-boot-with-spl.sfp of=/dev/sdb3

I think you do not have CONFIG_SPL_FAT_SUPPORT or CONFIG_SPL_EXT_SUPPORT
defined in the board config file and SPL uses MMCSD_MODE_RAW and just
reads at offset CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR of the card
and not from the partition 3.
 
> I went ahead and added some debugging breadcrumbs as well:
> 
> U-Boot SPL 2016.03 (May 12 2016 - 15:27:36)
> ../drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
> ../drivers/ddr/altera/sequencer.c: CALIBRATION PASSED
> ../drivers/ddr/altera/sequencer.c: Calibration complete
> Trying to boot from MMC
> 
> ---At line 37 of common/spl/spl_mmc.c ---
> read sector a00, count=1

SPL reads at byte offset 0x140000 of the device it seems.

> CONFIG_SYS_TEXT_BASE = 1000040
> sizeof(struct image_header) = 40
> magic = dba5b8aa
> ---------------------------------------------------
> 
> bad magic
> SPL: failed to boot from all boot devices
> ### ERROR ### Please RESET the board ###
> 
> Can anyone assist?

Does SPL detect the image if you write it to the sd-card as below?

  dd if=u-boot-with-spl.sfp of=/dev/sdb bs=1M seek=1

But please only write it this way if there is no partition
with important data at the beginning of your sd-card.

HTH,

Anatolij


More information about the U-Boot mailing list