Skip to content

Commit

Permalink
[nrf fromtree] scripts: nrf_common: Move MPI to sysbuild Kconfig
Browse files Browse the repository at this point in the history
Use sysbuild to build and configure SUIT Manifest Provisioning
Information.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
(cherry picked from commit 866e690)
  • Loading branch information
tomchy authored and rlubos committed Dec 12, 2024
1 parent 8a8c01a commit 6e53c57
Showing 1 changed file with 27 additions and 24 deletions.
51 changes: 27 additions & 24 deletions scripts/west_commands/runners/nrf_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,26 +286,28 @@ def program_hex(self):
mpi_hex_dir = Path(os.path.join(self.cfg.build_dir, 'zephyr'))

# Handle Manifest Provisioning Information
if self.build_conf.getboolean('CONFIG_SUIT_MPI_GENERATE'):
if self.sysbuild_conf.getboolean('SB_CONFIG_SUIT_MPI_GENERATE'):
app_mpi_hex_file = os.fspath(
mpi_hex_dir / self.build_conf.get('CONFIG_SUIT_MPI_APP_AREA_PATH'))
mpi_hex_dir / self.sysbuild_conf.get('SB_CONFIG_SUIT_MPI_APP_AREA_PATH'))
rad_mpi_hex_file = os.fspath(
mpi_hex_dir / self.build_conf.get('CONFIG_SUIT_MPI_RAD_AREA_PATH')
)
self.op_program(
app_mpi_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_APPLICATION',
)
self.op_program(
rad_mpi_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_NETWORK',
mpi_hex_dir / self.sysbuild_conf.get('SB_CONFIG_SUIT_MPI_RAD_AREA_PATH')
)
if os.path.exists(app_mpi_hex_file):
self.op_program(
app_mpi_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_APPLICATION',
)
if os.path.exists(rad_mpi_hex_file):
self.op_program(
rad_mpi_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_NETWORK',
)

# Handle SUIT root manifest if application manifests are not used.
# If an application firmware is built, the root envelope is merged
Expand All @@ -314,13 +316,14 @@ def program_hex(self):
app_root_envelope_hex_file = os.fspath(
mpi_hex_dir / 'suit_installed_envelopes_application_merged.hex'
)
self.op_program(
app_root_envelope_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_APPLICATION',
)
if os.path.exists(app_root_envelope_hex_file):
self.op_program(
app_root_envelope_hex_file,
'ERASE_NONE',
None,
defer=True,
core='NRFDL_DEVICE_CORE_APPLICATION',
)

if cpuapp:
core = 'NRFDL_DEVICE_CORE_APPLICATION'
Expand Down

0 comments on commit 6e53c57

Please sign in to comment.