boards: nordic: nrf7002dk: add docs
Add documentation to nrf7002dk board Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This commit is contained in:
parent
12559fe6fc
commit
e8f37c7640
2 changed files with 341 additions and 0 deletions
BIN
boards/nordic/nrf7002dk/doc/img/nrf7002dk.jpg
Normal file
BIN
boards/nordic/nrf7002dk/doc/img/nrf7002dk.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
341
boards/nordic/nrf7002dk/doc/index.rst
Normal file
341
boards/nordic/nrf7002dk/doc/index.rst
Normal file
|
@ -0,0 +1,341 @@
|
|||
.. _nrf7002dk_nrf5340:
|
||||
|
||||
nRF7002 DK
|
||||
##########
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The nRF7002 DK (PCA10143) is a single-board development kit for evaluation and development on
|
||||
the nRF7002, a Wi-Fi companion IC to Nordic Semiconductor's nRF5340 System-on-Chip (SoC) host
|
||||
processor. It is certified for the Wi-Fi Alliance® `Wi-Fi Certification program`_ in the
|
||||
Connectivity, Security, and Optimization categories. See `UG Wi-Fi certification`_ for detailed
|
||||
information.
|
||||
|
||||
The nRF7002 is an IEEE 802.11ax (Wi-Fi 6) compliant solution that implements the Wi-Fi physical
|
||||
layer and Medium Access Control (MAC) layer protocols. It implements the nRF Wi-Fi driver
|
||||
software on the nRF5340 host processor communicating over the QSPI bus.
|
||||
|
||||
The nRF5340 host is a dual-core SoC based on the Arm® Cortex®-M33 architecture.
|
||||
It has the following features:
|
||||
|
||||
* A full-featured Arm Cortex-M33F core with DSP instructions, FPU, and Armv8-M Security Extension,
|
||||
running at up to 128 MHz, referred to as the application core.
|
||||
* A secondary Arm Cortex-M33 core, with a reduced feature set, running at a fixed 64 MHz,
|
||||
referred to as the network core.
|
||||
|
||||
The ``nrf7002dk/nrf5340/cpuapp`` board target provides support for the application core on the
|
||||
nRF5340 SoC. The ``nrf7002dk/nrf5340/cpunet`` board target provides support for the network
|
||||
core on the nRF5340 SoC.
|
||||
|
||||
.. figure:: img/nrf7002dk.jpg
|
||||
:align: center
|
||||
:alt: nRF7002 DK
|
||||
|
||||
nRF7002 DK (Credit: Nordic Semiconductor)
|
||||
|
||||
More information about the board can be found at the
|
||||
`nRF7002 DK website`_.
|
||||
The `nRF7002 DK Product Specification`_
|
||||
contains the processor's information and the datasheet.
|
||||
|
||||
Hardware
|
||||
========
|
||||
|
||||
* nRF7002 DK:
|
||||
The nRF7002 DK has two external oscillators.
|
||||
|
||||
* The frequency of the slow clock is 32.768 kHz.
|
||||
* The frequency of the main clock is 32 MHz.
|
||||
|
||||
* Micro-USB 2.0 cable
|
||||
|
||||
Supported features
|
||||
------------------
|
||||
|
||||
The ``nrf7002dk/nrf5340/cpuapp`` board configuration supports the following hardware features:
|
||||
|
||||
+-----------+------------+----------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
+===========+============+======================+
|
||||
| ADC | on-chip | adc |
|
||||
+-----------+------------+----------------------+
|
||||
| CLOCK | on-chip | clock_control |
|
||||
+-----------+------------+----------------------+
|
||||
| FLASH | on-chip | flash |
|
||||
+-----------+------------+----------------------+
|
||||
| GPIO | on-chip | gpio |
|
||||
+-----------+------------+----------------------+
|
||||
| I2C(M) | on-chip | i2c |
|
||||
+-----------+------------+----------------------+
|
||||
| MPU | on-chip | arch/arm |
|
||||
+-----------+------------+----------------------+
|
||||
| NVIC | on-chip | arch/arm |
|
||||
+-----------+------------+----------------------+
|
||||
| PWM | on-chip | pwm |
|
||||
+-----------+------------+----------------------+
|
||||
| RTC | on-chip | system clock |
|
||||
+-----------+------------+----------------------+
|
||||
| RTT | Segger | console |
|
||||
+-----------+------------+----------------------+
|
||||
| RADIO | nrf7002 | Wi-Fi 6 (802.11ax) |
|
||||
+-----------+------------+----------------------+
|
||||
| QSPI | on-chip | qspi |
|
||||
+-----------+------------+----------------------+
|
||||
| SPI(M/S) | on-chip | spi |
|
||||
+-----------+------------+----------------------+
|
||||
| SPU | on-chip | system protection |
|
||||
+-----------+------------+----------------------+
|
||||
| UARTE | on-chip | serial |
|
||||
+-----------+------------+----------------------+
|
||||
| USB | on-chip | usb |
|
||||
+-----------+------------+----------------------+
|
||||
| WDT | on-chip | watchdog |
|
||||
+-----------+------------+----------------------+
|
||||
|
||||
The ``nrf7002dk/nrf5340/cpunet`` board configuration supports the following hardware features:
|
||||
|
||||
+-----------+------------+----------------------+
|
||||
| Interface | Controller | Driver/Component |
|
||||
+===========+============+======================+
|
||||
| CLOCK | on-chip | clock_control |
|
||||
+-----------+------------+----------------------+
|
||||
| FLASH | on-chip | flash |
|
||||
+-----------+------------+----------------------+
|
||||
| GPIO | on-chip | gpio |
|
||||
+-----------+------------+----------------------+
|
||||
| I2C(M) | on-chip | i2c |
|
||||
+-----------+------------+----------------------+
|
||||
| MPU | on-chip | arch/arm |
|
||||
+-----------+------------+----------------------+
|
||||
| NVIC | on-chip | arch/arm |
|
||||
+-----------+------------+----------------------+
|
||||
| RADIO | on-chip | Bluetooth, |
|
||||
| | | ieee802154 |
|
||||
+-----------+------------+----------------------+
|
||||
| RTC | on-chip | system clock |
|
||||
+-----------+------------+----------------------+
|
||||
| RTT | Segger | console |
|
||||
+-----------+------------+----------------------+
|
||||
| SPI(M/S) | on-chip | spi |
|
||||
+-----------+------------+----------------------+
|
||||
| UARTE | on-chip | serial |
|
||||
+-----------+------------+----------------------+
|
||||
| WDT | on-chip | watchdog |
|
||||
+-----------+------------+----------------------+
|
||||
|
||||
Other hardware features have not been enabled yet for this board.
|
||||
See `nRF7002 DK Product Specification`_
|
||||
for a complete list of nRF7002 DK board hardware features.
|
||||
|
||||
Connections and IOs
|
||||
-------------------
|
||||
|
||||
The connections and IOs supported by the development kit are listed in this section.
|
||||
|
||||
LED
|
||||
^^^
|
||||
|
||||
* **LED 1** (green) = **P1.06**
|
||||
* **LED 2** (green) = **P1.07**
|
||||
|
||||
Push buttons
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* **Button 1** = **SW1** = **P1.08**
|
||||
* **Button 2** = **SW2** = **P1.09**
|
||||
* **BOOT** = **SW5** = boot/reset
|
||||
|
||||
Wi-Fi control
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
* BUCKEN = **P0.12**
|
||||
* IOVDD CONTROL = **P0.31**
|
||||
* HOST IRQ = **P0.23**
|
||||
* COEX_REQ = **P0.28**
|
||||
* COEX_STATUS0 = **P0.30**
|
||||
* COEX_STATUS1 = **P0.29**
|
||||
* COEX_GRANT = **P0.24**
|
||||
|
||||
Security components
|
||||
-------------------
|
||||
|
||||
The following security components are available:
|
||||
|
||||
* Implementation Defined Attribution Unit (`IDAU`_) on the application core.
|
||||
|
||||
The IDAU is implemented with the System Protection Unit and is used to define
|
||||
secure and non-secure memory maps. By default, the entire memory space
|
||||
(Flash, SRAM, and peripheral address space) is defined to be secure-accessible only.
|
||||
|
||||
* Secure boot.
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
The nRF5340 application core supports the Armv8-M Security Extension.
|
||||
Applications built for the ``nrf7002dk/nrf5340/cpuapp`` board boot by default in the
|
||||
secure state.
|
||||
|
||||
The nRF5340 network core does not support the Armv8-M Security Extension.
|
||||
nRF5340 IDAU can configure bus accesses by the nRF5340 network core to have the secure
|
||||
attribute set. This allows to build and run secure-only applications on the nRF5340 SoC.
|
||||
|
||||
Building Secure/Non-Secure Zephyr applications with Arm |reg| TrustZone |reg|
|
||||
=============================================================================
|
||||
|
||||
Applications on the nRF5340 may contain a Secure and a Non-Secure firmware
|
||||
image for the application core. The Secure image can be built using either
|
||||
Zephyr or `Trusted Firmware M`_ (TF-M). Non-Secure firmware
|
||||
images are always built using Zephyr. The two alternatives are described below.
|
||||
|
||||
.. note::
|
||||
|
||||
By default, SPE for the nRF5340 application core is built using TF-M.
|
||||
|
||||
Building the Secure firmware with TF-M
|
||||
--------------------------------------
|
||||
|
||||
The process to build the Secure firmware image using TF-M and the Non-Secure
|
||||
firmware image using Zephyr requires the following steps:
|
||||
|
||||
1. Build the Non-Secure Zephyr application
|
||||
for the application core using ``-DBOARD=nrf7002dk/nrf5340/cpuapp/ns``.
|
||||
To invoke the building of TF-M the Zephyr build system requires the
|
||||
Kconfig option ``BUILD_WITH_TFM`` to be enabled, which is done by
|
||||
default when building Zephyr as a Non-Secure application.
|
||||
The Zephyr build system will perform the following steps automatically:
|
||||
|
||||
* Build the Non-Secure firmware image as a regular Zephyr application
|
||||
* Build a TF-M (secure) firmware image
|
||||
* Merge the output image binaries together
|
||||
* Optionally build a bootloader image (MCUboot)
|
||||
|
||||
.. note::
|
||||
|
||||
Depending on the TF-M configuration, an application DTS overlay may be
|
||||
required, to adjust the Non-Secure image Flash and SRAM starting address
|
||||
and sizes.
|
||||
|
||||
2. Build the application firmware for the network core using
|
||||
``-DBOARD=nrf7002dk/nrf5340/cpunet``.
|
||||
|
||||
Building the Secure firmware using Zephyr
|
||||
-----------------------------------------
|
||||
|
||||
The process to build the Secure and the Non-Secure firmware images
|
||||
using Zephyr requires the following steps:
|
||||
|
||||
1. Build the Secure Zephyr application for the application core
|
||||
using ``-DBOARD=nrf7002dk/nrf5340/cpuapp`` and
|
||||
``CONFIG_TRUSTED_EXECUTION_SECURE=y`` and ``CONFIG_BUILD_WITH_TFM=n``
|
||||
in the application project configuration file.
|
||||
2. Build the Non-Secure Zephyr application for the application core
|
||||
using ``-DBOARD=nrf7002dk/nrf5340/cpuapp/ns``.
|
||||
3. Merge the two binaries together.
|
||||
4. Build the application firmware for the network core using
|
||||
``-DBOARD=nrf7002dk/nrf5340/cpunet``.
|
||||
|
||||
When building a Secure/Non-Secure application for the nRF5340 application core,
|
||||
the Secure application will have to set the IDAU (SPU) configuration to allow
|
||||
Non-Secure access to all CPU resources utilized by the Non-Secure application
|
||||
firmware. SPU configuration shall take place before jumping to the Non-Secure
|
||||
application.
|
||||
|
||||
Building a Secure only application
|
||||
==================================
|
||||
|
||||
Build the Zephyr app in the usual way (see :ref:`build_an_application`
|
||||
and :ref:`application_run`), using ``-DBOARD=nrf7002dk/nrf5340/cpuapp`` for
|
||||
the firmware running on the nRF5340 application core, and using
|
||||
``-DBOARD=nrf7002dk/nrf5340/cpunet`` for the firmware running
|
||||
on the nRF5340 network core.
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
Follow the instructions in the :ref:`nordic_segger` page to install
|
||||
and configure all the necessary software. Further information can be
|
||||
found in :ref:`nordic_segger_flashing`. Then you can build and flash
|
||||
applications as usual (:ref:`build_an_application` and
|
||||
:ref:`application_run` for more details).
|
||||
|
||||
.. warning::
|
||||
|
||||
The nRF5340 has a flash read-back protection feature. When flash read-back
|
||||
protection is active, you will need to recover the chip before reflashing.
|
||||
If you are flashing with :ref:`west <west-build-flash-debug>`, run
|
||||
this command for more details on the related ``--recover`` option:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
west flash -H -r nrfjprog --skip-rebuild
|
||||
|
||||
.. note::
|
||||
|
||||
Flashing and debugging applications on the nRF5340 DK requires
|
||||
upgrading the nRF Command Line Tools to version 10.12.0. Further
|
||||
information on how to install the nRF Command Line Tools can be
|
||||
found in :ref:`nordic_segger_flashing`.
|
||||
|
||||
Here is an example for the :ref:`hello_world` application running on the
|
||||
nRF5340 application core.
|
||||
|
||||
First, run your favorite terminal program to listen for output.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ minicom -D <tty_device> -b 115200
|
||||
|
||||
Replace :code:`<tty_device>` with the port where the board nRF7002 DK
|
||||
can be found. For example, under Linux, :code:`/dev/ttyACM0`.
|
||||
|
||||
Then build and flash the application in the usual way.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: nrf7002dk/nrf5340/cpuapp
|
||||
:goals: build flash
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
Refer to the :ref:`nordic_segger` page to learn about debugging Nordic
|
||||
boards with a Segger IC.
|
||||
|
||||
Next steps
|
||||
**********
|
||||
|
||||
You have now completed getting started with the nRF7002 DK.
|
||||
See the following links for where to go next:
|
||||
|
||||
* `Installation`_ and `Configuring and Building`_ documentation to install the
|
||||
nRF Connect SDK and learn more about its development environment.
|
||||
* `Developing with nRF70`_ documentation for more advanced topics related to the nRF70 Series.
|
||||
* `Wi-Fi`_ documentation for information related to Wi-Fi protocol and Wi-Fi modes of operation.
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _Wi-Fi Certification program:
|
||||
https://www.wi-fi.org/certification
|
||||
.. _UG Wi-Fi certification:
|
||||
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/wifi/wifi_certification.html#ug-wifi-certification
|
||||
.. _IDAU:
|
||||
https://developer.arm.com/docs/100690/latest/attribution-units-sau-and-idau
|
||||
.. _nRF7002 DK website:
|
||||
https://www.nordicsemi.com/Products/Development-hardware/nrf7002-dk
|
||||
.. _nRF7002 DK Product Specification:
|
||||
https://docs.nordicsemi.com/bundle/ps_nrf5340/page/keyfeatures_html5.html
|
||||
.. _Trusted Firmware M:
|
||||
https://www.trustedfirmware.org/projects/tf-m/
|
||||
.. _Installation:
|
||||
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/installation.html#installation
|
||||
.. _Configuring and Building:
|
||||
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/config_and_build/index.html#configuration-and-build
|
||||
.. _Developing with nRF70:
|
||||
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf70/index.html#ug-nrf70-developing
|
||||
.. _Wi-Fi:
|
||||
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/wifi/index.html#ug-wifi
|
Loading…
Add table
Add a link
Reference in a new issue