-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: config_and_build: regroup pages
Created "Configuring application" section with "Configuring devicetree". Moved devicetree related information under the devicetree section. The landing page reuses contents of Changing hardware config section. Created "Board support" section. Split information on former board support page into several pages. NCSDK-22324. Signed-off-by: Grzegorz Ferenc <[email protected]>
- Loading branch information
Showing
17 changed files
with
158 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
doc/nrf/config_and_build/board_support/defining_custom_board.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
.. _defining_custom_board: | ||
|
||
Defining custom board | ||
##################### | ||
|
||
Defining your own board is a very common step in application development, because applications are typically designed to run on boards that are not directly supported by the |NCS|, and are often custom designs not available publicly. | ||
|
||
Guidelines for custom boards | ||
**************************** | ||
|
||
To define your own board, you can use the following Zephyr guides as reference, since boards are defined in the |NCS| just as they are in Zephyr: | ||
|
||
* :ref:`custom_board_definition` is a guide to adding your own custom board to the Zephyr build system. | ||
* :ref:`board_porting_guide` is a complete guide to porting Zephyr to your own board. | ||
|
||
Adding a custom board in the |nRFVSC| | ||
************************************* | ||
|
||
The |nRFVSC| lets you add your own boards to your |NCS| project. | ||
Read the `How to work with boards and devices`_ page in the extension documentation for detailed steps. | ||
|
||
Application porting guides | ||
************************** | ||
|
||
Some :ref:`applications` in the |NCS| provide detailed guides for adapting the application to custom boards: | ||
|
||
* :ref:`nrf_desktop` - See :ref:`nrf_desktop_porting_guide` in the application documentation. | ||
* :ref:`nrf53_audio_app` - See :ref:`nrf53_audio_app_adapting` in the application documentation. | ||
* :ref:`nrf_machine_learning_app` - See :ref:`nrf_machine_learning_app_porting_guide` in the application documentation. |
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.. _app_boards: | ||
|
||
Board support | ||
############# | ||
|
||
The |NCS| provides board definitions for all Nordic Semiconductor devices. | ||
These are in tables on the :ref:`app_boards_names` page, listed by :ref:`app_boards_names_zephyr`, :ref:`app_boards_names_nrf`, and :ref:`shield_names_nrf`. | ||
|
||
Some boards can support Cortex-M Security Extensions (CMSE), which results in separation of :ref:`app_boards_spe_nspe`. | ||
|
||
In addition, you can :ref:`define custom boards <defining_custom_board>`. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
:caption: Subpages: | ||
|
||
board_names | ||
processing_environments | ||
defining_custom_board |
59 changes: 59 additions & 0 deletions
59
doc/nrf/config_and_build/board_support/processing_environments.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
.. _app_boards_spe_nspe: | ||
|
||
Processing environments | ||
####################### | ||
|
||
.. contents:: | ||
:local: | ||
:depth: 2 | ||
|
||
The :ref:`boards supported by the SDK <app_boards_names>` distinguish entries according to the CPU to target (for multi-core SoCs) and whether Cortex-M Security Extensions (CMSE) are used or not (addition of ``_ns`` if they are used). | ||
|
||
When CMSE is used, the firmware is split in accordance with the security by separation architecture principle to better protect sensitive assets and code. | ||
With CMSE, the firmware is stored in one of two security environments (flash partitions), either Secure Processing Environment (SPE) or Non-Secure Processing Environment (NSPE). | ||
This isolation of firmware is only possible if the underlying hardware supports `ARM TrustZone`_. | ||
|
||
.. figure:: images/spe_nspe.svg | ||
:alt: Processing environments in the |NCS| | ||
|
||
Processing environments in the |NCS| | ||
|
||
In Zephyr and the |NCS|, SPE and NSPE are used exclusively in the context of the application core of a multi-core SoC. | ||
Building follows the security by separation principle and depends on the build target. | ||
|
||
.. _app_boards_spe_nspe_cpuapp: | ||
|
||
Building for ``cpuapp`` (CMSE disabled) | ||
*************************************** | ||
|
||
When you build for ``cpuapp``, you build the firmware for the application core without CMSE. | ||
Because CMSE is disabled, TF-M is not used and there is no separation of firmware. | ||
|
||
.. _app_boards_spe_nspe_cpuapp_ns: | ||
|
||
Building for ``*_ns`` (CMSE enabled) | ||
************************************ | ||
|
||
When you build for ``*_ns``, you build firmware with CMSE. | ||
Firmware is separated in the following way: | ||
|
||
* SPE implements security-critical functionality and data (including bootloaders) and isolates them from the application software in NSPE. | ||
It also contains secure firmware running in the secure state. | ||
* NSPE typically implements the user application and communication firmware, among other major components. | ||
|
||
The application is built as a non-secure image and :ref:`Trusted Firmware-M (TF-M) <ug_tfm>` is built as the secure image. | ||
The build system merges both images to form a combined image that will be used for programming or updating the device. | ||
|
||
TF-M enables hardware-supported separation of firmware. | ||
It also implements `Platform Security Architecture (PSA)`_ API, which provides security features for the system, including roots of trust for protecting secrets, platform state, and cryptographic keys. | ||
The API coordinates the communication with the components in NSPE. | ||
|
||
More information about SPE and NSPE | ||
=================================== | ||
|
||
Read the following pages for a better understanding of security by separation in the |NCS|: | ||
|
||
* :ref:`ug_tfm` | ||
* :ref:`debugging_spe_nspe` | ||
* `An Introduction to Trusted Firmware-M (TF-M)`_ on DevZone | ||
* `TF-M documentation`_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
doc/nrf/config_and_build/configuring_app/hardware/index.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
.. _configuring_devicetree: | ||
|
||
Configuring devicetree | ||
###################### | ||
|
||
The |nRFVSC| is the recommended tool for editing :ref:`configure_application_hw`. | ||
The extension offers several layers of `Devicetree integration <Devicetree support overview_>`_, ranging from summarizing devicetree settings in a menu and providing devicetree language support in the editor, to the Devicetree Visual Editor, a GUI tool for editing devicetree files. | ||
Follow the steps in `How to create devicetree files`_ and use one of the following options to edit the :file:`.dts`, :file:`.dtsi`, and :file:`.overlay` files: | ||
|
||
* `Devicetree Visual Editor <How to work with Devicetree Visual Editor_>`_ | ||
* `Devicetree language support`_ | ||
|
||
The following guides provide information about configuring specific aspects of hardware support related to devicetree. | ||
Read them together with Zephyr's :ref:`zephyr:hardware_support` and :ref:`zephyr:dt-guide` guides. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
:caption: Subpages: | ||
|
||
pin_control | ||
use_gpio_pin_directly |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters