diff --git a/scripts/imgtool.py b/scripts/imgtool.py index 6bc3cd05..d496d0f5 100755 --- a/scripts/imgtool.py +++ b/scripts/imgtool.py @@ -29,7 +29,6 @@ def do_getpub(args): key.emit_c() def do_sign(args): - align = args.align if args.rsa_pkcs1_15: keys.sign_rsa_pss = False img = image.Image.load(args.infile, version=args.version, diff --git a/scripts/imgtool/image.py b/scripts/imgtool/image.py index 49b82492..4cb66625 100644 --- a/scripts/imgtool/image.py +++ b/scripts/imgtool/image.py @@ -27,12 +27,11 @@ TLV_VALUES = { TLV_HEADER_SIZE = 4 -# Sizes of the image trailer, depending on image alignment. +# Sizes of the image trailer, depending on flash write size. trailer_sizes = { - 1: 402, - 2: 788, - 4: 1560, - 8: 3104, } + write_size: 128 * 3 * write_size + 8 * 2 + 16 + for write_size in [1, 2, 4, 8] +} boot_magic = bytes([ 0x77, 0xc2, 0x95, 0xf3, @@ -166,7 +165,7 @@ class Image(): msg = "Image size (0x{:x}) + trailer (0x{:x}) exceeds requested size 0x{:x}".format( len(self.payload), tsize, size) raise Exception(msg) - pbytes = b'\xff' * padding - pbytes += boot_magic + pbytes = b'\xff' * padding pbytes += b'\xff' * (tsize - len(boot_magic)) + pbytes += boot_magic self.payload += pbytes