Skip to content

Commit c27e779

Browse files
ahasztagtomchy
authored andcommitted
doc: Add documentation for direct-xip merged slot build files
Add documentation for merged slot build files. Signed-off-by: Artur Hadasz <[email protected]>
1 parent 47e5668 commit c27e779

File tree

2 files changed

+39
-6
lines changed

2 files changed

+39
-6
lines changed

doc/mcuboot/readme-ncs.rst

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,17 @@ See the following user guides for more information on adding, configuring, and t
2424
When you add MCUboot to your application build, the files that can be used for firmware over-the-air (FOTA) upgrades are automatically generated.
2525
See the `MCUboot output build files`_ page for a list of all these files.
2626

27-
.. note::
28-
When you use MCUboot in the direct-xip mode, enable the :kconfig:option:`SB_CONFIG_MCUBOOT_BUILD_DIRECT_XIP_VARIANT` sysbuild Kconfig option to let the build system generate an additional set of files for the second application slot.
29-
These files are identical to the ones listed on the `MCUboot output build files`_ page, but they are placed in the :file:`mcuboot_secondary_app` folder for the main application, while the files for the remaining applications are located in the respective :file:`<application>_secondary_app` folder.
30-
For example, :file:`mcuboot_secondary_app/zephyr/zephyr.signed.bin` is created and placed in the second slot on the target device when the :file:`zephyr.signed.bin` file is placed in the first slot.
31-
Similarly, the :file:`ipc_radio_secondary_app/zephyr/zephyr.signed.bin` file is created and placed in the second slot on the target device when the :file:`ipc_radio/zephyr/zephyr.signed.bin` file is placed in the first slot.
32-
For more information about the direct-xip mode, see the *Equal slots (direct-xip)* section in the :doc:`Bootloader documentation <design>`.
27+
Using MCUboot in the direct-xip mode
28+
************************************
29+
30+
When you use MCUboot in the direct-xip mode, enable the :kconfig:option:`SB_CONFIG_MCUBOOT_BUILD_DIRECT_XIP_VARIANT` sysbuild Kconfig option to let the build system generate an additional set of files for the second application slot.
31+
For platforms other than nRF54H20, these files are identical to those listed on the `MCUboot output build files`_ page.
32+
However, they are placed in the :file:`mcuboot_secondary_app` folder for the main application, while the files for the remaining applications are located in their respective :file:`<application>_secondary_app` folders.
33+
For example, the :file:`mcuboot_secondary_app/zephyr/zephyr.signed.bin` file is created and placed in the second slot on the target device when the :file:`zephyr.signed.bin` file is placed in the first slot.
34+
Similarly, the :file:`ipc_radio_secondary_app/zephyr/zephyr.signed.bin` file is created and placed in the second slot on the target device when the :file:`ipc_radio/zephyr/zephyr.signed.bin` file is placed in the first slot.
35+
36+
For the nRF54H20 SoC, the merged-slot variant is used, in which the application and radio core images are merged into a single image.
37+
In this case, the update files are located in the common :file:`zephyr` directory, rather than within any specific application folder.
38+
The file used for the primary application is :file:`zephyr.signed.bin`, while the file used for the secondary application is :file:`zephyr_secondary_app.signed.bin`.
39+
40+
For more information about the direct-xip mode, see the *Equal slots (direct-xip)* section in the :doc:`Bootloader documentation <design>`.

doc/nrf/app_dev/config_and_build/output_build_files.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,31 @@ Which files you are going to use depends on the application configuration and no
9696
| :file:`<application>_secondary_app/zephyr` | :ref:`Compatible with MCUboot <mcuboot:mcuboot_ncs>` in the :doc:`direct-xip mode <mcuboot:design>`. | |
9797
| folder | ``zephyr`` is the value of :kconfig:option:`CONFIG_KERNEL_BIN_NAME`. | |
9898
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
99+
| :file:`zephyr.signed.bin` in | Image update file used to create :file:`dfu_application.zip` for multi-core DFU in merged slot | DFU process for multi-core board targets using direct-xip mode. |
100+
| :file:`zephyr` folder | variant (currently only direct-xip on nRF54H20). | |
101+
| | Can also be used standalone for a multi image merged-slot DFU. | |
102+
| | Contains the signed version of the application merged with the radio image. | |
103+
| | :ref:`Compatible with MCUboot <mcuboot:mcuboot_ncs>`. | |
104+
| | ``zephyr`` is the value of :kconfig:option:`CONFIG_KERNEL_BIN_NAME`. | |
105+
| | The file is located in the :file:`build/zephyr` directory. | |
106+
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
107+
| :file:`zephyr.signed.hex` in | HEX file variant of the :file:`<file_name>.signed.bin` file. | Programming multi-core board targets using direct-xip mode. |
108+
| :file:`zephyr` folder | Can also be used standalone for a multi-image merged slot DFU. | |
109+
| | Contains the signed version of the application merged with the radio image. | |
110+
| | :ref:`Compatible with MCUboot <mcuboot:mcuboot_ncs>`. | |
111+
| | ``zephyr`` is the value of :kconfig:option:`CONFIG_KERNEL_BIN_NAME`. | |
112+
| | The file is located in the :file:`build/zephyr` directory. | |
113+
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
114+
| :file:`zephyr_secondary_app.signed.bin` | Secondary slot variant of the :file:`zephyr/zephyr.signed.bin` file. | DFU process for multi-core board targets using direct-xip mode. |
115+
| in :file:`zephyr` folder | :ref:`Compatible with MCUboot <mcuboot:mcuboot_ncs>` in the :doc:`direct-xip mode <mcuboot:design>` | |
116+
| | in merged slot variant, | |
117+
| | ``zephyr`` is the value of :kconfig:option:`CONFIG_KERNEL_BIN_NAME`. | |
118+
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
119+
| :file:`zephyr_secondary_app.signed.hex` | Secondary slot variant of the :file:`zephyr/zephyr.signed.hex` file. | Programming multi-core board targets using direct-xip mode. |
120+
| in :file:`zephyr` folder | :ref:`Compatible with MCUboot <mcuboot:mcuboot_ncs>` in the :doc:`direct-xip mode <mcuboot:design>` | |
121+
| | in merged slot variant, | |
122+
| | ``zephyr`` is the value of :kconfig:option:`CONFIG_KERNEL_BIN_NAME`. | |
123+
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
99124
| :file:`dfu_application.zip` | Zip file containing both the MCUboot-compatible update images for one or more cores and a manifest | DFU process for both single-core and multi-core applications. |
100125
| | describing its contents. | |
101126
+--------------------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+

0 commit comments

Comments
 (0)