[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:39:25 UTC 2018
On Thu, 2018-09-06 at 12:09 +0200, Marek Vasut wrote:
> On 09/06/2018 05:02 AM, Dalon Westergreen 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.
> 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=y
> Why is this needed ? And where did the objcopy hack go ? What is
> theexplanation here ?
You suggested the use of CONFIG_OF_EMBED as an alternative to using the u-boot-
spl-dtb.bin for objcopy. The intent is to ensure that the spl elf has the dtb
included, and then a simple objcopy to elf to hex is fine.You no longer need the
--change-address as the elf indicates the correct start address, unlike the
binary.
> diff --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
> CONFIG_SPL_TARGET "u-boot-spl.hex" can replace this addition I think ?
> 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)+
> This is generic, separate patch please.
> LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
Will do
> # Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
>
>
>
More information about the U-Boot
mailing list