imgtool: Set RAM_LOAD flag in header when needed

Set the RAM_LOAD flag in the image header when a load address was passed
to the imgtool script, indicating that the image should be loaded into
RAM and run from there.

Change-Id: Id9d2c179d7fa1ff7d15cf671c09c61b5b78c88a8
Signed-off-by: David Vincze <david.vincze@linaro.org>
This commit is contained in:
David Vincze 2020-04-07 14:12:33 +02:00 committed by David Brown
parent 7973f573b7
commit 1e0c54429d
2 changed files with 6 additions and 1 deletions

View File

@ -50,6 +50,7 @@ MAX_SW_TYPE_LENGTH = 12 # Bytes
IMAGE_F = { IMAGE_F = {
'PIC': 0x0000001, 'PIC': 0x0000001,
'NON_BOOTABLE': 0x0000010, 'NON_BOOTABLE': 0x0000010,
'RAM_LOAD': 0x0000020,
'ENCRYPTED': 0x0000004, 'ENCRYPTED': 0x0000004,
} }
@ -432,6 +433,10 @@ class Image():
flags = 0 flags = 0
if enckey is not None: if enckey is not None:
flags |= IMAGE_F['ENCRYPTED'] flags |= IMAGE_F['ENCRYPTED']
if self.load_addr != 0:
# Indicates that this image should be loaded into RAM
# instead of run directly from flash.
flags |= IMAGE_F['RAM_LOAD']
e = STRUCT_ENDIAN_DICT[self.endian] e = STRUCT_ENDIAN_DICT[self.endian]
fmt = (e + fmt = (e +

View File

@ -231,7 +231,7 @@ class BasedIntParamType(click.ParamType):
@click.option('-x', '--hex-addr', type=BasedIntParamType(), required=False, @click.option('-x', '--hex-addr', type=BasedIntParamType(), required=False,
help='Adjust address in hex output file.') help='Adjust address in hex output file.')
@click.option('-L', '--load-addr', type=BasedIntParamType(), required=False, @click.option('-L', '--load-addr', type=BasedIntParamType(), required=False,
help='Load address for image when it is in its primary slot.') help='Load address for image when it should run from RAM.')
@click.option('--save-enctlv', default=False, is_flag=True, @click.option('--save-enctlv', default=False, is_flag=True,
help='When upgrading, save encrypted key TLVs instead of plain ' help='When upgrading, save encrypted key TLVs instead of plain '
'keys. Enable when BOOT_SWAP_SAVE_ENCTLV config option ' 'keys. Enable when BOOT_SWAP_SAVE_ENCTLV config option '