Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

suit: Allow installing Nordic elements from external memory #19173

Conversation

ahasztag
Copy link
Contributor

@ahasztag ahasztag commented Nov 29, 2024

Also, the possibility of adding external flash to the recovery application was added

test_suit_dfu: PR-418

@ahasztag ahasztag requested review from a team as code owners November 29, 2024 16:12
@github-actions github-actions bot added manifest changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Nov 29, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 29, 2024

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
suit-generator nrfconnect/[email protected] nrfconnect/suit-generator@0e66051 (ncs) nrfconnect/[email protected]

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Nov 29, 2024

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 22

Inputs:

Sources:

sdk-nrf: PR head: 31c7919f01c1f371afa9da6064b1b8a3845865af
suit-generator: PR head: 0e660519a58adba119d552e90fcbca8e430490a4

more details

sdk-nrf:

PR head: 31c7919f01c1f371afa9da6064b1b8a3845865af
merge base: 81d8a9e19b6a1a8e4eb1e06d97625b09619bc4ce
target head (main): 852345ea09c9342b2092e8a36c1061c167f64fbe
Diff

suit-generator:

PR head: 0e660519a58adba119d552e90fcbca8e430490a4
merge base: 8f9ce9039e6fb8584dc915944b2bc275856757c0
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (15)
cmake
│  ├── sysbuild
│  │  ├── suit.cmake
│  │  │ suit_utilities.cmake
modules
│  ├── lib
│  │  ├── suit-generator
│  │  │  ├── suit_generator
│  │  │  │  │ cmd_cache_create.py
│  │  │  ├── tests
│  │  │  │  │ test_cmd_cache_create.py
samples
│  ├── suit
│  │  ├── recovery
│  │  │  ├── Kconfig
│  │  │  │ README.rst
│  │  ├── smp_transfer
│  │  │  ├── boards
│  │  │  │  │ nrf54h20dk_nrf54h20_cpuapp_extflash.overlay
│  │  │  ├── sample.yaml
│  │  │  ├── suit
│  │  │  │  ├── nrf54h20
│  │  │  │  │  ├── app_envelope_extflash.yaml.jinja2
│  │  │  │  │  ├── rad_envelope_extflash.yaml.jinja2
│  │  │  │  │  │ root_with_binary_nordic_top_extflash.yaml.jinja2
│  │  │  ├── sysbuild.cmake
│  │  │  ├── sysbuild
│  │  │  │  │ nrf54h20dk_nrf54h20_memory_map.dtsi
sysbuild
│  │ Kconfig.suit
west.yml

Outputs:

Toolchain

Version: b77d8c1312
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:b77d8c1312_912848a074

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister - Skipped: Skipping Build & Test as it succeeded in a previous run: 20
  • ✅ Integration tests
    • ✅ test-sdk-audio - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ desktop52_verification - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-boot - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-apps - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test_ble_nrf_config - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-ble_mesh - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-ble_samples - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-chip - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nfc - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_libmodem-nrf - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_serial_lte_modem - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_zephyr_lwm2m - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_samples - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_lwm2m - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_thingy91 - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf_crypto - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-rpc - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-rs - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-fem - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-tfm - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-thread - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-zigbee - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-sdk-find-my - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_mosh - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_positioning - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-sdk-sidewalk - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-sdk-wifi - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-low-level - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • ✅ test-sdk-pmic-samples - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-sdk-mcuboot - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-sdk-dfu - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-fw-nrfconnect-ps - Skipped: Job was skipped as it succeeded in a previous run
    • ✅ test-secdom-samples-public - Skipped: Job was skipped as it succeeded in a previous run
    • ⚠️ test-sdk-dfu

Note: This message is automatically posted and updated by the CI

@NordicBuilder
Copy link
Contributor

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publish GitHub Action.

@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch 3 times, most recently from e335772 to 4ff6e3f Compare December 2, 2024 13:54
@NordicBuilder NordicBuilder removed the DNM label Dec 2, 2024
@@ -469,6 +469,46 @@ function(suit_create_package)

sysbuild_get(DEFAULT_BINARY_DIR IMAGE ${DEFAULT_IMAGE} VAR APPLICATION_BINARY_DIR CACHE)

if(SB_CONFIG_SUIT_ENVELOPE_NORDIC_TOP_EXTRACT_PAYLOADS_TO_CACHE)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@@ -110,6 +110,22 @@ function(suit_create_cache_partition args output_file partition_num recovery)
endif()
endfunction()

function(suit_create_nordic_cache_partition args output_file)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment on lines 66 to 73
When this option is enabled, the build system extracts payloads from
the nordic_top envelope and stores them into a cache partition file.
Note, if this option is enabled, the installation of the Nordic components
must be orchestrated by the APP_ROOT envelope.
The root envelope must make use of the In-Place Updateable Components (IPUC)
feature - one of the MEM components must be marked as IPUC by setting its
size to 0 in the suit-candidate-verification sequence - so that its
memory can be used as a mirror for the update of the Nordic elements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

help indent is 1x tab followed by 2x spaces

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch 4 times, most recently from dc6ec14 to 4ed0485 Compare December 4, 2024 15:10
@ahasztag ahasztag requested a review from a team as a code owner December 4, 2024 15:10
@github-actions github-actions bot added the doc-required PR must not be merged without tech writer approval. label Dec 4, 2024
@ahasztag ahasztag requested a review from tomchy December 4, 2024 15:11
@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch from 4ed0485 to c62c1bd Compare December 4, 2024 15:12
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Dec 4, 2024

Memory footprint analysis revealed the following potential issues

applications.sdp.gpio.icbmsg[nrf54l15dk/nrf54l15/cpuflpr]: High ROM usage: 8568[B] - link (cc: @nrfconnect/ncs-ll-ursus)
sample.matter.template.release[nrf7002dk/nrf5340/cpuapp]: High ROM usage: 820678[B] - link (cc: @kkasperczyk-no @ArekBalysNordic @markaj-nordic)
sample.matter.template.debug[nrf7002dk/nrf5340/cpuapp]: High ROM usage: 911846[B] - link (cc: @kkasperczyk-no @ArekBalysNordic @markaj-nordic)

Note: This message is automatically posted and updated by the CI (latest/sdk-nrf/PR-19173/20)

@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch 3 times, most recently from fb82a81 to 98eba54 Compare December 5, 2024 10:29
@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch from 98eba54 to 5f1f533 Compare December 9, 2024 13:42
This commit updates the suit-generator revision to bring in
the newest changes to the cache_create command.

Signed-off-by: Artur Hadasz <[email protected]>
This commit modifies the default SUIT extmem manifests,
so that they can be used for updating the Nordic SOC Binaries
from external memory.

Signed-off-by: Artur Hadasz <[email protected]>
This commit introduces changes in the SUIT build system,
allowing to optionally extract Nordic elements into a
DFU cache partition file.

Signed-off-by: Artur Hadasz <[email protected]>
Added modifications allowing for SUIT recovery to
be used with external flash

Signed-off-by: Artur Hadasz <[email protected]>
@ahasztag ahasztag force-pushed the NCSDK-28885_manifest_for_nordic_install_from_extflash branch from 5f1f533 to 31c7919 Compare December 10, 2024 10:57
@nordicjm nordicjm merged commit e28af5e into nrfconnect:main Dec 11, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. doc-required PR must not be merged without tech writer approval. manifest manifest-suit-generator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants