From 35eb82d8ed8bb4a57837863b319fd35f477d624f Mon Sep 17 00:00:00 2001 From: Maximilian Deubel Date: Mon, 28 Oct 2024 13:07:36 +0100 Subject: [PATCH] ci: fix dfu check This patch fixes the dfu compat check. Signed-off-by: Maximilian Deubel --- scripts/nsib_signature_check.py | 15 ++++++++++++--- scripts/pmr_nrf53.txt | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/nsib_signature_check.py b/scripts/nsib_signature_check.py index 1b0762a5..60e881ac 100644 --- a/scripts/nsib_signature_check.py +++ b/scripts/nsib_signature_check.py @@ -49,9 +49,8 @@ def get_fw_info_version(image): else: print(f"Invalid firmware info structure at offset 0x{offset:08x}, valid: 0x{valid:08x}") -def check_signature(hex_file, public_key, start_address, version_expected): +def check_signature(image, public_key, start_address, version_expected): public_key_bytes_expected = public_key.to_string() - image = IntelHex(hex_file) version = get_fw_info_version(image) if version_expected is not None and version != version_expected: @@ -91,6 +90,16 @@ def check_signature(hex_file, public_key, start_address, version_expected): return raise Exception("No matching signature found in the image.") +def get_image_hex(file_name): + file_name = str(file_name.name) + if file_name.endswith('.hex'): + return IntelHex(file_name) + elif file_name.endswith('.bin'): + with open(file_name, 'rb') as f: + raw_bytes = f.read() + image = IntelHex() + image.frombytes(raw_bytes) + return image def main(): @@ -102,7 +111,7 @@ def main(): else: start_address = None - check_signature(args.input, public_key, start_address, args.version) + check_signature(get_image_hex(args.input), public_key, start_address, args.version) if __name__ == '__main__': main() diff --git a/scripts/pmr_nrf53.txt b/scripts/pmr_nrf53.txt index 0b1a39e7..af2460e6 100644 --- a/scripts/pmr_nrf53.txt +++ b/scripts/pmr_nrf53.txt @@ -53,3 +53,4 @@ +-------------------------------------------+ | 0x21000000: sram_primary (0x10000 - 64kB) | +-------------------------------------------+ +