diff --git a/doc/_utils/redirects.py b/doc/_utils/redirects.py index 5bc2eeec8e2c..64b1e8504478 100644 --- a/doc/_utils/redirects.py +++ b/doc/_utils/redirects.py @@ -204,8 +204,9 @@ ("app_dev/device_guides/working_with_nrf/nrf54l/features", "app_dev/device_guides/nrf54l/features"), ("device_guides/working_with_nrf/nrf54l/nrf54l15_gs", "gsg_guides"), # Getting started with nRF54L15 PDK (removed after 2.8.0) ("app_dev/device_guides/working_with_nrf/nrf54l/nrf54l15_gs", "gsg_guides"), - ("device_guides/working_with_nrf/nrf54l/testing_dfu", "app_dev/device_guides/nrf54l/testing_dfu"), # Testing the DFU solution - ("app_dev/device_guides/working_with_nrf/nrf54l/testing_dfu", "app_dev/device_guides/nrf54l/testing_dfu"), + ("device_guides/working_with_nrf/nrf54l/testing_dfu", "app_dev/device_guides/nrf54l/fota_update"), # Testing the DFU solution (removed after 2.8.0) + ("app_dev/device_guides/working_with_nrf/nrf54l/testing_dfu", "app_dev/device_guides/nrf54l/fota_update"), + ("app_dev/device_guides/nrf54l/testing_dfu", "app_dev/device_guides/nrf54l/fota_update"), ("ug_nrf53", "app_dev/device_guides/nrf53/index"), # Developing with nRF53 Series (landing) ("nrf53", "app_dev/device_guides/nrf53/index"), ("device_guides/nrf53", "app_dev/device_guides/nrf53/index"), diff --git a/doc/nrf/app_dev/device_guides/nrf54l/building_nrf54l.rst b/doc/nrf/app_dev/device_guides/nrf54l/building_nrf54l.rst index bafdb432245e..e93b1859cf09 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/building_nrf54l.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/building_nrf54l.rst @@ -9,6 +9,7 @@ Building and programming with nRF54L15 DK .. note:: The FLPR core support in the |NCS| is currently :ref:`experimental`. + Additionally, it is not yet available for the nRF54L05 and nRF54L10 SoCs. This guide provides instructions on how to build and program the nRF54L15 development kit. Whether you are working with single or multi-image builds, the following sections will guide you through the necessary steps. diff --git a/doc/nrf/app_dev/device_guides/nrf54l/features.rst b/doc/nrf/app_dev/device_guides/nrf54l/features.rst index c58ba42a40b3..2cfa69da2318 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/features.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/features.rst @@ -123,8 +123,7 @@ See the :ref:`nfc_samples` and :ref:`lib_nfc` for the samples and libraries that MCUboot bootloader support ************************** -The nRF54L15 DK supports MCUboot as its bootloader. -The following features are supported: +Devices in the nRF54L Series support MCUboot as their bootloader and offer the following features: * Software and hardware-based :ref:`cryptography` * Hardware key management @@ -139,4 +138,4 @@ Supported DFU protocols The DFU process in the nRF54L15 DK uses the MCUmgr protocol. It can be used for performing updates over Bluetooth® Low Energy (LE) and serial connections. -For instructions on testing, see :ref:`nrf54l_testing_dfu`. +For details, see :ref:`ug_nrf54l_developing_ble_fota`. diff --git a/doc/nrf/app_dev/device_guides/nrf54l/fota_update.rst b/doc/nrf/app_dev/device_guides/nrf54l/fota_update.rst index 13132f889a0f..03a8ec8b2cb8 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/fota_update.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/fota_update.rst @@ -13,9 +13,12 @@ FOTA updates on nRF54L Series devices You can also use FOTA updates to replace the application. See the :ref:`app_dfu` page for general Device Firmware Update (DFU) information, such as supported methods for sending and receiving updates on the device. Currently, FOTA updates are supported only for the application core. +For more information about introducing immutable MCUboot bootloader, refer to :ref:`ug_bootloader_adding_sysbuild_immutable_mcuboot`. .. note:: - For more information about introducing immutable MCUboot bootloader, refer to :ref:`ug_bootloader_adding_sysbuild_immutable_mcuboot`. + The nRF54L SoC's support hardware Key Management Unit (KMU), designed to provide authentication keys for DFU purposes. + Ensure you complete the :ref:`KMU provisioning` during your device's DFU setup with KMU enabled. + Failing to do so may prevent your application from booting properly. .. fota_upgrades_intro_end @@ -139,20 +142,20 @@ In |NCS|, you can build and program the :zephyr:code-sample:`smp-svr` as any oth .. tabs:: - .. group-tab:: nRF54L15 SoCs + .. group-tab:: nRF54L SoCs .. parsed-literal:: :class: highlight - west build -b *board_name*/nrf54l15/cpuapp -- -DEXTRA_CONF_FILE=overlay-bt.conf + west build -b *board_target* -- -DEXTRA_CONF_FILE=overlay-bt.conf west flash - .. group-tab:: nRF54L15 SoCs with HW cryptography support + .. group-tab:: nRF54L SoCs with HW cryptography support .. parsed-literal:: :class: highlight - west build -b *board_name*/nrf54l15/cpuapp -- -DEXTRA_CONF_FILE=overlay-bt.conf -DSB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y -DSB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y -Dmcuboot_CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x10000 -DSB_CONFIG_MCUBOOT_SIGNATURE_USING_KMU=y + west build -b *board_target* -- -DEXTRA_CONF_FILE=overlay-bt.conf -DSB_CONFIG_BOOT_SIGNATURE_TYPE_ED25519=y -DSB_CONFIG_BOOT_SIGNATURE_TYPE_PURE=y -Dmcuboot_CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x10000 -DSB_CONFIG_MCUBOOT_SIGNATURE_USING_KMU=y west flash @@ -164,6 +167,15 @@ In |NCS|, you can build and program the :zephyr:code-sample:`smp-svr` as any oth west build -b nrf54l15dk/nrf54l15/cpuapp -T sample.mcumgr.smp_svr.bt.nrf54l15dk.ext_flash west flash + .. group-tab:: nRF54l15 DK with SPI Flash as update image (DTS partitioning) + + To build with the DTS partitioning, run the following command: + + .. parsed-literal:: + :class: highlight + + west build -b nrf54l15dk/nrf54l15/cpuapp -d build/smp_svr_54l_d zephyr/samples/subsys/mgmt/mcumgr/smp_svr -T sample.mcumgr.smp_svr.bt.nrf54l15dk.ext_flash.pure_dts + Make sure to indicate the :file:`overlay-bt.conf` overlay configuration for the Bluetooth transport like in the command example. This configuration was carefully selected to achieve the maximum possible throughput of the FOTA update transport over Bluetooth with the help of the following features: @@ -193,13 +205,12 @@ Build configuration additions for MCUboot in the direct-xip mode FOTA updates are also supported when MCUboot is in the direct-xip mode. In this mode, the MCUboot bootloader boots an image directly from a given slot, so the swap operation is not needed. It can be used either with or without the revert mechanism support. -For more information about the direct-xip mode and the revert mechanism support, go to the Equal slots (direct-xip) section on the :doc:`mcuboot:design` page. - -.. note:: - direct-xip mode can not be combined with the image encryption. +For more information about the direct-xip mode and the revert mechanism support, go to the *Equal slots* (direct-xip) section on the :doc:`mcuboot:design` page. .. note:: - building a project with direct-xip for nRF54l15 SoC target mode requires static partition manager file for partitioning, see known issues. + Direct-xip mode cannot be combined with image encryption. + In addition, when building a project with direct-xip for the nRF54L SoC targets, a static partition manager file is required for partitioning. + See NCSDK-30119 issue on the :ref:`known_issues` page. To use MCUboot in the direct-xip mode together with FOTA updates, do the following: diff --git a/doc/nrf/app_dev/device_guides/nrf54l/index.rst b/doc/nrf/app_dev/device_guides/nrf54l/index.rst index 00a42fa11442..b8751fe382bd 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/index.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/index.rst @@ -25,7 +25,7 @@ Zephyr and the |NCS| provide support and contain board definitions for developin | `Quick Start app`_ | `User Guide `_ - | `nRF54L15 DK product page `_ - | `nRF54L15 System-on-Chip (SoC) `_ + | `nRF54L15 System-on-Chip (SoC) `_ * - nRF54L10 emulation on the nRF54L15 DK - PCA10156 - ``nrf54l15dk/nrf54l10/cpuapp`` @@ -35,7 +35,7 @@ Zephyr and the |NCS| provide support and contain board definitions for developin - PCA10156 - ``nrf54l15dk/nrf54l05/cpuapp`` - | `Datasheet `_ - - | `nRF54L05 System-on-Chip (SoC) `_ + - | `nRF54L05 System-on-Chip (SoC) `_ .. _ug_nrf54L15_revision: @@ -64,7 +64,6 @@ Ensure to check the revision of your nRF54L15 device to see if it is supported: features zms cryptography - testing_dfu vpr_flpr building_nrf54l nrf54l_signing_with_payload diff --git a/doc/nrf/app_dev/device_guides/nrf54l/kmu_provision.rst b/doc/nrf/app_dev/device_guides/nrf54l/kmu_provision.rst index b7cc63c87e7f..35ce1d348326 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/kmu_provision.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/kmu_provision.rst @@ -1,14 +1,13 @@ .. _ug_nrf54l_developing_provision_kmu: - -nRF54L15 KMU provisioning -######################### +Performing KMU provisioning +########################### .. contents:: :local: :depth: 2 -The nRF54L15 DK is equipped with Hardware Key Management Unit (KMU), that requires provisioning when in use. +The nRF54L devices are equipped with Hardware Key Management Unit (KMU), that requires provisioning when in use. The |NCS| provides a west command, ``ncs-provision``, allowing to upload keys to the device though the Serial Write Debug (SWD) interface. Prerequisites @@ -66,7 +65,6 @@ Once you have an unprovisioned SoC, upload keys to the board by running the foll west ncs-provision upload -s nrf54l15 -k ed25519.pem -k ed25519-1.pem -k ed25519-2.pem * Parameter ``-s (-–soc)`` specifies the target device. - Currently, only the nRF54L15 DK is supported. * Parameter ``-k (-–key)`` specifies the private key PEM files to be provisioned to the SoC. You can specify up to three keys. diff --git a/doc/nrf/app_dev/device_guides/nrf54l/testing_dfu.rst b/doc/nrf/app_dev/device_guides/nrf54l/testing_dfu.rst deleted file mode 100644 index 7e6f14f94b1b..000000000000 --- a/doc/nrf/app_dev/device_guides/nrf54l/testing_dfu.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. _nrf54l_testing_dfu: - -Testing the DFU solution -######################## - -You can evaluate the DFU functionality by running the :zephyr:code-sample:`smp-svr` sample for the ``nrf54l15dk/nrf54l15/cpuapp`` board target, which is available for both Bluetooth® LE and serial channels. -This allows you to build and test the DFU solutions that are facilitated through integration with child images and the partition manager. - -To compile the SMP server sample for testing secondary image slots on external SPI NOR flash, make sure you are in the :file:`ncs` directory and run the command based on the selected partitioning method. - -.. tabs:: - - .. group-tab:: Partition Manager - - To build with the Partition Manager, run the following command: - - .. code-block:: console - - west build -b nrf54l15dk/nrf54l15/cpuapp -d build/smp_svr_54l zephyr/samples/subsys/mgmt/mcumgr/smp_svr -T sample.mcumgr.smp_svr.bt.nrf54l15dk.ext_flash - - .. group-tab:: DTS partitioning - - To build with the DTS partitioning, run the following command: - - .. code-block:: console - - west build -b nrf54l15dk/nrf54l15/cpuapp -d build/smp_svr_54l_d zephyr/samples/subsys/mgmt/mcumgr/smp_svr -T sample.mcumgr.smp_svr.bt.nrf54l15dk.ext_flash.pure_dts - -This configuration sets up the secondary image slot on the serial flash memory installed on the nRF54L15 DK. -It also enables the relevant SPI and the SPI NOR flash drivers. diff --git a/doc/nrf/app_dev/device_guides/nrf54l/vpr_flpr.rst b/doc/nrf/app_dev/device_guides/nrf54l/vpr_flpr.rst index 4358733d9921..743b05aed045 100644 --- a/doc/nrf/app_dev/device_guides/nrf54l/vpr_flpr.rst +++ b/doc/nrf/app_dev/device_guides/nrf54l/vpr_flpr.rst @@ -9,6 +9,7 @@ Working with the FLPR core .. note:: The FLPR core support in the |NCS| is currently :ref:`experimental`. + Additionally, it is not yet available for the nRF54L05 and nRF54L10 SoCs. The nRF54L15 SoC has a dedicated VPR CPU (RISC-V architecture), named *fast lightweight peripheral processor* (FLPR). The following peripherals are available for use with the FLPR core, and can be accessed through the appropriate Zephyr Device Driver API: