Skip to content

samples/dfu/single_slot: Application entering fw_loader via USB MCUmgr#27416

Merged
PerMac merged 7 commits into
nrfconnect:mainfrom
nvlsianpu:usb_fw_loader_usb_enter
Apr 2, 2026
Merged

samples/dfu/single_slot: Application entering fw_loader via USB MCUmgr#27416
PerMac merged 7 commits into
nrfconnect:mainfrom
nvlsianpu:usb_fw_loader_usb_enter

Conversation

@nvlsianpu
Copy link
Copy Markdown
Contributor

@nvlsianpu nvlsianpu commented Mar 6, 2026

goes after #27185

Review only commit after this commits (by title): changelog: entry on usb_mcumgr firmware_loader

  • application can reboot the device into firmware_loader mode using USB CDC ACM Virtual port by MCUmgr grp os reboot command with boot-mode==1.

@NordicBuilder NordicBuilder added the doc-required PR must not be merged without tech writer approval. label Mar 6, 2026
@nvlsianpu nvlsianpu changed the title Usb fw loader usb enter samples/dfu/single_slot: Application entering fw_loader via USB MCUmgr Mar 6, 2026
@NordicBuilder
Copy link
Copy Markdown
Contributor

NordicBuilder commented Mar 6, 2026

CI Information

To view the history of this post, click the 'edited' button above
Build number: 33

Inputs:

Sources:

sdk-nrf: PR head: a2fe4c2be7e07e1509f6a45b7b1dbc9d1ed07b53

more details

sdk-nrf:

PR head: a2fe4c2be7e07e1509f6a45b7b1dbc9d1ed07b53
merge base: 956d2fedb1f51175d21bc0d7bc4025ce1005c343
target head (main): 3cfab8ed9cf9dd5f1d70c34590e8ac77e9704658
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 (21)
samples
│  ├── dfu
│  │  ├── fw_loader
│  │  │  ├── usb_mcumgr
│  │  │  │  ├── boards
│  │  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp.overlay
│  │  │  │  │  │ nrf54lm20dongle_nrf54lm20b_cpuapp.overlay
│  │  │  │  │ sample.yaml
│  │  ├── single_slot
│  │  │  ├── README.rst
│  │  │  ├── boards
│  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp_usb_enter.overlay
│  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp_usb_enter.overlay
│  │  │  │  │ nrf54lm20dongle_nrf54lm20b_cpuapp_usb_enter_dongle.overlay
│  │  │  ├── nrf54lm20dongle_dfu_partitions.dtsi
│  │  │  ├── prj_usb_enter.conf
│  │  │  ├── prj_usb_enter_dongle.conf
│  │  │  ├── sample.yaml
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20a_cpuapp_usb_enter.overlay
│  │  │  │  │  │  ├── nrf54lm20dk_nrf54lm20b_cpuapp_usb_enter.overlay
│  │  │  │  │  │  ├── nrf54lm20dongle_nrf54lm20b_cpuapp.conf
│  │  │  │  │  │  │ nrf54lm20dongle_nrf54lm20b_cpuapp.overlay
│  │  │  │  ├── usb_mcumgr_usb_enter.conf
│  │  │  │  ├── usb_mcumgr_usb_enter_dongle.conf
│  │  │  │  │ usb_mcumgr_usb_enter_dongle.overlay
│  │  │  ├── sysbuild_usb_enter.conf
│  │  │  │ sysbuild_usb_enter_dongle.conf

Outputs:

Toolchain

Version: 911f4c5c26
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:911f4c5c26_5ea73affbf

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: 31
  • ✅ Integration tests
    • ✅ test-sdk-mcuboot
    • ✅ test-sdk-dfu - Skipped: Job was skipped as it succeeded in a previous run
Disabled integration tests
    • test-fw-nrfconnect-nrf_lrcs_mosh
    • test-fw-nrfconnect-nrf_lrcs_positioning
    • desktop52_verification
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread-main
    • test-low-level
    • test-sdk-audio
    • test-sdk-find-my
    • test-sdk-wifi
    • test-secdom-samples-public

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 6, 2026

You can find the documentation preview for this PR here.

Preview links for modified nRF Connect SDK documents:

https://ncsbmdoc.z6.web.core.windows.net/ncs/PR-27416/nrf/samples/dfu/single_slot/README.html

@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from 92de9b1 to b44fc63 Compare March 10, 2026 13:42
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from b44fc63 to ce9e2cc Compare March 19, 2026 14:34
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 5 times, most recently from cc8030a to 6b1f238 Compare March 26, 2026 14:56
@nvlsianpu nvlsianpu added this to the 3.3.0 milestone Mar 27, 2026
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from 6b1f238 to bb0ad8d Compare March 27, 2026 11:44
@NordicBuilder NordicBuilder removed doc-required PR must not be merged without tech writer approval. changelog labels Mar 27, 2026
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 2 times, most recently from 1456564 to 0880ad2 Compare March 27, 2026 13:09
@nvlsianpu nvlsianpu marked this pull request as ready for review March 27, 2026 13:09
@nvlsianpu nvlsianpu requested review from a team as code owners March 27, 2026 13:09
@NordicBuilder NordicBuilder added the doc-required PR must not be merged without tech writer approval. label Mar 27, 2026
Copy link
Copy Markdown
Contributor

@FrancescoSer FrancescoSer left a comment

Choose a reason for hiding this comment

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

Approving not to block but please implement these suggestions

Comment thread samples/dfu/single_slot/README.rst Outdated
Comment thread samples/dfu/single_slot/README.rst Outdated
Comment thread samples/dfu/single_slot/README.rst Outdated
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 2 times, most recently from 283d316 to e0ed7ae Compare March 27, 2026 14:03
@nvlsianpu nvlsianpu requested a review from ahasztag March 27, 2026 14:34
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 2 times, most recently from 9b83341 to d25dc97 Compare March 30, 2026 11:14
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from d25dc97 to 22bb5ca Compare March 30, 2026 11:15
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
*/

/*#include "../../../boards/nrf54lm20dk_nrf54lm20a_cpuapp.overlay"*/
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks like a leftover comment - however, theoretically this is the correct way of passing memory map partitioning to sub images according to the build system owners.

Comment thread samples/dfu/single_slot/nrf54lm20dongle_dfu_partitions.dtsi
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 4 times, most recently from 8715be0 to 531f475 Compare March 31, 2026 09:15
@ahasztag ahasztag self-requested a review March 31, 2026 09:29
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from 531f475 to b53ccbb Compare March 31, 2026 10:19
@nvlsianpu nvlsianpu requested a review from a team as a code owner March 31, 2026 10:19
@NordicBuilder NordicBuilder requested review from a team and kl-cruz March 31, 2026 10:19
Comment thread samples/dfu/single_slot/sample.yaml Outdated
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch 2 times, most recently from af82601 to 8a63a62 Compare April 1, 2026 07:41
@nvlsianpu nvlsianpu removed request for a team April 1, 2026 07:42
1) Added configuration which allows enabling MCUboot's boot_mode
sensing trought gpregret register for nRF54lm20dk.
This configuration is supposed to be used along with
FILE_SUFFIX=usb_enter.

2) Added support for enetering the firmware loader mode using
SMP MCUmgr protocol.
This can be done using OS reboot command with
boot_mode parameter set to `1`.

Functionality is added for nRF54LM20 DK board.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>

dk
Application is blinking the LED when it is running.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Setup VID & PID for the nRF54lm20 dongle.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Extend sample's configuration to support nRF54LM20dongle
with usb fw_loader and buttonles DFU enter via mcumgr (via
USB serial) in the application.

This peculiar configuration for the nrf54lm20dongle/nrf54lm20b/cpuapp
It has to be build with the FILE_SUFFIX="usb_enter_dongle".

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Added peculiar configuration for the nrf54lm20dongle/nrf54lm20b/cpuapp
It has only to build sucessfully as this sample is supposed to be use
as part of a DFU multiimage sysbuild project.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Added nrf54lm20dk/nrf54lm20b/cpuapp as test-build
platform.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Added doc on USB buttonelss DFU for nRF54lm20dk
and nRF54lm20dongle.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
@nvlsianpu nvlsianpu force-pushed the usb_fw_loader_usb_enter branch from 8a63a62 to a2fe4c2 Compare April 1, 2026 14:32
@PerMac PerMac merged commit fd02542 into nrfconnect:main Apr 2, 2026
21 checks passed
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. no-changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants