mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 00:48:52 +09:00
![Paul Burton](/assets/img/avatar_default.png)
When flashing U-Boot on a Boston board using Xilinx Vivado tools, the final 0x00 byte which ends the .relocs section seems to be skipped & left in flash as 0xff unless the data contained in the .mcs is padded out to a 16 byte boundary. Without our final zero byte relocation will fail with an error about a spurious reloc: Avoid this problem by padding out the data in the .mcs file to a 16 byte boundary using srec_cat's -range-pad functionality. Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
18 lines
428 B
Makefile
18 lines
428 B
Makefile
#
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
|
|
quiet_cmd_srec_cat = SRECCAT $@
|
|
cmd_srec_cat = srec_cat -output $@ -$2 \
|
|
$< -binary \
|
|
-fill 0x00 -within $< -binary -range-pad 16 \
|
|
-offset $3
|
|
|
|
u-boot.mcs: u-boot.bin
|
|
$(call cmd,srec_cat,intel,0x7c00000)
|
|
|
|
# if srec_cat is present build u-boot.mcs by default
|
|
has_srec_cat = $(call try-run,srec_cat -VERSion,y,n)
|
|
ALL-$(has_srec_cat) += u-boot.mcs
|
|
CLEAN_FILES += u-boot.mcs
|