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

samples: matter: Refactor nRF54H20 partition in samples #19735

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

ArekBalysNordic
Copy link
Contributor

  • Refactored nRF54H20 partitions to support storing Nordic-related
    SoC binaries in external flash.
  • Enabled storing Nordic SoC binaries in the external flash if
    the SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY kconfig value is provided.
  • Described SUIT DFU process in Matter samples which can be performed
    on nRF54H20 modules. Currently, only the Matter OTA protocol is fully supported.

@ArekBalysNordic ArekBalysNordic requested review from a team as code owners January 3, 2025 09:52
@github-actions github-actions bot added the doc-required PR must not be merged without tech writer approval. label Jan 3, 2025
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Jan 3, 2025

CI Information

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

Inputs:

Sources:

sdk-nrf: PR head: 426104d221903b3f9977cbbb3931c4fcc7de7323

more details

sdk-nrf:

PR head: 426104d221903b3f9977cbbb3931c4fcc7de7323
merge base: a30fb624e41f0282d4f9920f65cb840f4ac6a001
target head (main): 5eb1bd14753f2f8642afa8e1721a1b00ee8d75d7
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 (16)
applications
│  ├── matter_bridge
│  │  ├── Kconfig.sysbuild
│  │  ├── boards
│  │  │  ├── nrf54h20dk_nrf54h20_cpuapp.conf
│  │  │  │ nrf54h20dk_nrf54h20_cpuapp.overlay
│  │  ├── doc
│  │  │  │ matter_bridge_description.rst
config
│  ├── suit
│  │  ├── templates
│  │  │  ├── nrf54h20
│  │  │  │  ├── matter
│  │  │  │  │  ├── v1
│  │  │  │  │  │  ├── app_envelope.yaml.jinja2
│  │  │  │  │  │  ├── rad_envelope.yaml.jinja2
│  │  │  │  │  │  │ root_with_binary_nordic_top.yaml.jinja2
doc
│  ├── nrf
│  │  ├── app_dev
│  │  │  ├── device_guides
│  │  │  │  ├── nrf54h
│  │  │  │  │  │ ug_nrf54h20_suit_soc_binaries.rst
│  │  ├── releases_and_maturity
│  │  │  ├── releases
│  │  │  │  │ release-notes-changelog.rst
samples
│  ├── matter
│  │  ├── common
│  │  │  ├── dts
│  │  │  │  ├── nrf54h20
│  │  │  │  │  ├── nrf54h20_cpuapp_memory_map.dtsi
│  │  │  │  │  │ nrf54h20_cpurad_memory_map.dtsi
│  │  ├── lock
│  │  │  ├── Kconfig.sysbuild
│  │  │  │ README.rst
│  │  ├── template
│  │  │  ├── Kconfig.sysbuild
│  │  │  │ README.rst
sysbuild
│  │ Kconfig.matter

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
  • ✅ Integration tests
    • ✅ test-sdk-audio
    • ✅ desktop52_verification
    • ✅ test-fw-nrfconnect-boot
    • ✅ test-fw-nrfconnect-apps
    • ✅ test_ble_nrf_config
    • ✅ test-fw-nrfconnect-ble_mesh
    • ✅ test-fw-nrfconnect-ble_samples
    • ✅ test-fw-nrfconnect-chip
    • ✅ test-fw-nrfconnect-nfc
    • ✅ test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • ✅ test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • ✅ test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • ✅ test-fw-nrfconnect-nrf-iot_samples
    • ✅ test-fw-nrfconnect-nrf-iot_lwm2m
    • ✅ doc-internal
    • ✅ test-fw-nrfconnect-nrf-iot_thingy91
    • ✅ test-fw-nrfconnect-nrf_crypto
    • ✅ test-fw-nrfconnect-rpc
    • ✅ test-fw-nrfconnect-rs
    • ✅ test-fw-nrfconnect-fem
    • ✅ test-fw-nrfconnect-tfm
    • ✅ test-fw-nrfconnect-thread
    • ✅ test-fw-nrfconnect-zigbee
    • ✅ test-sdk-find-my
    • ✅ test-fw-nrfconnect-nrf-iot_mosh
    • ✅ test-fw-nrfconnect-nrf-iot_positioning
    • ✅ test-sdk-sidewalk
    • ✅ test-sdk-wifi
    • ✅ test-low-level
    • ✅ test-fw-nrfconnect-nrf-iot_nrf_provisioning
    • ✅ test-sdk-pmic-samples
    • ✅ test-sdk-mcuboot
    • ✅ test-sdk-dfu
    • ✅ test-fw-nrfconnect-ps
    • ✅ test-secdom-samples-public

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

samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
samples/matter/template/README.rst Outdated Show resolved Hide resolved
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Jan 3, 2025

Memory footprint analysis revealed the following potential issues

sample.matter.template.debug[nrf7002dk/nrf5340/cpuapp]: High ROM usage: 911938[B] - link (cc: @kkasperczyk-no @ArekBalysNordic @markaj-nordic)
sample.matter.template.release[nrf7002dk/nrf5340/cpuapp]: High ROM usage: 820770[B] - link (cc: @kkasperczyk-no @ArekBalysNordic @markaj-nordic)

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

@ArekBalysNordic ArekBalysNordic force-pushed the nrf54h20_new_partitions branch from c68920b to 1831f2a Compare January 7, 2025 07:41
- Refactored nRF54H20 partitions to support storing Nordic-related
SoC binaries in external flash.
- Enabled storing Nordic SoC binaries in the external flash if
the SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY kconfig value is provided.

Signed-off-by: Arkadiusz Balys <[email protected]>
@ArekBalysNordic ArekBalysNordic force-pushed the nrf54h20_new_partitions branch from 1831f2a to a147c26 Compare January 8, 2025 08:01
Described SUIT DFU process in Matter samples which can be performed
on nRF54H20 modules.
Currently only Matter OTA protocol is fully supported.

Signed-off-by: Arkadiusz Balys <[email protected]>
@ArekBalysNordic ArekBalysNordic force-pushed the nrf54h20_new_partitions branch from a147c26 to 426104d Compare January 8, 2025 08:02
@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.

@ArekBalysNordic
Copy link
Contributor Author

@nrfconnect/ncs-charon, @nrfconnect/ncs-charon-doc and @nrfconnect/ncs-co-build-system could you please review related changes?

Comment on lines +40 to +55
if SOC_SERIES_NRF54HX

config SUIT_ENVELOPE
default y

config SUIT_BUILD_FLASH_COMPANION
default y

config SUIT_MULTI_IMAGE_PACKAGE_BUILD
default y if MATTER_OTA

config SUIT_BASE_MANIFEST_VARIANT
default "matter/v1"

endif
config SUIT_ENVELOPE_NORDIC_TOP_EXTRACT_PAYLOADS_TO_CACHE
default y if SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY != ""
Copy link
Contributor

Choose a reason for hiding this comment

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

should not be abusing Kconfig files as thought they are defconfig files. If these are needed then the symbols should depend on them, or select them if the known issues are adhered to properly

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, I would like to set the SUIT_ENVELOPE_NORDIC_TOP_EXTRACT_PAYLOADS_TO_CACHE if the user provides a path to the top directory using SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY. Currently in Kconfig.suit SUIT_ENVELOPE_NORDIC_TOP_EXTRACT_PAYLOADS_TO_CACHE depends on SUIT_ENVELOPE_NORDIC_TOP_IN_ROOT and SUIT_ENVELOPE_NORDIC_TOP_IN_ROOT is default y if SUIT_ENVELOPE_NORDIC_TOP_DIRECTORY != "". I don't understand the abuse here, which kconfig of all mentioned should select or have dependency?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nordicjm what do you recommend in this case?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc-required PR must not be merged without tech writer approval.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants