-
Notifications
You must be signed in to change notification settings - Fork 1.4k
NCSDK-33237: Extend firmware loader companion application for nRF54H20 #24982
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
base: main
Are you sure you want to change the base?
NCSDK-33237: Extend firmware loader companion application for nRF54H20 #24982
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
CI InformationTo view the history of this post, click the 'edited' button above Inputs:Sources:sdk-nrf: PR head: 0d194cf7cfedf5970b19e05cfd5df352ccd1bfb9 more detailssdk-nrf:
Github labels
List of changed files detected by CI (22)Outputs:ToolchainVersion: 964ddb2c70 Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
775467f to
4b48fc0
Compare
|
You can find the documentation preview for this PR here. |
4b48fc0 to
6dbe029
Compare
6dbe029 to
5ff2f77
Compare
5ff2f77 to
a9c83f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds firmware loader support for the nRF54H20 platform to the single_slot DFU sample. The implementation uses a merged slot configuration where MCUboot can boot either the main application or a lightweight firmware loader that enables over-the-air updates via Bluetooth.
Key Changes:
- Implements merged partition layout for nRF54H20 supporting both main application and firmware loader modes
- Adds optimized BLE MCUmgr-based firmware loader with minimal footprint
- Configures MCUboot to support button-triggered firmware loader activation
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| samples/dfu/single_slot/sysbuild/nrf54h20.overlay | Defines merged partition layout with separate slots for main app, firmware loader, and radio images |
| samples/dfu/single_slot/sysbuild/mcuboot/prj.conf | Removes global FPROTECT configuration |
| samples/dfu/single_slot/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l15_cpuapp.conf | Adds board-specific FPROTECT configuration for nRF54L15 |
| samples/dfu/single_slot/sysbuild/mcuboot/boards/nrf54h20dk_nrf54h20_cpuapp.overlay | MCUboot overlay for nRF54H20 with button alias and partition selection |
| samples/dfu/single_slot/sysbuild/mcuboot/boards/nrf54h20dk_nrf54h20_cpuapp.conf | Disables power domain support for MCUboot on nRF54H20 |
| samples/dfu/single_slot/sysbuild/ble_mcumgr_ipc_radio.overlay | Radio image partition configuration for firmware loader |
| samples/dfu/single_slot/sysbuild/ble_mcumgr_ipc_radio.conf | Optimized configuration for radio core in firmware loader mode |
| samples/dfu/single_slot/sysbuild/ble_mcumgr/prj.conf | BLE MCUmgr transport configuration with size optimizations |
| samples/dfu/single_slot/sysbuild/ble_mcumgr/boards/nrf54h20dk_nrf54h20_cpuapp.overlay | Application partition configuration for firmware loader |
| samples/dfu/single_slot/sysbuild.cmake | Sysbuild logic to include network core image for firmware loader |
| samples/dfu/single_slot/sample.yaml | Adds nRF54H20 platform to test configuration |
| samples/dfu/single_slot/boards/nrf54h20dk_nrf54h20_cpuapp.overlay | Main application overlay including partition definitions |
| samples/dfu/single_slot/Kconfig.sysbuild | Configures ROM end offset calculation for merged binary signing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
a9c83f8 to
5aa1aeb
Compare
5aa1aeb to
3829024
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Memory footprint analysis revealed the following potential issuesapplications.hpf.gpio.icmsg[nrf54l15dk/nrf54l15/cpuflpr]: High RAM usage: 9102[B] - link (cc: @nrfconnect/ncs-ll-ursus) Note: This message is automatically posted and updated by the CI (latest/sdk-nrf/PR-24982/28) |
any sample under sample should be possible to build stand-alone in order for users to have a starting point with a sane configuration from where they can include the sample into their own product. Besides that, the same warnings are printed with twister, so please fix: |
dac93d9 to
844aa9c
Compare
844aa9c to
423f5a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
423f5a1 to
086435f
Compare
086435f to
75e8b30
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
75e8b30 to
96c9839
Compare
96c9839 to
20ff66a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
20ff66a to
fd60882
Compare
tejlmand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the direction 👍
Please take a look at the remote board handling, we try to get a cleaner and more overall consistent approach where downstream users can more easily create their own board based on Nordic's SoCs.
fd60882 to
2380357
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
PR not ready, moving out of 3.2.0 scope |
co-build-system review done by @tejlmand
Assign merged slot signing script to FW loader applications. Ref: NCSDK-33237 Signed-off-by: Tomasz Chyrowicz <[email protected]>
Add a possibility to select radio image for the FW loader. Ref: NCSDK-33237 Signed-off-by: Tomasz Chyrowicz <[email protected]>
Add configuration dedicated forn nRF54H20 Ref: NCSDK-33237 Signed-off-by: Tomasz Chyrowicz <[email protected]>
Add missing configuration, so the FW loader application can be built directly. Ref: NCSDK-33237 Signed-off-by: Tomasz Chyrowicz <[email protected]>
2380357 to
0d194cf
Compare
This PR extends an existing firmware loader application, so it is possible to include it in projects built for nRF54H20.
It also enables building the
single_slotsample onnrf54h20.Testing: