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>
diff --git a/scripts/imgtool/image.py b/scripts/imgtool/image.py
index 14265d5..acb1794 100644
--- a/scripts/imgtool/image.py
+++ b/scripts/imgtool/image.py
@@ -50,6 +50,7 @@
 IMAGE_F = {
         'PIC':                   0x0000001,
         'NON_BOOTABLE':          0x0000010,
+        'RAM_LOAD':              0x0000020,
         'ENCRYPTED':             0x0000004,
 }
 
@@ -432,6 +433,10 @@
         flags = 0
         if enckey is not None:
             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]
         fmt = (e +
diff --git a/scripts/imgtool/main.py b/scripts/imgtool/main.py
index de9b303..bc96ca9 100755
--- a/scripts/imgtool/main.py
+++ b/scripts/imgtool/main.py
@@ -231,7 +231,7 @@
 @click.option('-x', '--hex-addr', type=BasedIntParamType(), required=False,
               help='Adjust address in hex output file.')
 @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,
               help='When upgrading, save encrypted key TLVs instead of plain '
                    'keys. Enable when BOOT_SWAP_SAVE_ENCTLV config option '