BL2: Support RAM_LOAD with separate S/NS images
Change-Id: I05c397e0be8b855c1352d45a3fafb9b9820ce105
Signed-off-by: Jamie Fox <jamie.fox@arm.com>
diff --git a/docs/platform/ext/readme.rst b/docs/platform/ext/readme.rst
index 1057e03..da37c46 100644
--- a/docs/platform/ext/readme.rst
+++ b/docs/platform/ext/readme.rst
@@ -274,9 +274,13 @@
The ``imgtool.py`` tool is used to handle the tasks related to signing the
binary. It requires the following definition:
-- ``IMAGE_LOAD_ADDRESS`` - Defines the address to where the image is loaded and
- is executed from. Only used if ``MCUBOOT_UPGRADE_STRATEGY`` is configured to
- be ``RAM_LOAD``.
+- ``S_IMAGE_LOAD_ADDRESS`` - Defines the address to where the Secure (or
+ combined Secure and Non-secure) image is loaded and is executed from. Only
+ used if ``MCUBOOT_UPGRADE_STRATEGY`` is configured to be ``RAM_LOAD``.
+
+- ``NS_IMAGE_LOAD_ADDRESS`` - Defines the address to where the Non-secure image
+ is loaded and is executed from. Only used if ``MCUBOOT_UPGRADE_STRATEGY`` is
+ configured to be ``RAM_LOAD`` and ``MCUBOOT_IMAGE_NUMBER`` is greater than 1.
***************************************
Expose target support for HW components
@@ -291,6 +295,6 @@
--------------
-*Copyright (c) 2017-2021, Arm Limited. All rights reserved.*
+*Copyright (c) 2017-2022, Arm Limited. All rights reserved.*
*Copyright (c) 2020-2022 Cypress Semiconductor Corporation (an Infineon company)
or an affiliate of Cypress Semiconductor Corporation. All rights reserved.*
diff --git a/docs/technical_references/design_docs/tfm_secure_boot.rst b/docs/technical_references/design_docs/tfm_secure_boot.rst
index fd4c0bf..675cd31 100644
--- a/docs/technical_references/design_docs/tfm_secure_boot.rst
+++ b/docs/technical_references/design_docs/tfm_secure_boot.rst
@@ -210,10 +210,6 @@
address, the location in RAM where the image is copied to, is stored in the
image header.
-.. Note::
-
- Only single image boot is supported with ``RAM load`` upgrade mode.
-
Summary of different modes for image upgrade
============================================
Different implementations of the image upgrade operation (whether through
@@ -763,9 +759,11 @@
To enable RAM loading, please set ``MCUBOOT_UPGRADE_STRATEGY`` to "RAM_LOAD"
(either in the configuration file or through the command line), and then specify
a destination load address in RAM where the image can be copied to and executed
-from. The ``IMAGE_LOAD_ADDRESS`` macro must be specified in the target dependent
-files, for example with Musca-S, its ``flash_layout.h`` file in the ``platform``
-folder should include ``#define IMAGE_LOAD_ADDRESS #0xA0020000``
+from. The ``S_IMAGE_LOAD_ADDRESS`` macro must be specified in the target
+dependent files, and if multiple image boot is enabled then
+``NS_IMAGE_LOAD_ADDRESS`` must also be defined. For example with Musca-S, its
+``flash_layout.h`` file in the ``platform`` folder should include ``#define
+S_IMAGE_LOAD_ADDRESS #0xA0020000``
Executing firmware upgrade on Musca-S board
--------------------------------------------