diff options
author | Etienne Carriere <etienne.carriere@st.com> | 2018-12-12 10:53:14 +0100 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-12-12 13:23:20 +0100 |
commit | ed4b5e39c96bd035788ff4f07c87232d934c1264 (patch) | |
tree | 3185ea9ecdf2c8fe07cf6e47266653a1f9d6f7db /core/arch/arm/plat-stm32mp1 | |
parent | 062e3d01c039dac541b9fc9eaa1d6c4497435474 (diff) |
stm32mp1: update boot image header script tool
Introduce the binary image type information to the STM32 header
used for OP-TEE boot images.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/plat-stm32mp1')
-rw-r--r-- | core/arch/arm/plat-stm32mp1/link.mk | 6 | ||||
-rwxr-xr-x | core/arch/arm/plat-stm32mp1/scripts/stm32image.py | 17 |
2 files changed, 15 insertions, 8 deletions
diff --git a/core/arch/arm/plat-stm32mp1/link.mk b/core/arch/arm/plat-stm32mp1/link.mk index 97e22ea3..01a9b8ed 100644 --- a/core/arch/arm/plat-stm32mp1/link.mk +++ b/core/arch/arm/plat-stm32mp1/link.mk @@ -11,14 +11,14 @@ endef all: $(link-out-dir)/tee-header_v2.stm32 cleanfiles += $(link-out-dir)/tee-header_v2.stm32 $(link-out-dir)/tee-header_v2.stm32: $(link-out-dir)/tee-header_v2.bin - $(stm32image_cmd) --source $< --dest $@ + $(stm32image_cmd) --source $< --dest $@ --bintype 0x20 all: $(link-out-dir)/tee-pager_v2.stm32 cleanfiles += $(link-out-dir)/tee-pager_v2.stm32 $(link-out-dir)/tee-pager_v2.stm32: $(link-out-dir)/tee-pager_v2.bin - $(stm32image_cmd) --source $< --dest $@ + $(stm32image_cmd) --source $< --dest $@ --bintype 0x21 all: $(link-out-dir)/tee-pageable_v2.stm32 cleanfiles += $(link-out-dir)/tee-pageable_v2.stm32 $(link-out-dir)/tee-pageable_v2.stm32: $(link-out-dir)/tee-pageable_v2.bin - $(stm32image_cmd) --source $< --dest $@ + $(stm32image_cmd) --source $< --dest $@ --bintype 0x22 diff --git a/core/arch/arm/plat-stm32mp1/scripts/stm32image.py b/core/arch/arm/plat-stm32mp1/scripts/stm32image.py index 55363af9..6a2fd6e3 100755 --- a/core/arch/arm/plat-stm32mp1/scripts/stm32image.py +++ b/core/arch/arm/plat-stm32mp1/scripts/stm32image.py @@ -35,7 +35,7 @@ def stm32image_checksum(dest_fd, sizedest): return csum -def stm32image_set_header(dest_fd, load, entry): +def stm32image_set_header(dest_fd, load, entry, bintype): sizedest = get_size(dest_fd) checksum = stm32image_checksum(dest_fd, sizedest) @@ -68,11 +68,12 @@ def stm32image_set_header(dest_fd, load, entry): dest_fd.write(b'\x00' * 64) # Padding - dest_fd.write(b'\x00' * 84) + dest_fd.write(b'\x00' * 83) + dest_fd.write(struct.pack('<B', bintype)) dest_fd.close() -def stm32image_create_header_file(source, dest, load, entry): +def stm32image_create_header_file(source, dest, load, entry, bintype): dest_fd = open(dest, 'w+b') src_fd = open(source, 'rb') @@ -86,7 +87,7 @@ def stm32image_create_header_file(source, dest, load, entry): src_fd.close() - stm32image_set_header(dest_fd, load, entry) + stm32image_set_header(dest_fd, load, entry, bintype) dest_fd.close() @@ -113,6 +114,10 @@ def get_args(): required=True, type=int_parse, help='Entry point') + parser.add_argument('--bintype', + required=True, type=int_parse, + help='Binary identification') + return parser.parse_args() @@ -122,11 +127,13 @@ def main(): destination_file = args.dest load_address = args.load entry_point = args.entry + binary_type = args.bintype stm32image_create_header_file(source_file, destination_file, load_address, - entry_point) + entry_point, + binary_type) if __name__ == "__main__": |