Skip to content

Commit 517af2b

Browse files
committed
doc: nrf54l: update FLPR documentation
* Add missing FLPR targets for L15 * Introduce FLPR documentation for LM20 Signed-off-by: Marcin Szymczyk <[email protected]>
1 parent 652d8a4 commit 517af2b

File tree

7 files changed

+105
-41
lines changed

7 files changed

+105
-41
lines changed

doc/nrf/app_dev/device_guides/coprocessors/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Developing with coprocessors
99

1010
You can use the VPR coprocessor (Fast Lightweight Peripheral Processor - FLPR) as follows:
1111

12-
* As an additional core in a multicore system using Zephyr in multithreaded mode (see the :ref:`nRF54L15<vpr_flpr_nrf54l>` and :ref:`nRF54H20 devices<ug_nrf54h20_flpr>` pages).
12+
* As an additional core in a multicore system using Zephyr in multithreaded mode (see the :ref:`nRF54L<vpr_flpr_nrf54l>` and :ref:`nRF54H20 devices<ug_nrf54h20_flpr>` pages).
1313
* As a peripheral emulator, using one of the following methods depending on the use case:
1414

1515
* :ref:`High-Performance Framework (HPF)<hpf_index>`
@@ -60,7 +60,7 @@ For detailed comparison see the :ref:`ug_hpf_softperipherals_comparison` page.
6060
- Handles simple data pre-processing or post-processing based on specific protocol needs.
6161
- Not supported.
6262
* - Maturity level
63-
- Experimental (nRF54L15 and nRF54H20)
63+
- Experimental (nRF54L15, nRF54LM20, and nRF54H20)
6464
- Experimental (nRF54L15)
6565
- Supported (see :ref:`nrfxlib:soft_peripherals` documentation for the list of supported devices)
6666
* - Example use case

doc/nrf/app_dev/device_guides/nrf54l/building_nrf54l.rst

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
.. _building_nrf54l:
22

3-
Building and programming with nRF54L15 DK
4-
#########################################
3+
Building and programming with nRF54L SoC series
4+
###############################################
55

66
.. contents::
77
:local:
88
:depth: 2
99

1010
.. note::
11-
The FLPR core support in the |NCS| is currently :ref:`experimental<software_maturity>`.
12-
Additionally, it is not yet available for the nRF54L05 and nRF54L10 SoCs.
11+
Refer to the :ref:`VPR support table<vpr_flpr_nrf54l_support_status>` for availability and maturity of FLPR targets.
1312

14-
This guide provides instructions on how to build and program the nRF54L15 development kit.
13+
This guide provides instructions on how to build and program the nRF54L Series development kits.
1514
Whether you are working with single or multi-image builds, the following sections will guide you through the necessary steps.
1615

1716
Depending on the sample, you must program only the application core or both the Fast Lightweight Peripheral Processor (FLPR) and the application core.
@@ -36,10 +35,12 @@ Using the FLPR core also requires additional configuration to enable it.
3635
This section outlines how to build and program for both the application and FLPR core, covering separate builds and sysbuild configurations.
3736
The FLPR core supports two variants:
3837

39-
* ``nrf54l15dk/nrf54l15/cpuflpr``, where FLPR runs from SRAM, which is the recommended method.
38+
* ``<board target>/cpuflpr``, where *board target* depends on the device you are using.
39+
In this variant, FLPR runs from SRAM, which is the recommended method.
4040
To build FLPR image with this variant, the application core image must include the ``nordic-flpr`` :ref:`snippet <app_build_snippets>`.
4141

42-
* ``nrf54l15dk/nrf54l15/cpuflpr/xip``, where FLPR runs from RRAM.
42+
* ``<board target>/cpuflpr/xip``, where *board target* depends on the device you are using.
43+
In this variant, FLPR runs from RRAM.
4344
To build FLPR image with this variant, the application core image must include the ``nordic-flpr-xip`` snippet.
4445

4546
Standard build
@@ -57,13 +58,13 @@ Complete the following steps:
5758

5859
.. group-tab:: Using minimal sample for VPR bootstrapping
5960

60-
This option automatically programs the FLPR core with :ref:`dedicated bootstrapping firmware <vpr_flpr_nrf54l15_initiating>`.
61+
This option automatically programs the FLPR core with :ref:`dedicated bootstrapping firmware <vpr_flpr_nrf54l_initiating>`.
6162

6263
To build and flash both images, run the following command that performs a :ref:`pristine build <zephyr:west-building>`:
6364

64-
.. code-block:: console
65+
.. parsed-literal::
6566
66-
west build -p -b nrf54l15dk/nrf54l15/cpuflpr
67+
west build -p -b *board target*
6768
west flash
6869
6970
.. group-tab:: Using application that supports multi-image builds
@@ -74,16 +75,16 @@ Complete the following steps:
7475

7576
To build and flash both images, run the following command that performs a :ref:`pristine build <zephyr:west-building>`:
7677

77-
.. code-block:: console
78+
.. parsed-literal::
7879
79-
west build -p -b nrf54l15dk/nrf54l15/cpuflpr -- -DSB_CONFIG_VPR_LAUNCHER=n
80+
west build -p -b *board target* -- -DSB_CONFIG_VPR_LAUNCHER=n
8081
west flash
8182
8283
Separate images
8384
---------------
8485

8586
You can build and program application sample and the FLPR sample as separate images using |nRFVSC| or command line.
86-
To use nRF Util, see `Programming application firmware on the nRF54L15 SoC`_.
87+
To use nRF Util, see `Programming application firmware on the nRF54L SoCs`_.
8788
Depending on the selected method, complete the following steps:
8889

8990
.. tabs::
@@ -99,15 +100,15 @@ Depending on the selected method, complete the following steps:
99100

100101
3. Build the application image by setting the following options:
101102

102-
* Board target to ``nrf54l15dk/nrf54l15/cpuapp``.
103+
* Appropriate board target, depending on the device you are using.
103104
* Choose either ``nordic-flpr`` or ``nordic-flpr-xip`` snippet depending on the FLPR image target.
104105
* System build to :guilabel:`No sysbuild`.
105106

106107
For more information, see :ref:`cmake_options`.
107108

108109
#. Build the FLPR image by setting the following options:
109110

110-
* Board target to ``nrf54l15dk/nrf54l15/cpuflpr`` (recommended) or ``nrf54l15dk/nrf54l15/cpuflpr/xip``.
111+
* Board target to ``board target/cpuflpr`` (recommended) or ``board target/cpuflpr/xip``.
111112
* System build to :guilabel:`No sysbuild`.
112113

113114
For more information, see :ref:`cmake_options`.
@@ -117,9 +118,9 @@ Depending on the selected method, complete the following steps:
117118
1. |open_terminal_window_with_environment|
118119
#. Build the application core image, and based on your build target include the appropriate snippet:
119120

120-
.. code-block:: console
121+
.. parsed-literal::
121122
122-
west build -p -b nrf54l15dk/nrf54l15/cpuapp -S nordic-flpr --no-sysbuild
123+
west build -p -b *board target* -S nordic-flpr --no-sysbuild
123124
124125
#. Program the application core image by running the `west flash` command :ref:`without --erase <programming_params_no_erase>`.
125126

@@ -129,9 +130,9 @@ Depending on the selected method, complete the following steps:
129130
130131
#. Build the FLPR core image:
131132

132-
.. code-block:: console
133+
.. parsed-literal::
133134
134-
west build -p -b nrf54l15dk/nrf54l15/cpuflpr --no-sysbuild
135+
west build -p -b *board target* --no-sysbuild
135136
136137
You can also customize the command for additional options, by adding :ref:`build parameters <optional_build_parameters>`.
137138

doc/nrf/app_dev/device_guides/nrf54l/index.rst

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ Zephyr and the |NCS| provide support and contain board definitions for developin
2020
- Product pages
2121
* - :zephyr:board:`nrf54l15dk`
2222
- PCA10156
23-
- ``nrf54l15dk/nrf54l15/cpuapp``
23+
- | ``nrf54l15dk/nrf54l15/cpuapp``
24+
| ``nrf54l15dk/nrf54l15/cpuflpr``
25+
| ``nrf54l15dk/nrf54l15/cpuflpr/xip``
2426
- | `Datasheet <nRF54L15 Datasheet_>`_
2527
| `Quick Start app`_
2628
| `User Guide <nRF54L15 DK User Guide_>`_
@@ -36,6 +38,13 @@ Zephyr and the |NCS| provide support and contain board definitions for developin
3638
- ``nrf54l15dk/nrf54l05/cpuapp``
3739
- | `Datasheet <nRF54L15 Datasheet_>`_
3840
- | `nRF54L05 System-on-Chip (SoC) <nRF54L05_>`_
41+
* - :zephyr:board:`nrf54lm20dk`
42+
- PCA10184
43+
- | ``nrf54lm20dk/nrf54lm20/cpuapp``
44+
| ``nrf54lm20dk/nrf54lm20/cpuflpr``
45+
| ``nrf54lm20dk/nrf54lm20/cpuflpr/xip``
46+
- --
47+
- --
3948

4049
.. note::
4150

@@ -70,7 +79,7 @@ Make sure to check the revision of your nRF54L15 development kit to see if it is
7079

7180
.. note::
7281

73-
The supported nRF54L15 DK revisions are functionally equal and use the same board target (``nrf54l15dk/nrf54l15/cpuapp``).
82+
The supported nRF54L15 DK revisions are functionally equal and use the same board target (``nrf54l15dk/nrf54l15/cpuapp`` or ``nrf54l15dk/nrf54l15/cpuflpr``).
7483

7584
Refer to the compatibility matrices for the nRF54L Series devices to check the compatibility of various SoC revisions with different versions of the |NCS|:
7685

doc/nrf/app_dev/device_guides/nrf54l/nrf54l_signing_with_payload.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ See an example of memory partition configuration:
118118
.. note::
119119

120120
When using the Partition Manager, ensure this partition is reserved for FLPR.
121-
The Partition Manager will ignore this setting while allocating space for the application running on CPUAPP, but the :ref:`FLPR minimal sample <vpr_flpr_nrf54l15_initiating>` will still utilize it.
121+
The Partition Manager ignores this setting while allocating space for the application running on CPUAPP, but the :ref:`FLPR minimal sample <vpr_flpr_nrf54l_initiating>` will still use it.
122122

123123
* ``cpuflpr_sram_code_data`` - This configuration defines the RAM space reserved only for the FLPR.
124124
It is not available for the application core and should be excluded from its memory allocation.

doc/nrf/app_dev/device_guides/nrf54l/vpr_flpr.rst

Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,62 @@ Working with the FLPR core
77
:local:
88
:depth: 2
99

10-
.. note::
11-
The FLPR core support in the |NCS| is currently :ref:`experimental<software_maturity>`.
12-
Additionally, it is not yet available for the nRF54L05 and nRF54L10 SoCs.
13-
14-
The nRF54L15 SoC has a dedicated VPR CPU (RISC-V architecture), named *fast lightweight peripheral processor* (FLPR).
15-
The following peripherals are available for use with the FLPR core, and can be accessed through the appropriate Zephyr Device Driver API:
16-
17-
* GPIO
18-
* GPIOTE
19-
* GRTC
20-
* TWIM
21-
* UARTE
22-
* VPR
23-
24-
.. _vpr_flpr_nrf54l15_initiating:
10+
The nRF54L series SoCs have a dedicated VPR CPU (RISC-V architecture), named *fast lightweight peripheral processor* (FLPR).
11+
12+
.. _vpr_flpr_nrf54l_support_status:
13+
14+
FLPR support
15+
************
16+
17+
The following section provides a support overview for various FLPR targets:
18+
19+
.. list-table::
20+
:header-rows: 1
21+
22+
* - Target
23+
- Zephyr build target
24+
- Kernel support
25+
- Supported drivers
26+
* - nRF54L15 FLPR running from SRAM
27+
- ``nrf54l15dk/nrf54l15/cpuflpr``
28+
- Experimental
29+
- * GPIO
30+
* GPIOTE
31+
* GRTC
32+
* TWIM
33+
* UARTE
34+
* VPR
35+
* - nRF54L15 FLPR running from RRAM
36+
- ``nrf54l15dk/nrf54l15/cpuflpr/xip``
37+
- Experimental
38+
- --
39+
* - nRF54L05 FLPR running from SRAM
40+
- Not available
41+
- -
42+
- -
43+
* - nRF54L05 FLPR running from RRAM
44+
- Not available
45+
- -
46+
- -
47+
* - nRF54L10 FLPR running from SRAM
48+
- Not available
49+
- -
50+
- -
51+
* - nRF54L10 FLPR running from RRAM
52+
- Not available
53+
- -
54+
- -
55+
* - nRF54LM20 FLPR running from SRAM
56+
- ``nrf54lm20dk/nrf54lm20/cpuflpr``
57+
- Experimental
58+
- --
59+
* - nRF54LM20 FLPR running from RRAM
60+
- ``nrf54lm20dk/nrf54lm20/cpuflpr/xip``
61+
- Experimental
62+
- --
63+
64+
65+
.. _vpr_flpr_nrf54l_initiating:
2566

2667
Using FLPR with Zephyr multithreaded mode
2768
*****************************************
@@ -36,7 +77,7 @@ Bootstrapping the FLPR core
3677
The |NCS| provides an FLPR snippet that adds an overlay required for bootstrapping the FLPR core.
3778
Snippet's primary function is to enable the code that transfers the FLPR code to the designated region (if necessary) and to initiate the FLPR core.
3879

39-
When building for the ``nrf54l15dk/nrf54l15/cpuflpr`` target, a minimal sample is automatically loaded onto the application core.
80+
When building for the ``<board target>/cpuflpr`` or ``<board target>/cpuflpr/xip``, where *board target* depends on the device you are using, a minimal sample is automatically loaded onto the application core.
4081
See more information on :ref:`building_nrf54l_app_flpr_core`.
4182

4283
Peripherals emulation on FLPR

doc/nrf/includes/sample_board_rows.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,11 @@
254254

255255
| :ref:`nRF54L15 DK <ug_nrf54l>` | PCA10156 | :zephyr:board:`nrf54l15dk <nrf54l15dk>` | ``nrf54l15dk/nrf54l15/cpuflpr`` |
256256

257+
.. nrf54l15dk_nrf54l15_cpuflpr_xip
258+
259+
| :ref:`nRF54L15 DK <ug_nrf54l>` | PCA10156 | :zephyr:board:`nrf54l15dk <nrf54l15dk>` |
260+
``nrf54l15dk/nrf54l15/cpuflpr/xip`` |
261+
257262
.. nrf54lv10dk_nrf54lv10a_cpuapp
258263

259264
| nRF54LV10 DK | | nrf54lv10dk | ``nrf54lv10dk/nrf54lv10a/cpuapp`` |
@@ -265,3 +270,11 @@
265270
.. nrf54lm20dk_nrf54lm20a_cpuapp
266271

267272
| nRF54LM20 DK | | nrf54lm20dk | ``nrf54lm20dk/nrf54lm20a/cpuapp`` |
273+
274+
.. nrf54lm20dk_nrf54lm20a_cpuflpr
275+
276+
| nRF54LM20 DK | | nrf54lm20dk | ``nrf54lm20dk/nrf54lm20a/cpuflpr`` |
277+
278+
.. nrf54lm20dk_nrf54lm20a_cpuflpr_xip
279+
280+
| nRF54LM20 DK | | nrf54lm20dk | ``nrf54lm20dk/nrf54lm20a/cpuflpr/xip`` |

doc/nrf/links.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@
956956
.. _`Device command overview`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming.html
957957
.. _`Programming application firmware using MCUboot serial recovery`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_firmware_thingy91.html
958958
.. _`Programming modem firmware using MCUboot serial recovery`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_firmware_thingy91.html
959-
.. _`Programming application firmware on the nRF54L15 SoC`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_nrf54L15.html
959+
.. _`Programming application firmware on the nRF54L SoCs`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_nrf54L15.html
960960
.. _`Upgrading modem firmware using J-Link`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_modem_9160.html
961961
.. _`Provisioning keys for hardware KMU`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/provisioning_keys.html
962962

0 commit comments

Comments
 (0)