diff --git a/applications/ipc_radio/README.rst b/applications/ipc_radio/README.rst index 6297383ab9ac..e52503f3946b 100644 --- a/applications/ipc_radio/README.rst +++ b/applications/ipc_radio/README.rst @@ -47,10 +47,7 @@ The firmware supports the following development kits: .. table-from-sample-yaml:: -To automatically attach the firmware image, you need to use Zephyr's :ref:`zephyr:sysbuild`. - -The |nRFVSC| supports sysbuild during `build configuration setup `_. -To learn more about sysbuild in the extension, see `sysbuild support`_ page in its documentation. +To automatically attach the firmware image, you need to use :ref:`configuration_system_overview_sysbuild`. Configuration ************* @@ -76,12 +73,12 @@ The Bluetooth Low Energy and IEEE 802.15.4 functionalities can operate simultane .. note:: The IEEE 802.15.4 is currently not supported on the :ref:`zephyr:nrf54h20dk_nrf54h20` board. -Sysbuild -======== +Sysbuild Kconfig options +======================== -To enable the firmware, use the Sysbuild configuration of :kconfig:option:`SB_CONFIG_NRF_DEFAULT_IPC_RADIO`. +To enable the firmware, use the sysbuild configuration of :kconfig:option:`SB_CONFIG_NRF_DEFAULT_IPC_RADIO`. -You can set the supported radio configurations using the following (Sysbuild) Kconfig options: +You can set the supported radio configurations using the following sysbuild Kconfig options: * :kconfig:option:`SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC` * :kconfig:option:`SB_CONFIG_NETCORE_IPC_RADIO_BT_RPC` @@ -100,10 +97,10 @@ The following files are available: * :file:`overlay-bt_rpc.conf` - Configuration file enabling Bluetooth Low Energy over RPC. .. note:: - When you use sysbuild to build an application which uses the ipc_radio as network core image the preceding configuration files are added automatically to ipc_radio. - The selection of specific configuration files is determined by the sysbuild kconfig. + When you use sysbuild to build an application which uses the IPC radio firmware as the network or radio core image, the preceding configuration files are added automatically to the IPC radio firmware. + The selection of specific configuration files is determined by the sysbuild Kconfig. - For instance the :kconfig:option:`SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154` kconfig enables the :file:`overlay-802154.conf` configuration file to be used with ipc_radio. + For instance, the :kconfig:option:`SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154` Kconfig option enables the :file:`overlay-802154.conf` configuration file to be used with the IPC radio firmware. Building and running as a single image ************************************** diff --git a/doc/nrf/config_and_build/board_support/board_names.rst b/doc/nrf/config_and_build/board_support/board_names.rst index 3545413ffb80..324ffb93d5a7 100644 --- a/doc/nrf/config_and_build/board_support/board_names.rst +++ b/doc/nrf/config_and_build/board_support/board_names.rst @@ -43,6 +43,10 @@ While the board name is always present, other elements, such as the board revisi Read more about separation of processing environments on the :ref:`app_boards_spe_nspe` page. +.. important:: + This board name scheme was introduced in the |NCS| before the v2.7.0 release following changes in Zephyr v3.6.0. + Read Zephyr's :ref:`zephyr:hw_model_v2` and refer to `conversion example Pull Request`_ in Zephyr upstream if you have to port a board to the new model. + .. _app_boards_names_zephyr: Boards included in sdk-zephyr diff --git a/doc/nrf/config_and_build/config_and_build_system.rst b/doc/nrf/config_and_build/config_and_build_system.rst index c8adcb07daa5..cb75a19253ce 100644 --- a/doc/nrf/config_and_build/config_and_build_system.rst +++ b/doc/nrf/config_and_build/config_and_build_system.rst @@ -5,7 +5,7 @@ Build and configuration system .. contents:: :local: - :depth: 2 + :depth: 3 The |NCS| build and configuration system is based on the one from Zephyr, with some additions. @@ -214,7 +214,7 @@ To read about each of these stages, see :ref:`zephyr:cmake-details` in the Zephy Sysbuild ======== -The |NCS| supports Zephyr's System Build (Sysbuild). +The |NCS| supports Zephyr's System Build (sysbuild). .. ncs-include:: build/sysbuild/index.rst :docset: zephyr @@ -227,6 +227,9 @@ For example, sysbuild-specific Kconfig options are preceded by `SB_` before `CON Sysbuild is integrated with west. The sysbuild build configuration is generated using the sysbuild's :file:`CMakeLists.txt` file (which provides information about each underlying build system and CMake variables) and the sysbuild's Kconfig options (which are gathered in the :file:`sysbuild.conf` file). +.. note:: + In the |NCS|, building with sysbuild is :ref:`enabled by default `. + For more information about sysbuild, see the :ref:`documentation in Zephyr `. .. _app_build_additions: @@ -255,6 +258,16 @@ For example, when building a sample that enables :kconfig:option:`CONFIG_BT_EXT_ To disable these warnings, disable the :kconfig:option:`CONFIG_WARN_EXPERIMENTAL` Kconfig option. +.. _sysbuild_enabled_ncs: + +Sysbuild enabled by default +=========================== + +In the :ref:`nRF repositories `, building an application using the :ref:`standard building procedure ` automatically includes :ref:`configuration_system_overview_sysbuild` (the ``--sysbuild`` parameter). +For this reason, unlike in Zephyr, ``--sysbuild`` does not have to be explicitly mentioned in the command prompt when building the application using the :ref:`dm_code_base`. + +You can disable building with sysbuild by using the ``--no-sysbuild`` parameter in the build command. + .. _app_build_additions_build_types: .. _gs_modifying_build_types: .. _modifying_build_types: diff --git a/doc/nrf/config_and_build/configuring_app/advanced_building.rst b/doc/nrf/config_and_build/configuring_app/advanced_building.rst index 6abdd952cef8..dedd04f22359 100644 --- a/doc/nrf/config_and_build/configuring_app/advanced_building.rst +++ b/doc/nrf/config_and_build/configuring_app/advanced_building.rst @@ -31,18 +31,24 @@ Common sample components for development To learn more about how to use the :kconfig:option:`CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU` Kconfig option, see the respective device guides for :ref:`nRF52 Series ` and the :ref:`nRF5340 DK `. +.. _optional_build_parameters: + Optional build parameters ************************* Here are some of the possible options you can use: * You can provide :ref:`custom CMake options ` to the build command. +* You can pass ``--no-sysbuild`` to ``west build`` to build without :ref:`configuration_system_overview_sysbuild`. + (In the |NCS|, :ref:`building with sysbuild is enabled by default `.) * You can include the *directory_name* parameter to build from a directory other than the current directory. * You can specify a *destination_directory_name* parameter to choose where the build files are generated. If not specified, the build files are automatically generated in :file:`build/zephyr/`. * You can :ref:`start menuconfig with the west command ` to configure your application. * You can :ref:`reuse an existing build directory ` for building another application for another board or board target by passing ``-p=auto`` to ``west build``. * You can :ref:`run unit tests with the west command ` with the ``-t run`` parameter from the unit test directory. +* You can use the ``--domain`` parameter to :ref:`build for a single domain `. + This parameter can also be used for :ref:`programming ` and :ref:`debugging ` multiple domains. For more information on other optional build parameters, run the ``west build -h`` help text command. diff --git a/doc/nrf/config_and_build/configuring_app/index.rst b/doc/nrf/config_and_build/configuring_app/index.rst index ac877ce630ae..288512d51d32 100644 --- a/doc/nrf/config_and_build/configuring_app/index.rst +++ b/doc/nrf/config_and_build/configuring_app/index.rst @@ -23,6 +23,8 @@ Just as for creating the application, you can build the application using either By default, the extension runs both stages of the CMake build (:ref:`configuration phase and building phase `). If you want to only set up the build configuration without building it, make sure the :guilabel:`Build after generating configuration` is not selected. + To build with :ref:`configuration_system_overview_sysbuild`, select the :guilabel:`Use sysbuild` checkbox. + If you want to build with custom options or scripts, read about `Binding custom tasks to actions`_ in the extension documentation. .. note:: @@ -53,9 +55,12 @@ Just as for creating the application, you can build the application using either See :ref:`programming_board_names` for more information on the supported boards and board targets. The board targets supported for a given application are always listed in its requirements section. - After running the ``west build`` command, the build files can be found in :file:`build/zephyr`. - |output_files_note| - For more information on the contents of the build directory, see :ref:`zephyr:build-directory-contents` in the Zephyr documentation. + |sysbuild_autoenabled_ncs| + The command can be expanded with :ref:`optional_build_parameters`, such as :ref:`custom CMake options ` or the ``--no-sysbuild`` parameter that disables building with sysbuild. + + After running the ``west build`` command, the build files can be found in the main build directory or in the application-named sub-directories in the main build directory (or both, depending on your project structure). + |output_files_note| + For more information on the contents of the build directory, see :ref:`zephyr:build-directory-contents` in the Zephyr documentation. For more information on building using the command line, see :ref:`Building ` in the Zephyr documentation. diff --git a/doc/nrf/config_and_build/programming.rst b/doc/nrf/config_and_build/programming.rst index 676e859e7548..fdcead991e22 100644 --- a/doc/nrf/config_and_build/programming.rst +++ b/doc/nrf/config_and_build/programming.rst @@ -18,6 +18,9 @@ To program the :ref:`output build files ` to your device .. include:: ../includes/vsc_build_and_run_series.txt +The flash command programs all cores by default, both in the |nRFVSC| and on the command line. +If you want to program only one selected core, use ``west flash`` on the command line and :ref:`specify the domain `. + .. _programming_hw: Hardware-specific programming steps @@ -38,6 +41,8 @@ Optional programming parameters ******************************* You can customize the basic ``west flash`` command in a variety of ways. +The following are most common in the |NCS|. +For more options, see Zephyr's :ref:`zephyr:west-flashing`. .. _programming_params_no_erase: diff --git a/doc/nrf/device_guides/nrf91/nrf91_snippet.rst b/doc/nrf/device_guides/nrf91/nrf91_snippet.rst index b26effaca4f0..2a5292f18b12 100644 --- a/doc/nrf/device_guides/nrf91/nrf91_snippet.rst +++ b/doc/nrf/device_guides/nrf91/nrf91_snippet.rst @@ -59,7 +59,7 @@ To add the modem trace UART snippet when building an application with west, use west build --board *board_target* -- -D_SNIPPET="nrf91-modem-trace-uart" .. note:: - With Sysbuild, using the ``west build -S`` option applies the snippet to all images. + With :ref:`sysbuild `, using the ``west build -S`` option applies the snippet to all images. Therefore, use the CMake argument instead, specifying the application image. With CMake diff --git a/doc/nrf/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_external_memory.rst b/doc/nrf/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_external_memory.rst index 72bd0c39f53a..28943d312ad2 100644 --- a/doc/nrf/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_external_memory.rst +++ b/doc/nrf/device_guides/working_with_nrf/nrf54h/ug_nrf54h20_suit_external_memory.rst @@ -56,8 +56,8 @@ To enable the external memory, you must add the ``-DFILE_SUFFIX="extflash"`` arg .. note:: This step is needed only on nRF54H20 DK. Skip this step if you are using different hardware. -#. Enable the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` Sysbuild Kconfig option, which enables the build of the reference companion image. - See the :ref:`suit_flash_companion` user guide for instructions on how to configure the companion image using Sysbuild. +#. Enable the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` sysbuild Kconfig option, which enables the build of the reference companion image. + See the :ref:`suit_flash_companion` user guide for instructions on how to configure the companion image using sysbuild. #. Define a new DFU cache partition in the external memory in the DTS file: @@ -124,10 +124,10 @@ To enable the external memory, you must add the ``-DFILE_SUFFIX="extflash"`` arg .. code-block:: console - $ west build -b nrf54h20dk/nrf54h20/cpuapp --sysbuild + $ west build -b nrf54h20dk/nrf54h20/cpuapp $ west flash - The build system will automatically generate a :file:`build/suit.zip` archive, which contains the SUIT envelope and candidate images. + The build system will automatically use :ref:`configuration_system_overview_sysbuild` and generate a :file:`build/dfu_suit.zip` archive, which contains the SUIT envelope and candidate images. #. Build a new version of the application with the incremented :kconfig:option:`SB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM` value. diff --git a/doc/nrf/includes/application_build_and_run.txt b/doc/nrf/includes/application_build_and_run.txt index 45fe0c49435b..aef37ca307aa 100644 --- a/doc/nrf/includes/application_build_and_run.txt +++ b/doc/nrf/includes/application_build_and_run.txt @@ -1,4 +1,7 @@ This application can be found under |application path| in the |NCS| folder structure. -To build the application with |VSC|, follow the steps listed on the `How to build an application`_ page in the |nRFVSC| documentation. -See :ref:`building` for other building scenarios, :ref:`programming` for programming steps, and :ref:`testing` for general information about testing and debugging in the |NCS|. +To build the application, follow the instructions in :ref:`building` for your preferred building environment. +See also :ref:`programming` for programming steps and :ref:`testing` for general information about testing and debugging in the |NCS|. + +.. note:: + |sysbuild_autoenabled_ncs| diff --git a/doc/nrf/includes/application_build_and_run_ns.txt b/doc/nrf/includes/application_build_and_run_ns.txt index 2742a53855f9..d2717d041bc9 100644 --- a/doc/nrf/includes/application_build_and_run_ns.txt +++ b/doc/nrf/includes/application_build_and_run_ns.txt @@ -4,5 +4,8 @@ When built as a firmware image for a board target with the ``*/ns`` :ref:`varian Because of this, it automatically includes the :ref:`Trusted Firmware-M (TF-M) `. To read more about CMSE, see :ref:`app_boards_spe_nspe`. -To build the application with |VSC|, follow the steps listed on the `How to build an application`_ page in the |nRFVSC| documentation. -See :ref:`building` for other building scenarios, :ref:`programming` for programming steps, and :ref:`testing` for general information about testing and debugging in the |NCS|. +To build the application, follow the instructions in :ref:`building` for your preferred building environment. +See also :ref:`programming` for programming steps and :ref:`testing` for general information about testing and debugging in the |NCS|. + +.. note:: + |sysbuild_autoenabled_ncs| diff --git a/doc/nrf/includes/build_and_run.txt b/doc/nrf/includes/build_and_run.txt index 8378c1f3e7d7..9052f1820872 100644 --- a/doc/nrf/includes/build_and_run.txt +++ b/doc/nrf/includes/build_and_run.txt @@ -1,4 +1,7 @@ This sample can be found under |sample path| in the |NCS| folder structure. -To build the sample with |VSC|, follow the steps listed on the `How to build an application`_ page in the |nRFVSC| documentation. -See :ref:`building` for other building scenarios, :ref:`programming` for programming steps, and :ref:`testing` for general information about testing and debugging in the |NCS|. +To build the sample, follow the instructions in :ref:`building` for your preferred building environment. +See also :ref:`programming` for programming steps and :ref:`testing` for general information about testing and debugging in the |NCS|. + +.. note:: + |sysbuild_autoenabled_ncs| diff --git a/doc/nrf/includes/build_and_run_ns.txt b/doc/nrf/includes/build_and_run_ns.txt index dfe908ed87c9..21ddbed96497 100644 --- a/doc/nrf/includes/build_and_run_ns.txt +++ b/doc/nrf/includes/build_and_run_ns.txt @@ -4,5 +4,8 @@ When built as firmware image for a board target with the ``*/ns`` :ref:`variant Because of this, it automatically includes the :ref:`Trusted Firmware-M (TF-M) `. To read more about CMSE, see :ref:`app_boards_spe_nspe`. -To build the sample with |VSC|, follow the steps listed on the `How to build an application`_ page in the |nRFVSC| documentation. -See :ref:`building` for other building scenarios, :ref:`programming` for programming steps, and :ref:`testing` for general information about testing and debugging in the |NCS|. +To build the sample, follow the instructions in :ref:`building` for your preferred building environment. +See also :ref:`programming` for programming steps and :ref:`testing` for general information about testing and debugging in the |NCS|. + +.. note:: + |sysbuild_autoenabled_ncs| diff --git a/doc/nrf/includes/build_and_run_sb.txt b/doc/nrf/includes/build_and_run_sb.txt deleted file mode 100644 index f70609c636ed..000000000000 --- a/doc/nrf/includes/build_and_run_sb.txt +++ /dev/null @@ -1,20 +0,0 @@ -This sample can be found under |sample path| in the |NCS| folder structure. - -To build the sample, you need to add the ``--sysbuild`` argument to the ``west build`` command to build and flash all the cores: - -.. parsed-literal:: - :class: highlight - - west build -b *board_target* --sysbuild - -This way, code for all the cores will be compiled, and the ``west flash`` command will program them. - -The ``west flash`` command flashes all the cores by default. -If you want to flash only one core, you have to add the ``--domain`` argument: - -.. code-block:: console - - west flash --domain hello_world - -To build the sample with |VSC|, follow the steps listed on the `How to build an application`_ page in the |nRFVSC| documentation. -See :ref:`building` for other building scenarios, :ref:`programming` for programming steps, and :ref:`testing` for general information about testing and debugging in the |NCS|. diff --git a/doc/nrf/includes/cmd_build_and_run.txt b/doc/nrf/includes/cmd_build_and_run.txt deleted file mode 100644 index debb72a390b7..000000000000 --- a/doc/nrf/includes/cmd_build_and_run.txt +++ /dev/null @@ -1,29 +0,0 @@ -Complete the :ref:`command-line build setup ` before you start building |NCS| projects on the command line. - -To build and program the source code from the command line, complete the following steps: - -1. Open a terminal window. -#. Go to the specific sample or application directory. - For example, the folder path is :file:`ncs/nrf/applications/asset_tracker_v2` when building the source code for the :ref:`asset_tracker_v2` application |cmd_folder_path|. - -#. Make sure that you have the required version of the |NCS| repository by pulling the |NCS| repository, `sdk-nrf`_ on GitHub using the procedures described in :ref:`dm-wf-get-ncs` and :ref:`dm-wf-update-ncs`. - -#. To get the rest of the dependencies, run the ``west update`` command as follows: - - .. code-block:: console - - west update - -#. To build the sample or application code, run the ``west build`` command as follows: - - .. parsed-literal:: - :class: highlight - - west build -b *board_target* - - The parameter *board_target* must be |cmd_board_target|. - - .. note:: - - The parameter *destination_directory_name* can be used to optionally specify the destination directory in the west command. - Unless a *destination_directory_name* is specified, the build files are automatically generated in :file:`build/zephyr/`. diff --git a/doc/nrf/includes/config_build_and_run.txt b/doc/nrf/includes/config_build_and_run.txt deleted file mode 100644 index 6777ebe7034f..000000000000 --- a/doc/nrf/includes/config_build_and_run.txt +++ /dev/null @@ -1,4 +0,0 @@ -This sample can be found under |sample path| in the |NCS| folder structure. - -See :ref:`building` and :ref:`programming` for information about how to configure and build and how to program the application. -Also check :ref:`testing` for general information about testing and debugging in the |NCS|. diff --git a/doc/nrf/includes/vsc_build_and_run_series.txt b/doc/nrf/includes/vsc_build_and_run_series.txt index a459ae292000..1eb5d27d1d41 100644 --- a/doc/nrf/includes/vsc_build_and_run_series.txt +++ b/doc/nrf/includes/vsc_build_and_run_series.txt @@ -2,9 +2,9 @@ .. group-tab:: nRF Connect for VS Code - You need to set up a build configuration before you program a device in the |nRFVSC|. + Before you program a device in the |nRFVSC|, you need to set up a build configuration, which is part of :ref:`building`. - Complete the following steps: + Complete the following steps to program the application: 1. Connect the development kit to your PC using a USB cable. #. Power on the development kit. @@ -20,7 +20,7 @@ .. group-tab:: Command line - Complete the following steps: + Complete the following steps to program the application: 1. Connect the development kit to your PC using a USB cable. #. Power on the development kit. @@ -35,6 +35,6 @@ If the application depends on other flash memory areas (for example, if it uses the :ref:`zephyr:settings_api` partition where bonding information is stored), erasing the full kit before programming ensures that these areas are updated with the new content. You can also :ref:`program without erasing `. - The ``west flash`` command automatically resets the kit and starts the application. + The ``west flash`` command automatically resets the kit and starts the application. For more information on programming using the command line, see :ref:`Flashing ` in the Zephyr documentation. diff --git a/doc/nrf/links.txt b/doc/nrf/links.txt index 9b7b0dd95690..db7fba9f6f13 100644 --- a/doc/nrf/links.txt +++ b/doc/nrf/links.txt @@ -138,6 +138,8 @@ .. _`CoreMark GitHub`: https://github.com/eembc/coremark +.. _`conversion example Pull Request`: https://github.com/zephyrproject-rtos/example-application/pull/58 + .. ### Matter links that need updated SHA per release .. _`other controller setups`: https://github.com/nrfconnect/sdk-connectedhomeip/tree/181b0cb/src/controller @@ -554,8 +556,6 @@ .. _`Using the Power Profiler app`: https://docs.nordicsemi.com/bundle/ug_ppk2/page/UG/ppk/PPK_user_guide_Running_the_software.html .. _`nRF Connect Power Profiler`: https://docs.nordicsemi.com/bundle/nrf-connect-ppk/page/index.html -.. _`sysbuild support`: https://docs.nordicsemi.com/bundle/nrf-connect-vscode/page/guides/build_overview.html#system-build-sysbuild - .. _`Electrical specification for nRF7002`: https://docs.nordicsemi.com/bundle/ps_nrf7002/page/chapters/elspec/doc/electrical_specification.html .. _`LwM2M carrier sample for v2.5.2`: https://docs.nordicsemi.com/bundle/ncs-2.5.2/page/nrf/samples/cellular/lwm2m_carrier/README.html diff --git a/doc/nrf/releases_and_maturity/known_issues.rst b/doc/nrf/releases_and_maturity/known_issues.rst index 9c15b0f11113..eb64cf659a3d 100644 --- a/doc/nrf/releases_and_maturity/known_issues.rst +++ b/doc/nrf/releases_and_maturity/known_issues.rst @@ -2218,7 +2218,7 @@ Bluetooth Mesh samples NCSDK-26388: Compilation of Mesh Light sample can create an image without MCUboot This can happen when compiled with the point-to-point DFU overlay and ``--sysbuild`` option. - **Workaround:** To get a correct image with MCUboot, do not use the ``--sysbuild`` option. + **Workaround:** To get a correct image with MCUboot, :ref:`build the firmware without sysbuild ` using the ``--no-sysbuild`` option. .. rst-class:: v2-6-1 v2-6-0 diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst index aa6d1e721fa1..d375e22303d4 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.7.rst @@ -129,10 +129,10 @@ Samples and applications * For applications using child images: - * With the inheritance of Zephyr's :ref:`zephyr:sysbuild` in the |NCS|, the :ref:`ug_multi_image` are deprecated. + * With the inheritance of Zephyr's :ref:`sysbuild in the |NCS| `, the :ref:`ug_multi_image` are deprecated. - If your application uses parent and child images, it is recommended to migrate your application to :ref:`zephyr:sysbuild` before the multi-image builds are removed in one of the upcoming |NCS| releases. - See the documentation in Zephyr for more information. + If your application uses parent and child images, it is recommended to migrate your application to sysbuild before the multi-image builds are removed in one of the upcoming |NCS| releases. + See the :ref:`documentation in Zephyr ` for more information about sysbuild. Matter ------ 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 2eb9614ac9fa..64f7179484ed 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -135,7 +135,7 @@ Matter * Increased the number of available packet buffers in the Matter stack to avoid packet allocation issues. * Removed the :file:`Kconfig.mcuboot.defaults`, :file:`Kconfig.hci_ipc.defaults` and :file:`Kconfig.multiprotocol_rpmsg.defaults` Kconfig files that stored a default configuration for the child images. - This was done because of the sysbuild integration and the child images deprecation. + This was done because of the :ref:`configuration_system_overview_sysbuild` integration and the child images deprecation. The configurations are now applied using the configuration files located in the sample's or application's directory. To see how to migrate an application from the previous to the current approach, see the :ref:`migration guide `. @@ -296,7 +296,7 @@ nRF Machine Learning (Edge Impulse) * Added: * Support for the :ref:`zephyr:nrf54h20dk_nrf54h20` boards. - * Support for the :ref:`zephyr:sysbuild`. + * Support for :ref:`configuration_system_overview_sysbuild`. nRF Desktop ----------- @@ -401,7 +401,7 @@ Bluetooth samples that used the :ref:`zephyr:bluetooth-hci-ipc-sample` radio cor * Added: * Support for the :ref:`zephyr:nrf54h20dk_nrf54h20` and :ref:`nRF54L15 PDK ` boards. - * Support for the :ref:`zephyr:sysbuild`. + * Support for :ref:`configuration_system_overview_sysbuild`. * :ref:`peripheral_uart` sample: diff --git a/doc/nrf/shortcuts.txt b/doc/nrf/shortcuts.txt index 9c4df0447c61..9b26f542469d 100644 --- a/doc/nrf/shortcuts.txt +++ b/doc/nrf/shortcuts.txt @@ -213,7 +213,9 @@ .. |sysbuild_related_deprecation_note| replace:: This feature is deprecated and is being replaced by Zephyr's :ref:`zephyr:sysbuild`. You can continue to use it until the transition is complete in the |NCS| and the feature is removed in one of the upcoming |NCS| releases. -.. |file_suffix_related_deprecation_note| replace:: This feature is deprecated and is being replaced by :ref:`suffix-based configurations `. +.. |sysbuild_autoenabled_ncs| replace:: In the :ref:`nRF repositories `, building with sysbuild is :ref:`enabled by default `. + +.. |file_suffix_related_deprecation_note| replace:: This feature is deprecated and is being replaced by :ref:`suffix-based configurations `. You can continue to use it until the transition is complete in the |NCS| and the feature is removed in one of the upcoming |NCS| releases. .. |multi_image| replace:: These samples are built for the application core and, by default, include the network core application as child image in a multi-image build (see :ref:`ug_nrf5340_multi_image`). diff --git a/samples/benchmarks/coremark/README.rst b/samples/benchmarks/coremark/README.rst index 6a941f4ac54d..42beb8299a89 100644 --- a/samples/benchmarks/coremark/README.rst +++ b/samples/benchmarks/coremark/README.rst @@ -164,7 +164,7 @@ SB_CONFIG_APP_CPUPPR_RUN - Enable execution for the PPR core .. code-block:: console - west build -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DSB_CONFIG_APP_CPUNET_RUN=n -DSB_CONFIG_APP_CPUPPR_RUN=y -Dcoremark_SNIPPET=nordic-ppr-xip + west build -b nrf54h20dk/nrf54h20/cpuapp -- -DSB_CONFIG_APP_CPUNET_RUN=n -DSB_CONFIG_APP_CPUPPR_RUN=y -Dcoremark_SNIPPET=nordic-ppr-xip Building and running ******************** @@ -173,7 +173,7 @@ When running the benchmark, an extra build flag (:kconfig:option:`CONFIG_COMPILE .. |sample path| replace:: :file:`samples/benchmarks/coremark` -.. include:: /includes/build_and_run_sb.txt +.. include:: /includes/build_and_run.txt After flashing, messages describing the benchmark state will appear in the console. diff --git a/samples/bluetooth/direct_test_mode/README.rst b/samples/bluetooth/direct_test_mode/README.rst index 8d73f4de086e..001e32a849d3 100644 --- a/samples/bluetooth/direct_test_mode/README.rst +++ b/samples/bluetooth/direct_test_mode/README.rst @@ -374,20 +374,22 @@ Building and running Disabling Direction Finding feature =================================== -To build the sample without support for the Direction Finding feature, use the following command: +To build the sample without support for the Direction Finding feature, use the following command for the correct *board_target*: -.. code-block:: console +.. parsed-literal:: + :class: highlight - west build samples/bluetooth/direct_test_mode -b board_name --sysbuild -- -DSB_CONFIG_DTM_NO_DFE=y + west build samples/bluetooth/direct_test_mode -b *board_target* -- -DSB_CONFIG_DTM_NO_DFE=y Experimental HCI interface ========================== -To build the sample with an HCI interface, use the following command: +To build the sample with an HCI interface, use the following command for the correct *board_target*: -.. code-block:: console +.. parsed-literal:: + :class: highlight - west build samples/bluetooth/direct_test_mode -b board_name --sysbuild -- -DFILE_SUFFIX=hci + west build samples/bluetooth/direct_test_mode -b *board_target* -- -DFILE_SUFFIX=hci On the |nRF5340DKnoref|, you can build the sample with HCI interface with the ``remote_hci`` image using the same command. @@ -399,14 +401,14 @@ Use the following command: .. code-block:: console - west build samples/bluetooth/direct_test_mode -b nrf5340dk/nrf5340/cpunet --sysbuild -- -DFILE_SUFFIX=usb + west build samples/bluetooth/direct_test_mode -b nrf5340dk/nrf5340/cpunet -- -DFILE_SUFFIX=usb You can also build this sample with support for the front-end module. Use the following command: .. code-block:: console - west build samples/bluetooth/direct_test_mode -b nrf5340dk/nrf5340/cpunet --sysbuild -- -DSHIELD=nrf21540ek -DFILE_SUFFIX=usb + west build samples/bluetooth/direct_test_mode -b nrf5340dk/nrf5340/cpunet -- -DSHIELD=nrf21540ek -DFILE_SUFFIX=usb .. _dtm_testing: diff --git a/samples/bluetooth/mesh/light/README.rst b/samples/bluetooth/mesh/light/README.rst index 2652179c2c13..24a9189dd920 100644 --- a/samples/bluetooth/mesh/light/README.rst +++ b/samples/bluetooth/mesh/light/README.rst @@ -35,7 +35,7 @@ The sample also requires a smartphone with Nordic Semiconductor's nRF Mesh mobil DFU requirements ================ -The configuration overlay file :file:`overlay-dfu.conf` and the sysbuild configuration file :file:`sysbuild-dfu.conf` enable DFU support in the application, and apply to the following platforms: +The configuration overlay file :file:`overlay-dfu.conf` and the :ref:`sysbuild ` configuration file :file:`sysbuild-dfu.conf` enable DFU support in the application, and apply to the following platforms: * nrf52840dk/nrf52840 * nrf21540dk/nrf52840 @@ -164,7 +164,7 @@ DFU configuration This implies that all application DFU images must be compatible with the network core image running on the device. For more information about using configuration overlay files, see :ref:`zephyr:important-build-vars` in the Zephyr documentation. -For more information about selecting a sysbuild configuration file, see the Sysbuild Kconfig file section on the :ref:`zephyr:sysbuild` page in the Zephyr documentation. +For more information about selecting a sysbuild configuration file, see the sysbuild Kconfig file section on the :ref:`zephyr:sysbuild` page in the Zephyr documentation. FEM support =========== diff --git a/samples/peripheral/radio_test/README.rst b/samples/peripheral/radio_test/README.rst index 1da478a1327d..71629e7a36f8 100644 --- a/samples/peripheral/radio_test/README.rst +++ b/samples/peripheral/radio_test/README.rst @@ -206,14 +206,14 @@ For example, when building on the command line, use the following command: .. code-block:: console - west build samples/peripheral/radio_test -b nrf5340dk/nrf5340/cpunet --sysbuild -- -DFILE_SUFFIX=usb + west build samples/peripheral/radio_test -b nrf5340dk/nrf5340/cpunet -- -DFILE_SUFFIX=usb You can also build this sample with the remote IPC Service Shell and support for the front-end module. You can use the following command: .. code-block:: console - west build samples/peripheral/radio_test -b nrf5340dk/nrf5340/cpunet --sysbuild -- -DSHIELD=nrf21540ek -DFILE_SUFFIX=usb + west build samples/peripheral/radio_test -b nrf5340dk/nrf5340/cpunet -- -DSHIELD=nrf21540ek -DFILE_SUFFIX=usb .. note:: You can also build the sample with the remote IPC Service Shell for the |nRF7002DKnoref| using the ``nrf7002dk/nrf5340/cpunet`` board target in the commands. diff --git a/samples/suit/flash_companion/README.rst b/samples/suit/flash_companion/README.rst index 742fe785dd1b..dd77392219c9 100644 --- a/samples/suit/flash_companion/README.rst +++ b/samples/suit/flash_companion/README.rst @@ -36,8 +36,8 @@ Configuration Setup ===== -You can build the sample using Sysbuild by enabling the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` Kconfig option. -The memory partition from which the firmware will run can be configured by providing a devicetree overlay through Sysbuild. +You can build the sample using :ref:`sysbuild ` by enabling the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` Kconfig option. +The memory partition from which the firmware will run can be configured by providing a devicetree overlay through sysbuild. You should create a dedicated partition in non-volatile memory and override the ``zephyr,code-partition``. The memory partition must not be used by any other firmware image. @@ -52,7 +52,7 @@ Check and configure the following configuration option: .. _SB_CONFIG_SUIT_BUILD_FLASH_COMPANION: SB_CONFIG_SUIT_BUILD_FLASH_COMPANION - Configuration for the firmware - This option enables the sample and builds it during the Sysbuild. + This option enables the sample and builds it during the sysbuild. Building and running ******************** @@ -63,7 +63,7 @@ Make sure that both the main application and the flash companion support your ta Perform the following steps in the main application directory: -1. Enable the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` Sysbuild option. +1. Enable the :kconfig:option:`SB_CONFIG_SUIT_BUILD_FLASH_COMPANION` sysbuild option. #. Create :file:`sysbuild/flash_companion.overlay` devicetree overlay file and add the following content: @@ -97,10 +97,10 @@ Perform the following steps in the main application directory: .. code-block:: console - west build -b nrf54h20dk/nrf54h20/cpuapp --sysbuild + west build -b nrf54h20dk/nrf54h20/cpuapp west flash -The flash companion sample will be built flashed automatically by Sysbuild. +The flash companion sample will be built flashed automatically by sysbuild. Dependencies ************ diff --git a/samples/suit/recovery/README.rst b/samples/suit/recovery/README.rst index a49704a86b32..c8bb7b726209 100644 --- a/samples/suit/recovery/README.rst +++ b/samples/suit/recovery/README.rst @@ -30,12 +30,14 @@ It is optimized for memory usage and only contains the basic necessary functiona This firmware is only able to recover from a situation where the application or radio core are damaged it does not recover from Nordic Semiconductor-controlled firmware failures. Configuration -************** +************* -As the recovery firmware is a companion image, it must be compatible with the main application in terms of hardware configuration (especially the memory partitions). +|config| + +As the recovery firmware is a companion image, it must be compatible with the main application in terms of hardware configuration (especially the memory partitions). To achieve this, the appropriate devicetree overlay files from the main application must be passed to the recovery application. -To do this, add the :file:`recovery.overlay` and :file:`recovery_hci_ipc.ovelay` files in the main application's Sysbuild directory. +To do this, add the :file:`recovery.overlay` and :file:`recovery_hci_ipc.ovelay` files in the main application's :ref:`configuration_system_overview_sysbuild` directory. The former file will be passed automatically to the recovery application image and the latter to the recovery radio image. These devicetree files must define the ``cpuapp_recovery_partition`` and ``cpurad_recovery_partition`` nodes respectively.` For an example, see the files in the ``samples/suit/smp_transfer`` sample. @@ -43,28 +45,31 @@ For an example, see the files in the ``samples/suit/smp_transfer`` sample. Building and running ******************** -In standard applications, the recovery firmware is built as part of the main application build. +.. |sample path| replace:: :file:`samples/suit/recovery` -Apart from creating the mentioned :file:`recovery.overlay` and :file:`recovery_hci_ipc.ovelay` files, -the ``SB_CONFIG_SUIT_BUILD_RECOVERY`` Sysbuild configuration option must be set in the main application. -This will cause the recovery firmware to be built automatically as part of the main application build. +This sample can be found under |sample path| in the |NCS| folder structure. -For example, to build the ``smp_transfer`` sample with the recovery firmware, run the following command: +Including recovery application image with sysbuild +================================================== -``west build --sysbuild -b nrf54h20dk/nrf54h20/cpuapp -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_BUILD_RECOVERY=y`` +In standard applications, the recovery firmware is built as part of the main application build. -Flashing -======== +Apart from creating the mentioned :file:`recovery.overlay` and :file:`recovery_hci_ipc.ovelay` files, +you must set the ``SB_CONFIG_SUIT_BUILD_RECOVERY`` sysbuild configuration option in the main application. +This will cause the recovery firmware to be built automatically as part of the main application build. -No additional steps are needed to flash the recovery firmware together with the main application firmware, simply run the following: +To build the main application, follow the instructions in :ref:`building` for your preferred building environment. -.. code-block:: +.. note:: + |sysbuild_autoenabled_ncs| +For example, to build the :ref:`Device firmware update on the nRF54H20 SoC ` sample with the recovery firmware on the command line, you can run the following command: -``west flash`` +.. code-block:: console + west build -b nrf54h20dk/nrf54h20/cpuapp -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_BUILD_RECOVERY=y -The recovery firmware will be flashed automatically from the main application directory. +See also :ref:`programming` for programming steps and :ref:`testing` for general information about testing and debugging in the |NCS|. Testing ======= diff --git a/samples/suit/smp_transfer/README.rst b/samples/suit/smp_transfer/README.rst index 2fc5e52449f1..58ff970067ab 100644 --- a/samples/suit/smp_transfer/README.rst +++ b/samples/suit/smp_transfer/README.rst @@ -55,15 +55,15 @@ Configuration |config| The default configuration uses UART with sequence number 1 (shown as Version 1 in the nRF Device Manager app). -To change the sequence number of the application, configure the ``SB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM`` Sysbuild Kconfig option. +To change the sequence number of the application, configure the ``SB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM`` sysbuild Kconfig option. This also changes the number of blinks on **LED 0** and sets the :ref:`sequence number ` of the :ref:`SUIT envelope `’s manifest. -To use this configuration, build the sample with :ref:`configuration_system_overview_sysbuild` and set the ``SB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM`` Sysbuild Kconfig option to ``x``, where ``x`` is the version number. +To use this configuration, build the sample with :ref:`configuration_system_overview_sysbuild` and set the ``SB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM`` sysbuild Kconfig option to ``x``, where ``x`` is the version number. For example: .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 If you do not specify this configuration, the sample is built with sequence number 1 (shown as Version 1 in the nRF Device Manager app). @@ -84,7 +84,7 @@ Modify partition sizes You can also modify the size and location of the partitions. This is done by modifying the values for the desired location and size of the partition in the devicetree :file:`.overlay` files. -* To modify the application core’s partition size, modify the values for ``cpuapp_slot0_partition`` defined in the :file:`nrf/samples/suit/smp_transfer/sysbuild/nrf54h20dk_nrf54h20_memory_map.dtsi`. +* To modify the application core's partition size, modify the values for ``cpuapp_slot0_partition`` defined in the :file:`nrf/samples/suit/smp_transfer/sysbuild/nrf54h20dk_nrf54h20_memory_map.dtsi`. * To modify the DFU partition, modify the values for ``dfu_partition`` defined in :file:`samples/suit/smp_transfer/boards/nrf54h20dk_nrf54h20_cpuapp.overlay`. This partition is where the update candidate is stored before the update process begins. @@ -116,8 +116,10 @@ Building and running .. |sample path| replace:: :file:`samples/suit/smp_transfer` -.. include:: /includes/build_and_run.txt +This sample can be found under |sample path| in the |NCS| folder structure. +.. note:: + |sysbuild_autoenabled_ncs| Building and programming using the command line =============================================== @@ -129,11 +131,11 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. group-tab:: Over Bluetooth Low Energy 1. Open a terminal window in |sample path|. - #. Build the sample using the following ``west`` command, with the following Kconfig options set: + #. Build the sample using the following command, with the following Kconfig options set: .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=1 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=1 .. note:: @@ -143,11 +145,11 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:/ncs-lcs/work-dir --sysbuild -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=1 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:/ncs-lcs/work-dir -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=1 The output build files can be found in the :file:`build/DFU` directory, including the :ref:`app_build_output_files_suit_dfu`. For more information on the contents of the build directory, see :ref:`zephyr:build-directory-contents` in the Zephyr documentation. - For more information on the directory contents and structure provided by Sysbuild, see :ref:`zephyr:sysbuild` in the Zephyr documentation. + For more information on the directory contents and structure provided by sysbuild, see :ref:`zephyr:sysbuild` in the Zephyr documentation. #. Connect the DK to your computer using a USB cable. #. Power on the DK. @@ -167,7 +169,7 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 .. note:: @@ -177,7 +179,7 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -d C:/ncs-lcs/work-dir -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:/ncs-lcs/work-dir -- -DFILE_SUFFIX=bt -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 Another :file:`root.suit` file is created after running this command, that contains the updated firmware. You must manually transfer this file onto the same mobile device you will use with the nRF Device Manager app. @@ -189,7 +191,7 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild + west build -p -b nrf54h20dk/nrf54h20/cpuapp .. note:: @@ -199,14 +201,14 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -d C:\ncs-lcs\west_working_dir\build\ + west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:\ncs-lcs\west_working_dir\build\ If you want to further configure your sample, see :ref:`configure_application` for additional information. After running the ``west build`` command, the output build files can be found in the :file:`build/dfu` directory. The output build files can be found in the :file:`build/DFU` directory, including the :ref:`app_build_output_files_suit_dfu`. For more information on the contents of the build directory, see :ref:`zephyr:build-directory-contents` in the Zephyr documentation. - For more information on the directory contents and structure provided by Sysbuild, see :ref:`zephyr:sysbuild` in the Zephyr documentation.. + For more information on the directory contents and structure provided by sysbuild, see :ref:`zephyr:sysbuild` in the Zephyr documentation.. #. Connect the DK to your computer using a USB cable. #. Power on the DK. @@ -226,7 +228,7 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 .. note:: @@ -236,7 +238,7 @@ To build and program the sample to the nRF54H20 DK, complete the following steps .. code-block:: console - west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:/ncs-lcs/work-dir --sysbuild -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 + west build -p -b nrf54h20dk/nrf54h20/cpuapp -d C:/ncs-lcs/work-dir -- -DSB_CONFIG_SUIT_ENVELOPE_SEQUENCE_NUM=2 Another :file:`root.suit` file is created after running this command, that contains the updated firmware.