Skip to content

Commit 8e09355

Browse files
committed
doc: Remove documentation for child/parent image
Removes documentation for this now removed feature Signed-off-by: Jamie McCrae <[email protected]>
1 parent 92fcf93 commit 8e09355

File tree

77 files changed

+141
-1294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+141
-1294
lines changed

applications/nrf5340_audio/tools/buildprog/program.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __populate_uicr(dev):
4141
def _program_cores(dev: DeviceConf) -> int:
4242
if dev.core_net_programmed == SelectFlags.TBD:
4343
if not path.isfile(dev.hex_path_net):
44-
print("NET core hex not found. Built as APP core child image.")
44+
print("NET core hex not found. Built as APP core image.")
4545
return 1
4646

4747
print(f"Programming net core on: {dev}")

cmake/extensions.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ endfunction()
107107
#
108108
# NCS file function extension.
109109
# This function extends the zephyr_file(CONF_FILES <arg>) function to support
110-
# switching BOARD for child images.
110+
# switching BOARD for images.
111111
#
112112
# It also supports lookup of static partition manager files for based on
113113
# the board name, revision, and the current build type.
@@ -349,7 +349,7 @@ endfunction()
349349
# Usage
350350
# get_shared(<var> IMAGE <img> PROPERTY <property>)
351351
#
352-
# Get a property value defined by the child image or domain <img> if it exists.
352+
# Get a property value defined by an image or domain <img> if it exists.
353353
# The property value will be returned in the variable referenced by <var>.
354354
#
355355
# Example usage 'get_shared(prop_value IMAGE child PROPERTY property_in_child)'

cmake/sysbuild/partition_manager.cmake

Lines changed: 1 addition & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -366,32 +366,19 @@ function(update_runner)
366366
sysbuild_cache(CREATE APPLICATION ${RUNNER_IMAGE})
367367
endfunction()
368368

369-
370369
# APP is a special domain which is handled differently.
371370
# Remove it from the list.
372371
get_property(PM_DOMAINS GLOBAL PROPERTY PM_DOMAINS)
373372
list(REMOVE_ITEM PM_DOMAINS APP)
374373

375-
## Check if current image is the dynamic partition in its domain.
376-
## I.E. it is the only partition without a statically configured size in this
377-
## domain. This is equivalent to the 'app' partition in the root domain.
378-
##
379-
## The dynamic partition is specified by the parent domain (i.e. the domain
380-
## which creates the current domain through 'create_domain_image()'.
381-
#if(DEFINED ${DOMAIN}_PM_DOMAIN_DYNAMIC_PARTITION
382-
# AND "${IMAGE_NAME}" STREQUAL "${${DOMAIN}_PM_DOMAIN_DYNAMIC_PARTITION}"
383-
#)
384-
# set(is_dynamic_partition_in_domain TRUE)
385-
#endif()
386-
387374
get_property(PM_IMAGES GLOBAL PROPERTY PM_IMAGES)
388375
get_property(PM_SUBSYS_PREPROCESSED GLOBAL PROPERTY PM_SUBSYS_PREPROCESSED)
389376

390377
# This file is executed once per domain.
391378
#
392379
# It will be executed if one of the following criteria is true for the
393380
# current image:
394-
# - It's a child image, and is the dynamic partition in the domain
381+
# - It's a secondary image, and is the dynamic partition in the domain
395382
# - It's the root image, and a static configuration has been provided
396383
# - It's the root image, and PM_IMAGES is populated.
397384
# - It's the root image, and other domains exist.
@@ -410,24 +397,8 @@ else()
410397
)
411398
endif()
412399

413-
# Image files, those should be queried from actual image.
414-
# Add the dynamic partition as an image partition.
415-
#set_property(GLOBAL PROPERTY
416-
# ${dynamic_partition}_PM_HEX_FILE
417-
# ${PROJECT_BINARY_DIR}/${KERNEL_HEX_NAME}
418-
# )
419-
#
420-
#set_property(GLOBAL PROPERTY
421-
# ${dynamic_partition}_PM_TARGET
422-
# ${logical_target_for_zephyr_elf}
423-
# )
424-
425400
# Prepare the input_files, header_files, and images lists
426401
set(generated_path include/generated)
427-
# ToDo: In child image, this happens to each domain parent.
428-
# In parent image, it only happen to direct children, not children of children.
429-
# This must be adjusted into:
430-
# Explicitly add the main dynamic partition image
431402
sysbuild_get(${DEFAULT_IMAGE}_input_files IMAGE ${DEFAULT_IMAGE} VAR PM_YML_FILES CACHE)
432403
sysbuild_get(${DEFAULT_IMAGE}_binary_dir IMAGE ${DEFAULT_IMAGE} VAR ZEPHYR_BINARY_DIR CACHE)
433404
list(APPEND prefixed_images ":${dynamic_partition}")
@@ -568,8 +539,6 @@ foreach(d APP ${PM_DOMAINS})
568539
DEFAULT_DRIVER_KCONFIG ${soc_nvs_controller_driver_kc}
569540
DOMAIN ${d}
570541
)
571-
572-
573542
endforeach()
574543

575544
sysbuild_get(ext_flash_enabled IMAGE ${DEFAULT_IMAGE} VAR CONFIG_PM_EXTERNAL_FLASH_ENABLED KCONFIG)
@@ -623,38 +592,8 @@ partition_manager(IN_FILES ${input_files} REGIONS ${regions})
623592
foreach(d ${PM_DOMAINS})
624593
get_property(image_name GLOBAL PROPERTY DOMAIN_APP_${d})
625594
partition_manager(DOMAIN ${d} IN_FILES ${${d}_input_files} REGIONS ${${d}_regions})
626-
627-
# foreach(d ${PM_DOMAINS})
628-
# # Should list be adjust to domain image list ?
629-
# # In files must be adjust according to image being built/
630-
# partition_manager(DOMAIN ${d} IN_FILES ${${d}_input_files} REGIONS ${domain_regions})
631-
# endforeach()
632595
endforeach()
633596

634-
# Start - Code related to network core update. Multi image updates are part of NCSDK-17807
635-
#if (CONFIG_SECURE_BOOT AND CONFIG_BOOTLOADER_MCUBOOT)
636-
# # Create symbols for the offsets required for moving test update hex files
637-
# # to MCUBoots secondary slot. This is needed because objcopy does not
638-
# # support arithmetic expressions as argument (e.g. '0x100+0x200'), and all
639-
# # of the symbols used to generate the offset is only available as a
640-
# # generator expression when MCUBoots cmake code exectues. This because
641-
# # partition manager is performed as the last step in the configuration stage.
642-
# math(EXPR s0_offset "${PM_MCUBOOT_SECONDARY_ADDRESS} - ${PM_S0_ADDRESS}")
643-
# math(EXPR s1_offset "${PM_MCUBOOT_SECONDARY_ADDRESS} - ${PM_S1_ADDRESS}")
644-
#
645-
# set_property(
646-
# TARGET partition_manager
647-
# PROPERTY s0_TO_SECONDARY
648-
# ${s0_offset}
649-
# )
650-
# set_property(
651-
# TARGET partition_manager
652-
# PROPERTY s1_TO_SECONDARY
653-
# ${s1_offset}
654-
# )
655-
#endif()
656-
# End - Code related to network core update. Multi image updates are part of NCSDK-17807
657-
658597
# Always add main partition file to list.
659598
list(APPEND pm_out_partition_file ${APPLICATION_BINARY_DIR}/partitions.yml)
660599
list(APPEND pm_out_region_file ${APPLICATION_BINARY_DIR}/regions.yml)
@@ -719,78 +658,6 @@ else()
719658
endif()
720659
endforeach()
721660

722-
# Start - Code related to network core update. Multi image updates are part of NCSDK-17807
723-
# if (CONFIG_BOOTLOADER_MCUBOOT)
724-
# # Create symbols for the offset required for moving the signed network
725-
# # core application to MCUBoots secondary slot. This is needed
726-
# # because objcopy does not support arithmetic expressions as argument
727-
# # (e.g. '0x100+0x200'), and all of the symbols used to generate the
728-
# # offset are only available as a generator expression when MCUBoots
729-
# # cmake code executes.
730-
#
731-
# # Check if a signed version of the network core application is defined.
732-
# # If so, this indicates that we need to support firmware updates on the
733-
# # network core. This again means that we should generate the required
734-
# # hex files.
735-
# get_shared(cpunet_signed_app_hex IMAGE CPUNET PROPERTY PM_SIGNED_APP_HEX)
736-
#
737-
# if (CONFIG_NRF53_UPGRADE_NETWORK_CORE
738-
# AND DEFINED cpunet_signed_app_hex)
739-
# # The address coming from other domains are not available in this scope
740-
# # since it is imported by a different domain. Hence, it must be fetched
741-
# # through the 'partition_manager' target.
742-
# get_target_property(net_app_addr partition_manager CPUNET_PM_APP_ADDRESS)
743-
#
744-
# get_shared(
745-
# mcuboot_NRF53_MULTI_IMAGE_UPDATE
746-
# IMAGE mcuboot
747-
# PROPERTY NRF53_MULTI_IMAGE_UPDATE
748-
# )
749-
#
750-
# # Check if multi image updates are enabled, in which case we need
751-
# # to use the "_1" variant of the secondary partition for the network core.
752-
# if(DEFINED mcuboot_NRF53_MULTI_IMAGE_UPDATE)
753-
# set(sec_slot_idx "_1")
754-
# endif()
755-
#
756-
# # Calculate the offset from the address which the net/app core app is linked
757-
# # against to the secondary slot. We need these values to generate hex files
758-
# # which targets the secondary slot.
759-
# math(EXPR net_app_to_secondary
760-
# "${xip_addr} \
761-
# + ${PM_MCUBOOT_SECONDARY${sec_slot_idx}_ADDRESS} \
762-
# - ${net_app_addr} \
763-
# + ${PM_MCUBOOT_PAD_SIZE}"
764-
# )
765-
#
766-
# set_property(
767-
# TARGET partition_manager
768-
# PROPERTY net_app_TO_SECONDARY
769-
# ${net_app_to_secondary}
770-
# )
771-
#
772-
# # This value is needed by `imgtool.py` which is used to sign the images.
773-
# set_property(
774-
# TARGET partition_manager
775-
# PROPERTY net_app_slot_size
776-
# ${PM_MCUBOOT_SECONDARY${sec_slot_idx}_SIZE}
777-
# )
778-
# endif()
779-
#
780-
# math(EXPR app_to_secondary
781-
# "${xip_addr} \
782-
# + ${PM_MCUBOOT_SECONDARY_ADDRESS} \
783-
# - ${PM_MCUBOOT_PRIMARY_ADDRESS}"
784-
# )
785-
#
786-
# set_property(
787-
# TARGET partition_manager
788-
# PROPERTY app_TO_SECONDARY
789-
# ${app_to_secondary}
790-
# )
791-
# endif()
792-
# End - Code related to network core update. Multi image updates are part of NCSDK-17807
793-
794661
# Explicitly add the root image domain hex file to the list
795662
list(APPEND domain_hex_files ${CMAKE_BINARY_DIR}/${merged}.hex)
796663
list(APPEND global_hex_depends ${merged}_hex)
@@ -838,30 +705,6 @@ else()
838705
COMMAND_EXPAND_LISTS
839706
)
840707

841-
# ToDo: do we still want to merge hex files for all the domains ?
842-
# if (PM_DOMAINS)
843-
# # For convenience, generate global hex file containing all domains' hex
844-
# # files.
845-
# set(final_merged ${PROJECT_BINARY_DIR}/merged_domains.hex)
846-
#
847-
# # Add command to merge files.
848-
# add_custom_command(
849-
# OUTPUT ${final_merged}
850-
# COMMAND
851-
# ${PYTHON_EXECUTABLE}
852-
# ${ZEPHYR_BASE}/scripts/build/mergehex.py
853-
# -o ${final_merged}
854-
# ${domain_hex_files}
855-
# DEPENDS
856-
# ${domain_hex_files}
857-
# ${global_hex_depends}
858-
# )
859-
#
860-
# # Wrapper target for the merge command.
861-
# add_custom_target(merged_domains_hex ALL DEPENDS ${final_merged})
862-
# endif()
863-
864708
set(ZEPHYR_RUNNER_CONFIG_KERNEL_HEX "${final_merged}"
865709
CACHE STRING "Path to merged image in Intel Hex format" FORCE)
866-
867710
endif()

doc/_utils/redirects.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,10 @@
9191
("config_and_build/companion_components", "app_dev/companion_components"), # Using companion components
9292
("config_and_build/output_build_files", "app_dev/config_and_build/output_build_files"), # Output build files (image files)
9393
("config_and_build/configuring_app/output_build_files", "app_dev/config_and_build/output_build_files"),
94-
("ug_multi_image", "app_dev/config_and_build/multi_image"), # Multi-image build using child and parent images
95-
("app_dev/multi_image/index", "app_dev/config_and_build/multi_image"),
96-
("config_and_build/multi_image", "app_dev/config_and_build/multi_image"),
94+
("ug_multi_image", "app_dev/config_and_build/sysbuild/index"), # Multi-image build using child and parent images (removed in v3.0.0)
95+
("app_dev/multi_image/index", "app_dev/config_and_build/sysbuild/index"),
96+
("config_and_build/multi_image", "app_dev/config_and_build/sysbuild/index"),
97+
("app_dev/config_and_build/multi_image", "app_dev/config_and_build/sysbuild/index"),
9798
("ug_fw_update", "app_dev/bootloaders_dfu/index"), # Firmware updates (removed after 2.5.0)
9899
("app_dev/bootloaders_and_dfu/fw_update", "app_dev/bootloaders_dfu/index"),
99100
("config_and_build/bootloaders_and_dfu/fw_update", "app_dev/bootloaders_dfu/index"),
@@ -112,13 +113,14 @@
112113
("config_and_build/bootloaders_dfu/mcuboot_nsib/bootloader_quick_start", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_quick_start"),
113114
("config_and_build/bootloaders/bootloader_adding_sysbuild", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"), # Enabling a bootloader chain using sysbuild
114115
("config_and_build/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
115-
("ug_bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding"), # "Enabling a bootloader chain using child and parent images (deprecated)"
116-
("app_dev/bootloaders_and_dfu/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding"),
117-
("config_and_build/bootloaders_and_dfu/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding"),
118-
("config_and_build/bootloaders/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding"),
119-
("config_and_build/bootloaders_dfu/mcuboot_nsib/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding"),
116+
("ug_bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"), # "Enabling a bootloader chain using child and parent images (removed in v3.0.0)"
117+
("app_dev/bootloaders_and_dfu/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
118+
("config_and_build/bootloaders_and_dfu/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
119+
("config_and_build/bootloaders/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
120+
("config_and_build/bootloaders_dfu/mcuboot_nsib/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
120121
("ug_bootloader", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader"), # Secure bootloader chain
121122
("app_dev/bootloaders_and_dfu/bootloader", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader"),
123+
("app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding_sysbuild"),
122124
("config_and_build/bootloaders_and_dfu/bootloader", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader"),
123125
("config_and_build/bootloaders/bootloader", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader"),
124126
("config_and_build/bootloaders_dfu/mcuboot_nsib/bootloader", "app_dev/bootloaders_dfu/mcuboot_nsib/bootloader"),
@@ -222,11 +224,12 @@
222224
("device_guides/nrf53/features_nrf53", "app_dev/device_guides/nrf53/features_nrf53"), # Features of nRF53 Series
223225
("device_guides/nrf53/building_nrf53", "app_dev/device_guides/nrf53/building_nrf53"), # Building and programming with nRF53 Series
224226
("device_guides/nrf53/fota_update_nrf5340", "app_dev/device_guides/nrf53/fota_update_nrf5340"), # FOTA updates with nRF5340 DK
225-
("device_guides/nrf53/multi_image_nrf5340", "app_dev/device_guides/nrf53/multi_image_nrf5340"), # Multi-image builds on the nRF5340 DK using child and parent images
227+
("device_guides/nrf53/multi_image_nrf5340", "app_dev/config_and_build/sysbuild/index"), # Multi-image builds on the nRF5340 DK using child and parent images (removed in v3.0.0)
226228
("device_guides/nrf53/simultaneous_multi_image_dfu_nrf5340", "app_dev/device_guides/nrf53/simultaneous_multi_image_dfu_nrf5340"), # Simultaneous multi-image DFU with nRF5340 DK
227229
("device_guides/nrf53/serial_recovery", "app_dev/device_guides/nrf53/serial_recovery"), # MCUboot’s serial recovery of the networking core image
228230
("device_guides/nrf53/logging_nrf5340", "app_dev/device_guides/nrf53/logging_nrf5340"), # Getting logging output with nRF5340 DK
229231
("device_guides/nrf53/thingy53_application_guide", "app_dev/device_guides/thingy53/thingy53_application_guide"), # Application guide for Thingy:53
232+
("app_dev/device_guides/nrf53/multi_image_nrf5340", "app_dev/config_and_build/sysbuild/index"),
230233
("app_dev/device_guides/nrf53/thingy53_application_guide", "app_dev/device_guides/thingy53/thingy53_application_guide"),
231234
("device_guides/working_with_nrf/nrf53/qspi_xip_guide", "app_dev/device_guides/nrf53/qspi_xip_guide_nrf5340"), # External execute in place (XIP) configuration on the nRF5340 SoC
232235
("device_guides/nrf53/qspi_xip_guide_nrf5340", "app_dev/device_guides/nrf53/qspi_xip_guide_nrf5340"),

doc/_zoomin/ncs.tags.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ mapping_topics:
8484
"development-kits", "evaluation-kits",
8585
"prototyping-platforms"]
8686
- nrf/app_dev/config_and_build/sysbuild/*.html: ["applications", "samples", "kconfig"]
87-
- nrf/app_dev/config_and_build/multi_image.html: ["applications", "samples", "kconfig"]
8887
- nrf/app_dev/config_and_build/building.html: ["applications", "samples", "development-kits",
8988
"evaluation-kits", "prototyping-platforms",
9089
"kconfig"]
@@ -127,7 +126,6 @@ mapping_topics:
127126
"nrf52832", "nrf52820", "nrf52811",
128127
"nrf52810", "nrf52805", "nrf21540", "npm1100",
129128
"npm1300", "npm6001", "applications"]
130-
- nrf/app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_adding.html: ["kconfig"]
131129
- nrf/app_dev/bootloaders_dfu/mcuboot_nsib/bootloader_config.html: ["kconfig"]
132130
- nrf/app_dev/bootloaders_dfu/qspi_xip_split_image.html: ["nrf52840", "thingy53", "nrf5340"]
133131
- nrf/app_dev/bootloaders_dfu/dfu_tools_mcumgr_cli.html: ["nrf91-series", "nrf70-series",
@@ -214,7 +212,6 @@ mapping_topics:
214212
- nrf/app_dev/device_guides/nrf53/building_nrf53.html: ["nrf5340", "development-kits",
215213
"nrf-connect-vsc"]
216214
- nrf/app_dev/device_guides/nrf53/fota_update_nrf5340.html: ["nrf5340", "development-kits"]
217-
- nrf/app_dev/device_guides/nrf53/multi_image_nrf5340.html: ["nrf5340", "development-kits"]
218215
- nrf/app_dev/device_guides/nrf53/simultaneous_multi_image_dfu_nrf5340.html: ["nrf5340",
219216
"development-kits"]
220217
- /nrf/app_dev/device_guides/nrf53/serial_recovery.html: ["nrf5340", "development-kits"]

doc/nrf/app_dev/bootloaders_dfu/mcuboot_nsib/bootloader.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ The |NCS| currently supports two implementations:
6767
.. figure:: ../images/bootloader_memory_layout.svg
6868
:alt: Memory layout
6969

70-
By default, building an application with any bootloader configuration creates a :ref:`multi-image build <ug_multi_image>`, where the :ref:`partition_manager` manages its memory partitions.
71-
In this case, bootloaders are built as child images.
70+
By default, building an application with any bootloader configuration uses :ref:`sysbuild` to build multiple image, where the :ref:`partition_manager` manages its memory partitions.
7271
When building an application with :ref:`Cortex-M Security Extensions (CMSE) enabled <app_boards_spe_nspe_cpuapp_ns>`, then :ref:`Trusted Firmware-M (TF-M) <ug_tfm>` is built with the image automatically.
7372
From the bootloader perspective, the TF-M is part of the booted application image.
7473

@@ -96,7 +95,7 @@ More specifically, the immutable bootloader always performs the following steps
9695

9796
The next stage in the boot chain can either be an application or another bootloader.
9897
Firmware images have a version number, and the bootloader will select the slot with the latest firmware.
99-
For more information about creating a second-stage bootloader, see :ref:`ug_bootloader_adding_upgradable`.
98+
For more information about creating a second-stage bootloader, see :ref:`ug_bootloader_adding_sysbuild_upgradable`.
10099

101100
#. Verification of the next stage in the boot chain.
102101

0 commit comments

Comments
 (0)