From 7e027e6fbb3660176e3ddff19b2312c3d9156db9 Mon Sep 17 00:00:00 2001 From: Kamil Piszczek Date: Mon, 28 Jul 2025 14:19:04 +0200 Subject: [PATCH 1/2] applications: nrf_desktop: fix memory map for nRF54L10 Fixed the memory layout for the nrf54l15dk/nrf54l10/cpuapp target in the nRF Desktop application. Previously, it was assumed that the memory size was 10 KB larger than the actual one. The NVM size in the nRF54L10 SoC is equal to 1012 KB. This change in the nRF54L10 partition map is a breaking change and cannot be performed using DFU. As a result, the DFU procedure will fail if you attempt to upgrade the sample firmware based on one of the nRF Connect SDK v3.0 releases. Ref: NCSDK-34584 Signed-off-by: Kamil Piszczek --- .../app_common.dtsi | 2 +- .../images/mcuboot/app.overlay | 2 +- .../nrf54l15dk_nrf54l10_cpuapp/pm_static.yml | 22 ++++++--------- .../pm_static_fast_pair.yml | 28 +++++++++---------- .../pm_static_keyboard.yml | 22 ++++++--------- .../pm_static_release.yml | 22 ++++++--------- 6 files changed, 43 insertions(+), 55 deletions(-) diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_common.dtsi b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_common.dtsi index 76c1a2867a4c..e6ad6c443cd2 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_common.dtsi +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/app_common.dtsi @@ -6,7 +6,7 @@ /* Application does not use cpuflpr core. Assign whole RRAM to cpuapp. */ &cpuapp_rram { - reg = < 0x0 DT_SIZE_K(1022) >; + reg = < 0x0 DT_SIZE_K(1012) >; }; / { diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/app.overlay b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/app.overlay index fb3d8b2c163e..590a3bf7e0b1 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/app.overlay +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/images/mcuboot/app.overlay @@ -6,5 +6,5 @@ /* Application does not use cpuflpr core. Assign whole RRAM to cpuapp. */ &cpuapp_rram { - reg = < 0x0 DT_SIZE_K(1022) >; + reg = < 0x0 DT_SIZE_K(1012) >; }; diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static.yml b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static.yml index 80b4932b754d..c91a8d1be30d 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static.yml +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static.yml @@ -1,7 +1,7 @@ app: address: 0x7800 region: flash_primary - size: 0x79800 + size: 0x78800 mcuboot: address: 0x0 region: flash_primary @@ -16,36 +16,32 @@ mcuboot_primary: - app - mcuboot_pad region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id001 mcuboot_primary_app: address: 0x7800 orig_span: &id002 - app region: flash_primary - size: 0x79800 + size: 0x78800 span: *id002 mcuboot_secondary: - address: 0x81000 + address: 0x80000 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id003 mcuboot_secondary_pad: region: flash_primary - address: 0x81000 + address: 0x80000 size: 0x800 mcuboot_secondary_app: region: flash_primary - address: 0x81800 - size: 0x79800 + address: 0x80800 + size: 0x78800 settings_storage: - address: 0xfb000 + address: 0xf9000 region: flash_primary size: 0x4000 -unused: - address: 0xff000 - region: flash_primary - size: 0x800 diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_fast_pair.yml b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_fast_pair.yml index 8199838ee965..b1f67986b7d3 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_fast_pair.yml +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_fast_pair.yml @@ -1,7 +1,7 @@ app: address: 0x7800 region: flash_primary - size: 0x78800 + size: 0x77800 mcuboot: address: 0x0 region: flash_primary @@ -16,36 +16,36 @@ mcuboot_primary: - app - mcuboot_pad region: flash_primary - size: 0x79000 + size: 0x78000 span: *id001 mcuboot_primary_app: address: 0x7800 orig_span: &id002 - app region: flash_primary - size: 0x78800 + size: 0x77800 span: *id002 mcuboot_secondary: - address: 0x80000 + address: 0x7f000 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: flash_primary - size: 0x79000 + size: 0x78000 span: *id003 mcuboot_secondary_pad: region: flash_primary - address: 0x80000 + address: 0x7f000 size: 0x800 mcuboot_secondary_app: region: flash_primary - address: 0x80800 - size: 0x78800 -settings_storage: - address: 0xf9000 - region: flash_primary - size: 0x6000 + address: 0x7f800 + size: 0x77800 bt_fast_pair: - address: 0xff000 + address: 0xf7000 region: flash_primary - size: 0x800 + size: 0x1000 +settings_storage: + address: 0xf8000 + region: flash_primary + size: 0x5000 diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_keyboard.yml b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_keyboard.yml index 80b4932b754d..c91a8d1be30d 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_keyboard.yml +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_keyboard.yml @@ -1,7 +1,7 @@ app: address: 0x7800 region: flash_primary - size: 0x79800 + size: 0x78800 mcuboot: address: 0x0 region: flash_primary @@ -16,36 +16,32 @@ mcuboot_primary: - app - mcuboot_pad region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id001 mcuboot_primary_app: address: 0x7800 orig_span: &id002 - app region: flash_primary - size: 0x79800 + size: 0x78800 span: *id002 mcuboot_secondary: - address: 0x81000 + address: 0x80000 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id003 mcuboot_secondary_pad: region: flash_primary - address: 0x81000 + address: 0x80000 size: 0x800 mcuboot_secondary_app: region: flash_primary - address: 0x81800 - size: 0x79800 + address: 0x80800 + size: 0x78800 settings_storage: - address: 0xfb000 + address: 0xf9000 region: flash_primary size: 0x4000 -unused: - address: 0xff000 - region: flash_primary - size: 0x800 diff --git a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_release.yml b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_release.yml index 80b4932b754d..c91a8d1be30d 100644 --- a/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_release.yml +++ b/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l10_cpuapp/pm_static_release.yml @@ -1,7 +1,7 @@ app: address: 0x7800 region: flash_primary - size: 0x79800 + size: 0x78800 mcuboot: address: 0x0 region: flash_primary @@ -16,36 +16,32 @@ mcuboot_primary: - app - mcuboot_pad region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id001 mcuboot_primary_app: address: 0x7800 orig_span: &id002 - app region: flash_primary - size: 0x79800 + size: 0x78800 span: *id002 mcuboot_secondary: - address: 0x81000 + address: 0x80000 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: flash_primary - size: 0x7a000 + size: 0x79000 span: *id003 mcuboot_secondary_pad: region: flash_primary - address: 0x81000 + address: 0x80000 size: 0x800 mcuboot_secondary_app: region: flash_primary - address: 0x81800 - size: 0x79800 + address: 0x80800 + size: 0x78800 settings_storage: - address: 0xfb000 + address: 0xf9000 region: flash_primary size: 0x4000 -unused: - address: 0xff000 - region: flash_primary - size: 0x800 From f1610cb1f0ed30f2c9f25773592397b3b27cb4eb Mon Sep 17 00:00:00 2001 From: Kamil Piszczek Date: Mon, 28 Jul 2025 14:37:12 +0200 Subject: [PATCH 2/2] doc: changelog: nrf_desktop: mention memory map update for nRF54L10 Added a changelog entry for the nRF Desktop application that describes the update of the memory map for the nrf54l15dk/nrf54l10/cpuapp board target. Ref: NCSDK-34584 Signed-off-by: Kamil Piszczek --- .../releases/release-notes-changelog.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 24f9dedd4b53..7d8ba43dcade 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -350,6 +350,12 @@ nRF Desktop You can disable the :ref:`CONFIG_DESKTOP_FN_KEYS_BUTTON_EVENT_SUBSCRIBE_FIRST ` Kconfig option to use early subscription (:c:macro:`APP_EVENT_SUBSCRIBE_EARLY`). * The :ref:`nrf_desktop_passkey` and :ref:`nrf_desktop_buttons_sim` to subscribe for :c:struct:`button_event` as an early subscriber (:c:macro:`APP_EVENT_SUBSCRIBE_EARLY`). This allows the modules to process the event before other application modules. + * The memory layout in every configuration variant of the ``nrf54l15dk/nrf54l10/cpuapp`` board target to fix the out-of-bound partition allocations. + Previously, it was assumed that the memory size for this board target was 10 KB larger than the actual one. + The NVM size in the nRF54L10 SoC is equal to 1012 KB. + + This change in the nRF54L10 partition map is a breaking change and cannot be performed using DFU. + As a result, the DFU procedure will fail if you attempt to upgrade the sample firmware based on one of the |NCS| v3.0 releases. nRF Machine Learning (Edge Impulse) -----------------------------------