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

application: nrf_desktop: Align docs after upmerge + migration to sysbuild #15998

Merged
merged 5 commits into from
Jun 21, 2024

Conversation

mkapala-nordic
Copy link
Contributor

@mkapala-nordic mkapala-nordic commented Jun 13, 2024

Jira: NCSDK-27889

The #15851 PR aligns partialy few modules that are also aligned here:

  • dfu_mcumgr.rst
  • dfu.rst

Depends on: #15851, #16022

@mkapala-nordic mkapala-nordic added this to the 2.7.0 milestone Jun 13, 2024
@github-actions github-actions bot added doc-required PR must not be merged without tech writer approval. changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Jun 13, 2024
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Jun 13, 2024

Test specification

CI/Jenkins/NRF

  • Skipped

CI/Jenkins/integration

  • Skipped

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 Publishing GitHub Action.

@mkapala-nordic mkapala-nordic added doc only and removed changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. labels Jun 17, 2024
@mkapala-nordic mkapala-nordic force-pushed the nrf-desktop/align-docs-for-270 branch 2 times, most recently from 6cd2bf6 to df1bef7 Compare June 17, 2024 09:40
@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Jun 17, 2024
@mkapala-nordic mkapala-nordic force-pushed the nrf-desktop/align-docs-for-270 branch 2 times, most recently from a970498 to a8417af Compare June 17, 2024 09:44
@mkapala-nordic mkapala-nordic removed the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Jun 17, 2024
@mkapala-nordic mkapala-nordic marked this pull request as ready for review June 17, 2024 09:46
applications/nrf_desktop/bluetooth.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Show resolved Hide resolved
@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Jun 18, 2024
applications/nrf_desktop/doc/dfu.rst Show resolved Hide resolved
applications/nrf_desktop/bootloader_dfu.rst Outdated Show resolved Hide resolved
@MarekPieta
Copy link
Contributor

MarekPieta commented Jun 18, 2024

I would also consider some follow-up actions:

  • mentioning Sysbuild configuration under description.rst->Configuration
  • providing some more information about Sysbuild (inform that it is used to combine multiple images that are used by application - main application image, bootloader, net core image etc.; may simplify getting started)
  • providing build command examples for nRF Desktop (e.g. a command that uses FILE_SUFFIX)
  • Building with EK shield support doc section still uses hci_ipc as netcore image name
  • Documenting usage of SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY - required for using external FLASH for MCUboot secondary image slot
  • Image transfer over SMP section mentions random HCI identities which is not relevant for nRF Desktop - consider removing this part if possible
  • nRF Desktop support for a board could also mention sysbuild (or link to section describing sysbuild configuration that would be important as subsequent step)

* :kconfig:option:`CONFIG_BUILD_S1_VARIANT` - Required for the build system to be able to construct the application binaries for both application's slots in non-volatile memory.
* In the sysbuild configuration:

* :kconfig:option:`SB_CONFIG_SECURE_BOOT_SIGNING_KEY_FILE` - Required for providing the signature key file used for image signing and verification.
Copy link
Contributor

Choose a reason for hiding this comment

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

The decision was to change to ``SB_CONF_...``


.. _nrf_desktop_configuring_mcuboot_bootloader:

Configuring the MCUboot bootloader
==================================

To enable the MCUboot bootloader, select the :kconfig:option:`CONFIG_BOOTLOADER_MCUBOOT` Kconfig option in the application configuration.
To enable the MCUboot bootloader, select the :kconfig:option:`SB_CONFIG_BOOTLOADER_MCUBOOT` Kconfig option in the sysbuild configuration.
Copy link
Contributor

Choose a reason for hiding this comment

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

Also here :kconfig:option:`SB_CONFIG_BOOTLOADER_MCUBOOT` -> ``SB_CONFIG_BOOTLOADER_MCUBOOT``


The MCUboot private key path (:kconfig:option:`CONFIG_BOOT_SIGNATURE_KEY_FILE`) must be set only in the MCUboot bootloader configuration file.
The MCUboot private key path (:kconfig:option:`SB_CONFIG_BOOT_SIGNATURE_KEY_FILE`) must be also set in the sysbuild configuration.
Copy link
Contributor

Choose a reason for hiding this comment

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

And here ``SB_CONFIG_BOOT_SIGNATURE_KEY_FILE``

@mkapala-nordic
Copy link
Contributor Author

mkapala-nordic commented Jun 19, 2024

* mentioning Sysbuild configuration under `description.rst`->`Configuration`

follow-up: everything in NCS now runs sysbuild by default so I would say it is improvement not alignment

* providing some more information about Sysbuild (inform that it is used to combine multiple images that are used by application - main application image, bootloader, net core image etc.; may simplify getting started)

follow-up: instead of providing info directly we can link to sysbuild docs

* providing build command examples for nRF Desktop (e.g. a command that uses FILE_SUFFIX)

follow-up: improvement

* `Building with EK shield support` doc section still uses `hci_ipc` as netcore image name

NOW: already aligning ipc_radio stuff so it fits to do it now

* Documenting usage of `SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY` - required for using external FLASH for MCUboot secondary image slot

NOW: I'll add a sentence now in the _nrf_desktop_pm_external_flash section.

* Image transfer over SMP section mentions `random HCI identities` which is not relevant for nRF Desktop - consider removing this part if possible

follow-up: not related

* `nRF Desktop support for a board` could also mention sysbuild (or link to section describing sysbuild configuration that would be important as subsequent step)

follow-up: improvement as I think there was no link to previous build system

Created ticket: https://nordicsemi.atlassian.net/browse/NCSDK-28054

@mkapala-nordic
Copy link
Contributor Author

Rebase only

@@ -168,7 +168,7 @@ Fast Pair
=========

The nRF Desktop peripheral can be built with Google `Fast Pair`_ support.
The configurations that enable Fast Pair are set in the :file:`prj_fast_pair.conf` and :file:`prj_release_fast_pair.conf` files.
The configurations that enable Fast Pair are set in the configurations with the ``fast_pair`` and ``release_fast_pair`` file suffixes.
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
The configurations that enable Fast Pair are set in the configurations with the ``fast_pair`` and ``release_fast_pair`` file suffixes.
The configurations that enable Fast Pair are specified in the files with the ``fast_pair`` and ``release_fast_pair`` suffixes.

@@ -201,6 +201,8 @@ After a successful erase advertising procedure, the peripheral removes all of th

Apart from that, the following changes are applied in configurations that support Fast Pair:

* The ``SB_CONFIG_BT_FAST_PAIR`` Kconfig option is enabled in the sysbuild configuration.
See :ref:`ug_bt_fast_pair_prerequisite_ops_kconfig` for the details.
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess we could use the same approach as the one pointed out in here: #16022 (comment)

@@ -43,7 +44,7 @@ nRF52840 Gaming Mouse (``nrf52840gmouse``)
* Bluetooth is configured to use Nordic's SoftDevice link layer.

* The configuration with the B0 bootloader is set as default.
* The board supports ``debug`` (:file:`prj_fast_pair.conf`) and ``release`` (:file:`prj_release_fast_pair.conf`) :ref:`nrf_desktop_bluetooth_guide_fast_pair` configurations.
* The board supports ``debug`` (``fast_pair`` file suffix) and ``release`` (``release_fast_pair`` file suffix) :ref:`nrf_desktop_bluetooth_guide_fast_pair` configurations.
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
* The board supports ``debug`` (``fast_pair`` file suffix) and ``release`` (``release_fast_pair`` file suffix) :ref:`nrf_desktop_bluetooth_guide_fast_pair` configurations.
* The board supports the ``debug`` (``fast_pair`` file suffix) and ``release`` (``release_fast_pair`` file suffix) configurations for :ref:`nrf_desktop_bluetooth_guide_fast_pair`.

@@ -72,27 +72,45 @@ See :ref:`nrf_desktop_memory_layout` for details.
Configuring the B0 bootloader
=============================

To enable the B0 bootloader, select the :kconfig:option:`CONFIG_SECURE_BOOT` Kconfig option in the application configuration.
To enable the B0 bootloader, select the ``SB_CONFIG_SECURE_BOOT_APPCORE`` Kconfig option in the sysbuild configuration.
It automatically enables the ``SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE`` option to construct the application binaries for both application's slots in non-volatile memory.
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
It automatically enables the ``SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE`` option to construct the application binaries for both application's slots in non-volatile memory.
This setting automatically enables the ``SB_CONFIG_SECURE_BOOT_BUILD_S1_VARIANT_IMAGE`` Kconfig option, which generates application binaries for both slots in non-volatile memory.

* In the sysbuild configuration:

* ``SB_CONFIG_SECURE_BOOT_SIGNING_KEY_FILE`` - Required for providing the signature key file used for image signing and verification.
If this Kconfig option does not specify the signature key file, automatically generated signature key files will be used by default.
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
If this Kconfig option does not specify the signature key file, automatically generated signature key files will be used by default.
If this Kconfig option does not specify the signature key file, the application will use the default files.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Discussed.
Decided to change whole bulletpoint to:

  * ``SB_CONFIG_SECURE_BOOT_SIGNING_KEY_FILE`` - Required for providing the signature key file used by the build system (to sign the application update images) and by the bootloader (to verify the application signature).
    If this Kconfig option does not specify the signature key file, debug signature key files will be used by default.

This option automatically enables :kconfig:option:`CONFIG_BOOT_BUILD_DIRECT_XIP_VARIANT` to build application update images for both slots.
To set the MCUboot mode of operations to the direct-xip mode, make sure to enable the ``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP`` Kconfig option in the sysbuild configuration.
This option automatically enables ``SB_CONFIG_MCUBOOT_BUILD_DIRECT_XIP_VARIANT`` to build application update images for both slots.
The nRF Desktop application configurations do not use the direct-xip mode with revert mechanism (``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP_WITH_REVERT``).
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
The nRF Desktop application configurations do not use the direct-xip mode with revert mechanism (``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP_WITH_REVERT``).
The nRF Desktop application configurations do not use the direct-xip mode with the revert mechanism (``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP_WITH_REVERT``).

Enable the ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option in the bootloader configuration to make the MCUboot run the image directly from both image slots.
The nRF Desktop's bootloader configurations do not enable the revert mechanism (``CONFIG_BOOT_DIRECT_XIP_REVERT``).
When the direct-xip mode is enabled (the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is set in the application configuration), the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option is automatically applied to the bootloader configuration based on the sysbuild configuration to make the MCUboot run the image directly from both image slots.
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
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option is automatically applied to the bootloader configuration based on the sysbuild configuration to make the MCUboot run the image directly from both image slots.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option enables MCUboot to run the image directly from both image slot, and it is automatically applied to the bootloader configuration based on the sysbuild configuration.

The nRF Desktop's bootloader configurations do not enable the revert mechanism (``CONFIG_BOOT_DIRECT_XIP_REVERT``).
When the direct-xip mode is enabled (the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is set in the application configuration), the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option is automatically applied to the bootloader configuration based on the sysbuild configuration to make the MCUboot run the image directly from both image slots.
Similarly, the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is automatically applied to the application configuration based on the sysbuild configuration to inform the application in which mode the MCUboot bootloader works.
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
Similarly, the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is automatically applied to the application configuration based on the sysbuild configuration to inform the application in which mode the MCUboot bootloader works.
Similarly, the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option, that informs the application about the MCUboot bootloader's mode, is also applied automatically based on the sysbuild configuration.

Tried to make it flow better - not sure if achieved, please double-check

When the direct-xip mode is enabled (the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is set in the application configuration), the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option is automatically applied to the bootloader configuration based on the sysbuild configuration to make the MCUboot run the image directly from both image slots.
Similarly, the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is automatically applied to the application configuration based on the sysbuild configuration to inform the application in which mode the MCUboot bootloader works.
When the direct-xip mode is enabled, the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
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
When the direct-xip mode is enabled, the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
When the direct-xip mode is enabled, the application modules that control the DFU transport do not request firmware upgrades or confirm the running image.

@@ -83,6 +83,7 @@ The Partition Manager supports partitions in external flash.
Enabling external flash can be useful especially for memory-limited devices.
For example, the MCUboot can use it as a secondary image partition for the :ref:`background firmware upgrade <nrf_desktop_bootloader_background_dfu>`.
The MCUboot moves the image data from the secondary image partition to the primary image partition before booting the new firmware.
To use external flash for the secondary image partition, besides defining the proper static Partition Manager configuration, you must enable the ``SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY`` Kconfig option in the sysbuild configuration.
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
To use external flash for the secondary image partition, besides defining the proper static Partition Manager configuration, you must enable the ``SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY`` Kconfig option in the sysbuild configuration.
To use external flash for the secondary image partition, in addition to defining the proper static Partition Manager configuration, you must enable the ``SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY`` Kconfig option in the sysbuild configuration.

Copy link
Contributor Author

@mkapala-nordic mkapala-nordic left a comment

Choose a reason for hiding this comment

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

Applied @annwoj suggestions

* In the sysbuild configuration:

* ``SB_CONFIG_SECURE_BOOT_SIGNING_KEY_FILE`` - Required for providing the signature key file used for image signing and verification.
If this Kconfig option does not specify the signature key file, automatically generated signature key files will be used by default.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Discussed.
Decided to change whole bulletpoint to:

  * ``SB_CONFIG_SECURE_BOOT_SIGNING_KEY_FILE`` - Required for providing the signature key file used by the build system (to sign the application update images) and by the bootloader (to verify the application signature).
    If this Kconfig option does not specify the signature key file, debug signature key files will be used by default.

Jira: NCSDK-27889

Signed-off-by: Mateusz Kapala <[email protected]>
@mkapala-nordic
Copy link
Contributor Author

Rebased

Copy link
Contributor

@annwoj annwoj left a comment

Choose a reason for hiding this comment

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

few small additional suggestions

@@ -168,7 +168,7 @@ Fast Pair
=========

The nRF Desktop peripheral can be built with Google `Fast Pair`_ support.
The configurations that enable Fast Pair are set in the :file:`prj_fast_pair.conf` and :file:`prj_release_fast_pair.conf` files.
The configurations that enable Fast Pair are specified in the files with the ``fast_pair`` and ``release_fast_pair`` suffixes.
Copy link
Contributor

@annwoj annwoj Jun 21, 2024

Choose a reason for hiding this comment

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

Suggested change
The configurations that enable Fast Pair are specified in the files with the ``fast_pair`` and ``release_fast_pair`` suffixes.
The configurations that enable Fast Pair are specified in the files with filenames ending with the ``fast_pair`` and ``release_fast_pair`` suffixes.

felt it's missing something

If this Kconfig option is not overwritten in the sysbuild configuration, debug signature key files located in the MCUboot bootloader repository will be used by default.

To select a specific version of the application, set the :kconfig:option:`CONFIG_MCUBOOT_IMGTOOL_SIGN_VERSION` Kconfig option in the application configuration.
If the nRF Desktop application is configured with the MCUboot in the direct-xip mode, the build system builds two application images: one for the primary slot and the other for the secondary slot named ``mcuboot_secondary_app``.
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
If the nRF Desktop application is configured with the MCUboot in the direct-xip mode, the build system builds two application images: one for the primary slot and the other for the secondary slot named ``mcuboot_secondary_app``.
If the nRF Desktop application is configured with the MCUboot in the direct-xip mode, the build system builds two application images: one for the primary slot and the other for the secondary slot, named ``mcuboot_secondary_app``.

You need to update this configuration only in the main application image, as the ``mcuboot_secondary_app`` image mirrors it.

.. note::
When the MCUboot bootloader is in direct-xip mode, the update image must have a higher version number than the application currently running on the device.
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
When the MCUboot bootloader is in direct-xip mode, the update image must have a higher version number than the application currently running on the device.
When the MCUboot bootloader is in the direct-xip mode, the update image must have a higher version number than the application currently running on the device.

.. note::
When the MCUboot bootloader is in direct-xip mode, the update image must have a higher version number than the application currently running on the device.
This ensures that the update image will be booted after a successful DFU image transfer.
Otherwise the update image can be rejected by the bootloader.
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
Otherwise the update image can be rejected by the bootloader.
Otherwise, the update image can be rejected by the bootloader.

@@ -116,12 +136,13 @@ Direct-xip mode

The direct-xip mode is used for the :ref:`background DFU <nrf_desktop_bootloader_background_dfu>`.
In this mode, the MCUboot bootloader boots an image directly from a given slot, so the swap operation is not needed.
To set the MCUboot mode of operations to the direct-xip mode, make sure to enable the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option in the application configuration.
This option automatically enables :kconfig:option:`CONFIG_BOOT_BUILD_DIRECT_XIP_VARIANT` to build application update images for both slots.
To set the MCUboot mode of operations to the direct-xip mode, make sure to enable the ``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP`` Kconfig option in the sysbuild configuration.
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
To set the MCUboot mode of operations to the direct-xip mode, make sure to enable the ``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP`` Kconfig option in the sysbuild configuration.
To set the MCUboot mode of operations to the direct-xip mode, enable the ``SB_CONFIG_MCUBOOT_MODE_DIRECT_XIP`` Kconfig option in the sysbuild configuration.

Enable the ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option in the bootloader configuration to make the MCUboot run the image directly from both image slots.
The nRF Desktop's bootloader configurations do not enable the revert mechanism (``CONFIG_BOOT_DIRECT_XIP_REVERT``).
When the direct-xip mode is enabled (the :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP` Kconfig option is set in the application configuration), the application modules that control the DFU transport do not request firmware upgrades and do not confirm the running image.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option enables MCUboot to run the image directly from both image slot, and it is automatically applied to the bootloader configuration based on the sysbuild configuration.
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
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option enables MCUboot to run the image directly from both image slot, and it is automatically applied to the bootloader configuration based on the sysbuild configuration.
The ``CONFIG_BOOT_DIRECT_XIP`` Kconfig option enables MCUboot to run the image directly from both image slots, and it is automatically applied to the bootloader configuration based on the sysbuild configuration.

@@ -137,6 +158,7 @@ Serial recovery mode
In the :ref:`USB serial recovery <nrf_desktop_bootloader_serial_dfu>` mode, the MCUboot bootloader uses a built-in foreground DFU transport over serial interface through USB.
The application is not involved in the foreground DFU transport, therefore it can be directly overwritten by the bootloader.
Because of that, the configuration with the serial recovery mode requires only a single application slot.
To set the MCUboot mode of operations to single application slot, make sure to enable the ``SB_CONFIG_MCUBOOT_MODE_SINGLE_APP`` Kconfig option in the sysbuild configuration.
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
To set the MCUboot mode of operations to single application slot, make sure to enable the ``SB_CONFIG_MCUBOOT_MODE_SINGLE_APP`` Kconfig option in the sysbuild configuration.
To set the MCUboot mode of operations to single application slot, enable the ``SB_CONFIG_MCUBOOT_MODE_SINGLE_APP`` Kconfig option in the sysbuild configuration.

@@ -155,12 +177,12 @@ You must select the ``CONFIG_MCUBOOT_INDICATION_LED`` Kconfig option to enable t
By default, both the GPIO pin and the LED are defined in the board's DTS file.
See :file:`boards/nordic/nrf52833dongle/nrf52833dongle_nrf52833.dts` for an example of board's DTS file used by the nRF Desktop application.

For an example of bootloader Kconfig configuration file defined by the application, see the MCUboot bootloader ``debug`` configuration defined for nRF52833 dongle (:file:`applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/child_image/mcuboot/prj.conf`).
For an example of bootloader Kconfig configuration file defined by the application, see the MCUboot bootloader ``debug`` configuration defined for nRF52833 dongle (:file:`applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/images/mcuboot/prj.conf`).
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
For an example of bootloader Kconfig configuration file defined by the application, see the MCUboot bootloader ``debug`` configuration defined for nRF52833 dongle (:file:`applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/images/mcuboot/prj.conf`).
For an example of a bootloader Kconfig configuration file defined by the application, see the MCUboot bootloader ``debug`` configuration defined for nRF52833 dongle (:file:`applications/nrf_desktop/configuration/nrf52833dongle_nrf52833/images/mcuboot/prj.conf`).

@@ -378,11 +378,12 @@ See :ref:`nrf_desktop_porting_guide` for details.
nRF Desktop build types
=======================

The nRF Desktop application does not use a single :file:`prj.conf` file.
The nRF Desktop application uses multiple files to configure the particular build type.
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
The nRF Desktop application uses multiple files to configure the particular build type.
The nRF Desktop application uses multiple files to configure each specific build type.

@mkapala-nordic mkapala-nordic removed changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. DNM labels Jun 21, 2024
@mkapala-nordic
Copy link
Contributor Author

Applied @annwoj suggestions

@kapi-no
Copy link
Contributor

kapi-no commented Jun 21, 2024

@anangl, this is ready for merging

@anangl anangl merged commit caf754e into nrfconnect:main Jun 21, 2024
13 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc only doc-required PR must not be merged without tech writer approval.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants