diff --git a/doc/nrf/protocols/matter/getting_started/hw_requirements.rst b/doc/nrf/protocols/matter/getting_started/hw_requirements.rst index e6b86ca0929a..5098f1c48e18 100644 --- a/doc/nrf/protocols/matter/getting_started/hw_requirements.rst +++ b/doc/nrf/protocols/matter/getting_started/hw_requirements.rst @@ -723,15 +723,13 @@ For more information about configuration of memory layouts in Matter, see :ref:` +=========================================+=====================+===================+=====================+=================+===================+ | Bootloader (mcuboot) | 0 kB (0x0) | 52 kB (0xD000) |- |- |- | +-----------------------------------------+---------------------+-------------------+---------------------+-----------------+-------------------+ - | Application (mcuboot_primary/app) | 52 kB (0xD000) | 924 kB (0xE7000) | mcuboot_pad | 52 kB (0xD000) | 4 kB (0x1000) | + | Application (mcuboot_primary/app) | 52 kB (0xD000) | 916 kB (0xE5000) | mcuboot_pad | 52 kB (0xD000) | 4 kB (0x1000) | | | | +---------------------+-----------------+-------------------+ - | | | | mcuboot_primary_app | 56 kB (0xE000) | 920 kB (0xE6000) | + | | | | mcuboot_primary_app | 56 kB (0xE000) | 912 kB (0xE4000) | +-----------------------------------------+---------------------+-------------------+---------------------+-----------------+-------------------+ - | Factory data (factory_data) | 976 kB (0xF4000) | 4 kB (0x1000) |- |- |- | + | Factory data (factory_data) | 968 kB (0xF2000) | 4 kB (0x1000) |- |- |- | +-----------------------------------------+---------------------+-------------------+---------------------+-----------------+-------------------+ - | Non-volatile storage (settings_storage) | 980 kB (0xF5000) | 40 kB (0xA000) |- |- |- | - +-----------------------------------------+---------------------+-------------------+---------------------+-----------------+-------------------+ - | Reserved area (reserved) | 1020 kB (0xFF000) | 2 kB (0x800) |- |- |- | + | Non-volatile storage (settings_storage) | 972 kB (0xF3000) | 40 kB (0xA000) |- |- |- | +-----------------------------------------+---------------------+-------------------+---------------------+-----------------+-------------------+ Application core SRAM primary (size: 0x30000 = 192 kB) @@ -747,9 +745,9 @@ For more information about configuration of memory layouts in Matter, see :ref:` +-----------------------------------------+------------------+-------------------+---------------------+-----------------+-----------------+ | Partition | Offset | Size | Partition elements | Element offset | Element size | +=========================================+==================+===================+=====================+=================+=================+ - | Application DFU (mcuboot_secondary) | 0 kB (0x0) | 924 kB (0xE7000) |- |- |- | + | Application DFU (mcuboot_secondary) | 0 kB (0x0) | 916 kB (0xE5000) |- |- |- | +-----------------------------------------+------------------+-------------------+---------------------+-----------------+-----------------+ - | Free space (external_flash) | 924 kB (0xE7000) | 7268 kB (0x719000)|- |- |- | + | Free space (external_flash) | 916 kB (0xE5000) | 7276 kB (0x71B000)|- |- |- | +-----------------------------------------+------------------+-------------------+---------------------+-----------------+-----------------+ .. diff --git a/doc/nrf/releases_and_maturity/known_issues.rst b/doc/nrf/releases_and_maturity/known_issues.rst index 8e8c0ccbec40..960b20fffa3c 100644 --- a/doc/nrf/releases_and_maturity/known_issues.rst +++ b/doc/nrf/releases_and_maturity/known_issues.rst @@ -594,6 +594,14 @@ KRKNWK-20019: The identify time does not update for the endpoint 1 in the Matter **Workaround:** Remove the identify cluster from the :file:`.zap` file, as this cluster is optional for the aggregator endpoint type. +.. rst-class:: v3-0-2 v3-0-1 v3-0-0 v2-9-0-nRF54H20-1 v2-9-2 v2-9-1 v2-9-0 + +KRKNWK-20562: The memory layout for the nRF54L10 target is invalid + The declared non-volatile memory layout is 10 kB greater than the actual size. + In case of using the memory area out of bounds, the device might crash or behave unexpectedly. + + **Workaround:** Change the nRF54L10 memory layout to end at ``0xFD000`` address. + .. rst-class:: v3-0-1 v3-0-0 KRKNWK-20308: The ``MyCluster.xml`` file example in the :ref:`ug_matter_creating_custom_cluster` user guide does not contain the ``ExtendedCommandResponse`` command 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 f69d1ecd405b..77ce94cba285 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -578,6 +578,9 @@ Matter samples * :kconfig:option:`CONFIG_CHIP_ICD_ACTIVE_MODE_THRESHOLD` from ``300`` to ``0`` ms for SIT devices. * :kconfig:option:`CONFIG_CHIP_ICD_FAST_POLLING_INTERVAL` from ``200`` to ``500`` ms. + * The memory layout for the ``nrf54l15dk/nrf54l10/cpuapp`` board target, as the previous one was invalid and allowed to access memory area out of bounds. + The maximum size of the non-volatile area was changed from 1022 kB to 1012 kB, the application partition size was decreased by 8 kB, and the reserved partition was removed. + * :ref:`matter_light_switch_sample`: * Updated the testing steps to use the proper commands for groupcast binding. diff --git a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 7367ea5ea514..6785516c5c26 100644 --- a/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/manufacturer_specific/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -17,7 +17,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/matter/manufacturer_specific/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml b/samples/matter/manufacturer_specific/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml index b30199aabd01..a4ccdb2eeac1 100644 --- a/samples/matter/manufacturer_specific/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml +++ b/samples/matter/manufacturer_specific/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml @@ -9,7 +9,7 @@ mcuboot_pad: app: address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 mcuboot_primary: orig_span: &id001 - mcuboot_pad @@ -17,33 +17,29 @@ mcuboot_primary: span: *id001 address: 0xD000 region: flash_primary - size: 0xE7000 + size: 0xE5000 mcuboot_primary_app: orig_span: &id002 - app span: *id002 address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 factory_data: - address: 0xF4000 + address: 0xF2000 region: flash_primary size: 0x1000 settings_storage: - address: 0xF5000 + address: 0xF3000 region: flash_primary size: 0xA000 -reserved: - address: 0xFF000 - region: flash_primary - size: 0x800 mcuboot_secondary: address: 0x0 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: external_flash - size: 0xE7000 + size: 0xE5000 span: *id003 mcuboot_secondary_pad: region: external_flash @@ -52,9 +48,9 @@ mcuboot_secondary_pad: mcuboot_secondary_app: region: external_flash address: 0x1000 - size: 0xE6000 + size: 0xE4000 external_flash: - address: 0xE7000 - size: 0x719000 + address: 0xE5000 + size: 0x71B000 device: MX25R64 region: external_flash diff --git a/samples/matter/manufacturer_specific/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/manufacturer_specific/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 9f9b02da0301..50c0ff06a6b3 100644 --- a/samples/matter/manufacturer_specific/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/manufacturer_specific/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -12,7 +12,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 3b74b803d113..0b70e0861d90 100644 --- a/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/smoke_co_alarm/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -18,7 +18,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/matter/smoke_co_alarm/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml b/samples/matter/smoke_co_alarm/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml index b30199aabd01..a4ccdb2eeac1 100644 --- a/samples/matter/smoke_co_alarm/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml +++ b/samples/matter/smoke_co_alarm/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml @@ -9,7 +9,7 @@ mcuboot_pad: app: address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 mcuboot_primary: orig_span: &id001 - mcuboot_pad @@ -17,33 +17,29 @@ mcuboot_primary: span: *id001 address: 0xD000 region: flash_primary - size: 0xE7000 + size: 0xE5000 mcuboot_primary_app: orig_span: &id002 - app span: *id002 address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 factory_data: - address: 0xF4000 + address: 0xF2000 region: flash_primary size: 0x1000 settings_storage: - address: 0xF5000 + address: 0xF3000 region: flash_primary size: 0xA000 -reserved: - address: 0xFF000 - region: flash_primary - size: 0x800 mcuboot_secondary: address: 0x0 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: external_flash - size: 0xE7000 + size: 0xE5000 span: *id003 mcuboot_secondary_pad: region: external_flash @@ -52,9 +48,9 @@ mcuboot_secondary_pad: mcuboot_secondary_app: region: external_flash address: 0x1000 - size: 0xE6000 + size: 0xE4000 external_flash: - address: 0xE7000 - size: 0x719000 + address: 0xE5000 + size: 0x71B000 device: MX25R64 region: external_flash diff --git a/samples/matter/smoke_co_alarm/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/smoke_co_alarm/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 0552388c2baf..4caa76c3587a 100644 --- a/samples/matter/smoke_co_alarm/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/smoke_co_alarm/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -12,7 +12,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index d1ef8beb65ff..2d5905d95e6c 100644 --- a/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/template/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -17,7 +17,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/matter/template/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml b/samples/matter/template/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml index b30199aabd01..a4ccdb2eeac1 100644 --- a/samples/matter/template/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml +++ b/samples/matter/template/pm_static_nrf54l15dk_nrf54l10_cpuapp.yml @@ -9,7 +9,7 @@ mcuboot_pad: app: address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 mcuboot_primary: orig_span: &id001 - mcuboot_pad @@ -17,33 +17,29 @@ mcuboot_primary: span: *id001 address: 0xD000 region: flash_primary - size: 0xE7000 + size: 0xE5000 mcuboot_primary_app: orig_span: &id002 - app span: *id002 address: 0xE000 region: flash_primary - size: 0xE6000 + size: 0xE4000 factory_data: - address: 0xF4000 + address: 0xF2000 region: flash_primary size: 0x1000 settings_storage: - address: 0xF5000 + address: 0xF3000 region: flash_primary size: 0xA000 -reserved: - address: 0xFF000 - region: flash_primary - size: 0x800 mcuboot_secondary: address: 0x0 orig_span: &id003 - mcuboot_secondary_pad - mcuboot_secondary_app region: external_flash - size: 0xE7000 + size: 0xE5000 span: *id003 mcuboot_secondary_pad: region: external_flash @@ -52,9 +48,9 @@ mcuboot_secondary_pad: mcuboot_secondary_app: region: external_flash address: 0x1000 - size: 0xE6000 + size: 0xE4000 external_flash: - address: 0xE7000 - size: 0x719000 + address: 0xE5000 + size: 0x71B000 device: MX25R64 region: external_flash diff --git a/samples/matter/template/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/matter/template/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 0552388c2baf..4caa76c3587a 100644 --- a/samples/matter/template/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/matter/template/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -12,7 +12,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLRP &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/openthread/cli/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/openthread/cli/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index fc528bf841f5..05ae766ced0b 100644 --- a/samples/openthread/cli/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/openthread/cli/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -6,7 +6,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLPR &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram { diff --git a/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l10_cpuapp.overlay b/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l10_cpuapp.overlay index 574464f654a9..4023c16391f3 100644 --- a/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l10_cpuapp.overlay +++ b/samples/openthread/coprocessor/boards/nrf54l15dk_nrf54l10_cpuapp.overlay @@ -18,7 +18,7 @@ // restore full RRAM and SRAM space - by default some parts are dedicated to FLPR &cpuapp_rram { - reg = <0x0 DT_SIZE_K(1022)>; + reg = <0x0 DT_SIZE_K(1012)>; }; &cpuapp_sram {