|
| 1 | +.. _building_nrf54l: |
| 2 | + |
| 3 | +Building and programming with nRF54L15 DK |
| 4 | +######################################### |
| 5 | + |
| 6 | +.. contents:: |
| 7 | + :local: |
| 8 | + :depth: 2 |
| 9 | + |
| 10 | +This guide provides instructions on how to build and program the nRF54L15 development kit. |
| 11 | +Whether you are working with single or multi-image builds, the following sections will guide you through the necessary steps. |
| 12 | + |
| 13 | +Depending on the sample, you must program only the application core or both the Fast Lightweight Peripheral Processor (FLPR) and the application core. |
| 14 | +Additionally, the process will differ based on whether you are working with a single-image or multi-image build. |
| 15 | + |
| 16 | +.. note:: |
| 17 | + The following instructions do not include multi-image single-core builds scenario. |
| 18 | + |
| 19 | +Building for the application core only |
| 20 | +************************************** |
| 21 | + |
| 22 | +Building for the application core only follows the default building process for the |NCS|. |
| 23 | +For instructions, see how the :ref:`building` page. |
| 24 | + |
| 25 | +.. _building_nrf54l_app_flpr_core: |
| 26 | + |
| 27 | +Building for the application and FLPR core |
| 28 | +****************************************** |
| 29 | + |
| 30 | +Building for both the application and the FLPR cores is different from the default |NCS| procedure. |
| 31 | +Using the FLPR core also requires additional configuration to enable it. |
| 32 | +This section outlines how to build and program for both the application and FLPR core, covering separate builds and sysbuild configurations. |
| 33 | +The FLPR core supports two variants: |
| 34 | + |
| 35 | +* ``nrf54l15dk/nrf54l15/cpuflpr``, where FLPR runs from SRAM, which is the recommended method. |
| 36 | + To build FLPR image with this variant, the application core image must include the ``nordic-flpr`` :ref:`snippet <app_build_snippets>`. |
| 37 | + |
| 38 | +* ``nrf54l15dk/nrf54l15/cpuflpr/xip``, where FLPR runs from RRAM. |
| 39 | + To build FLPR image with this variant, the application core image must include the ``nordic-flpr-xip`` snippet. |
| 40 | + |
| 41 | +Standard build |
| 42 | +-------------- |
| 43 | + |
| 44 | +This subsection focuses on how to build an application using :ref:`sysbuild <configuration_system_overview_sysbuild>`. |
| 45 | + |
| 46 | +.. note:: |
| 47 | + Currently, the documentation does not cover specific instructions for building an application image that uses sysbuild to incorporate the FLPR core as a sub-image. |
| 48 | + The only documented scenario is for building FLPR as the main image and the application as a sub-image. |
| 49 | + |
| 50 | +Complete the following steps: |
| 51 | + |
| 52 | +.. tabs:: |
| 53 | + |
| 54 | + .. group-tab:: Using minimal sample for VPR bootstrapping |
| 55 | + |
| 56 | + This option automatically programs the FLPR core with :ref:`dedicated bootstrapping firmware <vpr_flpr_nrf54l15_initiating>`. |
| 57 | + |
| 58 | + To build and flash both images, run the following command that performs a :ref:`pristine build <zephyr:west-building>`: |
| 59 | + |
| 60 | + .. code-block:: console |
| 61 | +
|
| 62 | + west build -p -b nrf54l15dk/nrf54l15/cpuflpr |
| 63 | + west flash |
| 64 | +
|
| 65 | + .. group-tab:: Using application that supports multi-image builds |
| 66 | + |
| 67 | + If your application involves creating custom images for both the application core and the FLPR core, make sure to disable the VPR bootstrapping sample. |
| 68 | + You can do this by disabling the ``SB_CONFIG_VPR_LAUNCHER`` option when building for the FLPR target. |
| 69 | + For more details, see :ref:`how to configure Kconfig <configuring_kconfig>`. |
| 70 | + |
| 71 | + To build and flash both images, run the following command that performs a :ref:`pristine build <zephyr:west-building>`: |
| 72 | + |
| 73 | + .. code-block:: console |
| 74 | +
|
| 75 | + west build -p -b nrf54l15dk/nrf54l15/cpuflpr -- -DSB_CONFIG_VPR_LAUNCHER=n |
| 76 | + west flash |
| 77 | +
|
| 78 | +Separate images |
| 79 | +--------------- |
| 80 | + |
| 81 | +You can build and program application sample and the FLPR sample as separate images using the |nRFVSC| or command line. |
| 82 | +To use nRF Util, see `Programming application firmware on the nRF54L15 SoC`_. |
| 83 | +Depending on the selected method, complete the following steps: |
| 84 | + |
| 85 | +.. tabs:: |
| 86 | + |
| 87 | + .. group-tab:: nRF Connect for VS Code |
| 88 | + |
| 89 | + .. note:: |
| 90 | + |
| 91 | + The |nRFVSC| currently offers experimental support for the nRF54L15's FLPR core. |
| 92 | + Certain features, particularly debugging, may not function as expected. |
| 93 | + |
| 94 | + .. include:: /includes/vsc_build_and_run.txt |
| 95 | + |
| 96 | + 3. Build the application image by setting the following options: |
| 97 | + |
| 98 | + * Board target to ``nrf54l15dk/nrf54l15/cpuapp``. |
| 99 | + * Choose either ``nordic-flpr`` or ``nordic-flpr-xip`` snippet depending on the FLPR image target. |
| 100 | + * System build to :guilabel:`No sysbuild`. |
| 101 | + |
| 102 | + For more information, see :ref:`cmake_options`. |
| 103 | + |
| 104 | + #. Build the FLPR image by setting the following options: |
| 105 | + |
| 106 | + * Board target to ``nrf54l15dk/nrf54l15/cpuflpr`` (recommended) or ``nrf54l15dk/nrf54l15/cpuflpr/xip``. |
| 107 | + * System build to :guilabel:`No sysbuild`. |
| 108 | + |
| 109 | + For more information, see :ref:`cmake_options`. |
| 110 | + |
| 111 | + .. group-tab:: Command line |
| 112 | + |
| 113 | + 1. |open_terminal_window_with_environment| |
| 114 | + #. Build the application core image, and based on your build target include the appropriate snippet: |
| 115 | + |
| 116 | + .. code-block:: console |
| 117 | +
|
| 118 | + west build -p -b nrf54l15dk/nrf54l15/cpuapp -S nordic-flpr --no-sysbuild |
| 119 | +
|
| 120 | + #. Program the application core image by running the `west flash` command :ref:`without --erase <programming_params_no_erase>`. |
| 121 | + |
| 122 | + .. code-block:: console |
| 123 | +
|
| 124 | + west flash |
| 125 | +
|
| 126 | + #. Build the FLPR core image: |
| 127 | + |
| 128 | + .. code-block:: console |
| 129 | +
|
| 130 | + west build -p -b nrf54l15dk/nrf54l15/cpuflpr --no-sysbuild |
| 131 | +
|
| 132 | + You can also customize the command for additional options, by adding :ref:`build parameters <optional_build_parameters>`. |
| 133 | + |
| 134 | + #. Once you have successfully built the FLPR core image, program it by running the `west flash` command :ref:`without --erase <programming_params_no_erase>`. |
| 135 | + |
| 136 | + .. code-block:: console |
| 137 | +
|
| 138 | + west flash |
0 commit comments