[U-Boot] [PATCH v2 2/2] spl: socfpga: stratix10: add hex file output for spl image

Dalon L Westergreen dalon.westergreen at linux.intel.com
Thu Sep 6 13:49:15 UTC 2018


On Thu, 2018-09-06 at 07:51 +0200, Simon Goldschmidt wrote:
> On Thu, Sep 6, 2018 at 5:04 AM Dalon Westergreen <dwesterg at gmail.com> wrote:
> 
> Stratix10 requires a hex image of the spl for boot.  The heximage is added to
> the FPGA configuration image and loaded tothe processor memory by the
> configuration engine.
> Although not running a Stratix10, I also need a hex image for spl toboot
> unconfigured CycloneV devices.However, for this, it is enough to objcopy u-
> boot.spl.sfp to hex andadd the resulting file to the FPGA configuration image.
> Quartus does complain about the format a bit, but it does work. Isthis
> different for Stratix10?

The difference is that in stratix10 the SDM loads the spl image into the HPS
onchip ram.  The SPL image is actually a part of the fpga configuration
image.  The tool that adds the image to the fpga configuration image validates
its address span, so using objcopy on the binary requires a --change-
address.  Since the file is always needed for stratix10, it seems prudent to
generate it as part of the build.
> Simon
> 
> v2:  -> add CONFIG_OF_EMBED to include dtb in elf  -> generate hex from elf
> source
> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com>---
> configs/socfpga_stratix10_defconfig | 1 +
> scripts/Makefile.spl                | 6 ++++++ 2 files changed, 7
> insertions(+)
> diff --git a/configs/socfpga_stratix10_defconfig
> b/configs/socfpga_stratix10_defconfigindex dceadff439..17cc732cbe 100644---
> a/configs/socfpga_stratix10_defconfig+++
> b/configs/socfpga_stratix10_defconfig@@ -56,3 +56,4 @@ CONFIG_DM_USB=y
> CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y
> CONFIG_USE_TINY_PRINTF=y+CONFIG_OF_EMBED=ydiff --git a/scripts/Makefile.spl
> b/scripts/Makefile.splindex 76d08fd92b..b09bd40b2a 100644---
> a/scripts/Makefile.spl+++ b/scripts/Makefile.spl@@ -190,6 +190,7 @@ endif
> ifdef CONFIG_ARCH_SOCFPGA ALL-$(CONFIG_TARGET_SOCFPGA_GEN5)      +=
> $(obj)/$(SPL_BIN).sfp ALL-$(CONFIG_TARGET_SOCFPGA_ARRIA10)   +=
> $(obj)/$(SPL_BIN).sfp+ALL-$(CONFIG_TARGET_SOCFPGA_STRATIX10) +=
> $(obj)/$(SPL_BIN).hex endif
>  ifdef CONFIG_ARCH_SUNXI@@ -299,6 +300,11 @@ OBJCOPYFLAGS_u-boot-x86-16bit-
> spl.bin := -O binary -j .start16 -j .resetvec $(obj)/u-boot-x86-16bit-spl.bin: 
> $(obj)/u-boot-spl FORCE        $(call if_changed,objcopy)
> +OBJCOPYFLAGS_$(SPL_BIN).hex = -O ihex++$(obj)/$(SPL_BIN).hex:
> $(obj)/$(SPL_BIN) FORCE+       $(call if_changed,objcopy)+ LDFLAGS_$(SPL_BIN)
> += -T u-boot-spl.lds $(LDFLAGS_FINAL)
>  # Avoid 'Not enough room for program headers' error on binutils 2.28
> onwards.--2.17.1
> _______________________________________________U-Boot mailing listU-
> Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot_______________________________________________U-Boot
>  mailing listU-Boot at lists.denx.dehttps://lists.denx.de/listinfo/u-boot


More information about the U-Boot mailing list