Tom & Scott,
On 09/20/2012 12:40 AM, Tom Rini wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 09/19/12 16:36, Scott Wood wrote:
On 09/19/2012 06:31:29 PM, Tom Rini wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/19/12 15:39, Scott Wood wrote:
On 09/19/2012 06:25:26 AM, José Miguel Gonçalves wrote:
Samsung's S3C24XX SoCs need this in order to generate a
binary image with a padded SPL concatenated with U-Boot.
Signed-off-by: José Miguel Gonçalves <jose.goncal...@inov.pt>
--- Changes for v2: - None
Changes for v3: - Changed new binary target name from
u-boot-ubl.bin to u-boot-pad.bin
Changes for v4: - None --- Makefile | 11 ++++++----- 1 file
changed, 6 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile index 8738d55..86dedca
100644 --- a/Makefile +++ b/Makefile @@ -433,14 +433,15 @@
$(obj)u-boot.sha1: $(obj)u-boot.bin $(obj)u-boot.dis:
$(obj)u-boot $(OBJDUMP) -d $< > $@
-$(obj)u-boot.ubl: $(obj)spl/u-boot-spl.bin
$(obj)u-boot.bin +$(obj)u-boot-pad.bin:
$(obj)spl/u-boot-spl.bin $(obj)u-boot.bin $(OBJCOPY)
${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary
$(obj)spl/u-boot-spl $(obj)spl/u-boot-spl-pad.bin - cat
$(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin >
$(obj)u-boot-ubl.bin - $(obj)tools/mkimage -n
$(UBL_CONFIG) -T ublimage \ - -e
$(CONFIG_SYS_TEXT_BASE) -d $(obj)u-boot-ubl.bin
$(obj)u-boot.ubl - rm $(obj)u-boot-ubl.bin + cat
$(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin >
$(obj)u-boot-pad.bin rm $(obj)spl/u-boot-spl-pad.bin
This rule lists u-boot-spl.bin as a prerequisite, but it
doesn't appear to use it -- it uses u-boot-spl instead.
It seems that either spl/Makefile should produce u-boot-spl
rather than u-boot-spl.bin and let the toplevel Makefile deal
with converting it to a binary, or spl/Makefile should take
care of adding any needed padding for the target and the final
rule should just be a concatenation.
So, if we use a weak PAD_TO value of say 0x1, we could always
"pad" u-boot-spl.bin out and then do the concatenation here and
in a few other targets as well.
Yes, or use a variable that includes the linker option, so that it
expands to an empty string if padding isn't required.
Yes, I don't know if say IMAGE_PAD ?= "" and having boards set that to
- --pad-to=... or just saying --pad-to=$(PAD_SIZE) and PAD_SIZE ?= 0x1
ends up looking cleaner once all is said and done. First one to try
both and patch... :)
Please check the following patch. It seems to work for me...
diff --git a/Makefile b/Makefile
index 8738d55..fad8b33 100644
--- a/Makefile
+++ b/Makefile
@@ -433,13 +433,12 @@ $(obj)u-boot.sha1: $(obj)u-boot.bin
$(obj)u-boot.dis: $(obj)u-boot
$(OBJDUMP) -d $< > $@
-$(obj)u-boot.ubl: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
- $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary
$(obj)spl/u-boot-spl $(obj)spl/u-boot-spl-pad.bin
- cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin >
$(obj)u-boot-ubl.bin
+$(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
+ cat $^ > $@
+
+$(obj)u-boot.ubl: $(obj)u-boot-with-spl.bin
$(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \
- -e $(CONFIG_SYS_TEXT_BASE) -d $(obj)u-boot-ubl.bin $(obj)u-boot.ubl
- rm $(obj)u-boot-ubl.bin
- rm $(obj)spl/u-boot-spl-pad.bin
+ -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
$(obj)u-boot.ais: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
$(obj)tools/mkimage -s -n /dev/null -T aisimage \
diff --git a/spl/Makefile b/spl/Makefile
index f96c08e..6ea9f26 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -23,6 +23,8 @@ include $(TOPDIR)/config.mk
# We want the final binaries in this directory
obj := $(OBJTREE)/spl/
+PAD_TO ?= 1
+
HAVE_VENDOR_COMMON_LIB := $(shell [ -f
$(SRCTREE)/board/$(VENDOR)/common/Makefile ] \
&& echo y || echo n)
@@ -124,7 +126,7 @@ $(obj)$(BOARD)-spl.bin: $(obj)u-boot-spl.bin
endif
$(obj)u-boot-spl.bin: $(obj)u-boot-spl
- $(OBJCOPY) $(OBJCFLAGS) -O binary $< $@
+ $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $< $@
GEN_UBOOT = \
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) | \
Best regards,
José Gonçalves
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot