You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
doc: migration guide: add Fast Pair nRF53 PM to DTS migration steps
Add a Fast Pair Locator Tag sample entry to the v3.4 migration guide
that lists the unique adjustments required when migrating the nRF53
Series DFU configuration with MCUboot in the overwrite mode from the
Partition Manager to devicetree (DTS).
The new entry refers the reader to the generic Fast Pair PM-to-DTS
migration steps from the v3.3 migration guide and supplements them
with the nRF53-specific actions:
- Enable SB_CONFIG_MCUBOOT_NRF53_MULTI_IMAGE_UPDATE in sysbuild so
that the application core and network core images are updated
together through MCUboot.
- Override the external flash node (for example, mx25r64) in the
application core overlay to host slot1_partition (image-1) and
slot3_partition (image-3); align slot3_partition with the
RAM-backed slot2_partition from the upstream flash_sim overlay.
Note that, unlike on nRF52 and nRF54L Series targets, the internal
flash (flash0) only needs slot0_partition for MCUboot.
- Define the network core (flash1) partition layout (b0n_partition,
provision_partition aliased as bl_storage, and s0_partition) once
in the IPC radio sysbuild overlay.
- Add a B0N sysbuild image overlay that includes the IPC radio
cpunet overlay and chooses b0n_partition as zephyr,code-partition,
and enable CONFIG_USE_DT_CODE_PARTITION in the B0N image
configuration.
- Disable CONFIG_MCUBOOT_VERIFY_IMG_ADDRESS in the MCUboot sysbuild
image configuration, since this option relies on Partition
Manager-only macros for the network core image slot.
Ref: NCSDK-38010
Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
Copy file name to clipboardExpand all lines: doc/nrf/releases_and_maturity/migration/migration_guide_3.4.rst
+74-1Lines changed: 74 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,7 +123,80 @@ Samples and applications
123
123
124
124
This section describes the changes related to samples and applications.
125
125
126
-
|no_changes_yet_note|
126
+
Fast Pair Locator Tag sample
127
+
----------------------------
128
+
129
+
.. toggle::
130
+
131
+
The :ref:`fast_pair_locator_tag` sample on nRF53 Series board targets (``nrf5340dk/nrf5340/cpuapp`` and ``thingy53/nrf5340/cpuapp``) has been migrated from the deprecated :ref:`partition_manager` static configuration to devicetree (DTS) for the partition layout.
132
+
With this change, all board targets supported by the sample now use DTS for partition definitions.
133
+
The ``nrf5340dk/nrf5340/cpuapp/ns`` and ``thingy53/nrf5340/cpuapp/ns`` board target variants have been removed from the sample.
134
+
135
+
If your application is based on the nRF53 Series MCUboot DFU configuration of this sample, follow the generic Fast Pair PM-to-DTS migration steps described in the *Google Fast Pair* recommended changes of the :ref:`migration_3.3` guide.
136
+
In addition to the generic steps, the nRF53 Series DFU configuration with MCUboot in the overwrite mode requires the following unique adjustments:
137
+
138
+
1. Enable the multi-image update mode in your sysbuild configuration so that the application core and the network core images are updated together through MCUboot:
139
+
140
+
.. code-block:: kconfig
141
+
142
+
SB_CONFIG_MCUBOOT_NRF53_MULTI_IMAGE_UPDATE=y
143
+
144
+
See the :file:`sysbuild/configuration/<board_target>/sysbuild.conf` file from the :ref:`fast_pair_locator_tag` sample as an example.
145
+
146
+
#. Override the external flash node in the application core overlay to define the MCUboot secondary slot partitions there.
147
+
In the nRF53 Series DFU configuration, the secondary slots reside in external QSPI flash (for example, ``mx25r64`` on the ``nrf5340dk/nrf5340/cpuapp`` board target) instead of the internal flash.
148
+
149
+
Define the following partitions under the external flash node:
150
+
151
+
* ``slot1_partition`` (``image-1``) for the application core secondary slot.
152
+
* ``slot3_partition`` (``image-3``) for the network core secondary slot.
153
+
154
+
The size of ``slot3_partition`` must match the corresponding RAM-backed ``slot2_partition`` defined in :file:`nrf/modules/mcuboot/flash_sim.overlay`, which MCUboot uses to forward the network core image during DFU.
155
+
156
+
As a consequence of moving the secondary slots to external flash, the internal flash node (``flash0``) only needs to declare a single MCUboot slot partition (``slot0_partition``), in contrast to nRF52 and nRF54L Series board targets where ``slot1_partition`` is also placed on the internal flash.
157
+
The remaining application core partitions (``boot_partition``, ``bt_fast_pair_partition``, and ``storage_partition``) stay on ``flash0`` as described in the generic migration steps.
158
+
See the :file:`configuration/boards/<board_target>.overlay` file in the sample for a complete example.
159
+
160
+
#. Define the network core partition layout under the network core flash node (``flash1``) in a sysbuild overlay shared by the network core images.
161
+
The layout consists of the following partitions:
162
+
163
+
* ``b0n_partition`` (``b0n``) for the secure bootloader on the network core.
164
+
* ``provision_partition`` (``b0-provision-data``), additionally aliased as ``bl_storage``, for the bootloader provisioning data.
165
+
* ``s0_partition`` (``image-0``) for the network core image slot.
166
+
167
+
Place this overlay in :file:`sysbuild/ipc_radio/boards/<board_target>.overlay` so that it is applied to the IPC radio image.
168
+
Size ``s0_partition`` so that the network core image fits within the RAM-backed ``slot2_partition`` of :file:`nrf/modules/mcuboot/flash_sim.overlay`.
169
+
170
+
#. Add a sysbuild image overlay for the B0N bootloader to reuse the same network core partition layout.
171
+
Create the :file:`sysbuild/b0n/boards/<board_target>.overlay` file that includes the IPC radio cpunet overlay and sets the ``zephyr,code-partition`` chosen node to ``b0n_partition``.
This mirrors the pattern used by the MCUboot image overlay on the application core: the layout is defined once in the application overlay and the bootloader image overlay only selects its own ``zephyr,code-partition``.
185
+
186
+
Enable the :kconfig:option:`CONFIG_USE_DT_CODE_PARTITION` Kconfig option in the B0N image configuration file (:file:`sysbuild/b0n/prj.conf`) so that the B0N bootloader links into the DTS-defined ``b0n_partition``:
187
+
188
+
.. code-block:: kconfig
189
+
190
+
CONFIG_USE_DT_CODE_PARTITION=y
191
+
192
+
#. Adjust the sysbuild image Kconfig configuration to align MCUboot with the DTS partition layout.
193
+
In the MCUboot sysbuild image configuration file (:file:`sysbuild/mcuboot/boards/<board_target>.conf`), disable the image address verification:
194
+
195
+
.. code-block:: kconfig
196
+
197
+
CONFIG_MCUBOOT_VERIFY_IMG_ADDRESS=n
198
+
199
+
This option relies on Partition Manager-only macros for the network core image slot that are not available in the DTS build.
0 commit comments