Skip to content

Commit 1422e5f

Browse files
grochub-gent
authored andcommitted
doc: Updated nRF53 User Guide.
The nRF53 User Guide got outdated and needed an update before the next NCS release. Fixing NCSDK-4202. Signed-off-by: Michał Grochala <[email protected]>
1 parent c333bf9 commit 1422e5f

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

doc/nrf/ug_nrf5340.rst

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ Working with nRF5340
55

66
The |NCS| provides support for developing on the nRF5340 System on Chip (SoC) using the nRF5340 PDK (PCA10095).
77

8-
.. warning::
9-
nRF5340 support is a work in progress.
10-
This user guide explains how to work with nRF5340 once all required features have been merged.
11-
Currently, not everything that is described here is actually supported.
12-
138
Introduction
149
************
1510

@@ -24,9 +19,13 @@ Network core
2419

2520
The network core is an Arm Cortex-M33 processor with a reduced feature set, designed for ultra-low power operation.
2621

27-
This core is used to communicate with the network.
22+
This core is used for radio communication.
2823
With regards to the nRF5340 samples, this means that the network core runs the radio stack and real-time procedures.
29-
In the current implementation, the network core runs the controller part of the Bluetooth Low Energy stack.
24+
Currently, the following solutions are available for the network core:
25+
* Bluetooth Low Energy Controller - compatible with several BLE samples,
26+
* An application running only on network core, used for testing the Radio peripheral; requires any
27+
sample for application core - just to start the network MCU
28+
3029
In general, this core should be used for real-time processing tasks involving low-level protocols and layers.
3130

3231
The board name for the network core in Zephyr is ``nrf5340_dk_nrf5340_cpunet``.
@@ -36,7 +35,10 @@ Application core
3635

3736
The application core is a full-featured Arm Cortex-M33 processor including DSP instructions and FPU.
3837

39-
In the current implementation of the nRF5340 samples, this core is used to run the high-level radio stack (the host part of the Bluetooth Low Energy stack) and the application.
38+
Currently, the |NCS| provides the following solutions for the application core:
39+
* High-level radio stack (the host part of the Bluetooth Low Energy stack) and application logic,
40+
* Samples running only on the application core: e.g. NFC samples for nRF53
41+
4042
In general, this core should be used for tasks that require high performance and application-level logic.
4143

4244
The board name for the application core in Zephyr is ``nrf5340_dk_nrf5340_cpuapp``.
@@ -65,56 +67,64 @@ Available samples
6567

6668
nRF5340 samples consist of two separate images: one that runs on the network core and one that runs on the application core.
6769

68-
Network sample
69-
==============
70-
71-
For network communication, Zephyr provides the :ref:`zephyr:bluetooth-hci-rpmsg-sample` sample that implements a Bluetooth Low Energy controller.
70+
Network samples
71+
===============
7272

73-
This sample must be programmed to the network core to run any Bluetooth Low Energy samples on nRF5340.
73+
The nRF Connect SDK provides the following samples for the nRF53 network core:
74+
* :ref:`zephyr:bluetooth-hci-rpmsg-sample` - a Zephyr sample that implements a Bluetooth Low Energy controller.
75+
This sample must be programmed to the network core to run standard Bluetooth Low Energy samples on nRF5340.
7476

75-
You might need to adjust the Kconfig configuration of this sample to make it compatible with the peer application.
76-
For example:
77+
You might need to adjust the Kconfig configuration of this sample to make it compatible with the peer application.
78+
For example:
7779

78-
* :option:`zephyr:CONFIG_BT_MAX_CONN` must be equal to the maximum number of connections supported by the application sample.
79-
* If the application sample uses specific Bluetooth LE functionality, this functionality must be enabled in the network sample as well.
80-
For example, you must modify the configuration of the network sample to make it compatible with the :ref:`ble_throughput` sample::
80+
* :option:`zephyr:CONFIG_BT_MAX_CONN` must be equal to the maximum number of connections supported by the application sample.
81+
* If the application sample uses specific Bluetooth LE functionality, this functionality must be enabled in the network sample as well.
82+
For example, you must modify the configuration of the network sample to make it compatible with the :ref:`ble_throughput` sample::
8183

8284
CONFIG_BT_CTLR_TX_BUFFER_SIZE=251
8385
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
8486

85-
This configuration guarantees that the network sample can handle the Bluetooth LE DLE update procedure, which is used in the :ref:`ble_throughput` sample.
87+
This configuration guarantees that the network sample can handle the Bluetooth LE DLE update procedure, which is used in the :ref:`ble_throughput` sample.
88+
89+
* :ref:`radio_test` - an application used for testing available modes of the Radio peripheral
8690

8791
Application samples
8892
===================
8993

9094
The |NCS| provides a series of :ref:`Bluetooth Low Energy samples <ble_samples>`, in addition to the :ref:`Bluetooth samples in Zephyr <zephyr:bluetooth-samples>`.
9195
Most of these samples should run on the nRF5340 PDK, but not all have been thoroughly tested.
9296
Samples that use non-standard features of the Bluetooth Low Energy controller, like the :ref:`ble_llpm` sample, are not supported.
97+
Additionally, the |NCS| NFC samples are also available for nRF53 - they run only on the application core and don't require any firmware for the network core.
9398

94-
Some samples require configuration adjustments to the :ref:`zephyr:bluetooth-hci-rpmsg-sample` sample as described in the `Network sample`_ section.
99+
Some samples require configuration adjustments to the :ref:`zephyr:bluetooth-hci-rpmsg-sample` sample as described in the `Network samples`_ section.
95100

96101
These samples must be programmed to the application core, in the secure domain.
97102

98103

99104
Building and programming a sample
100105
*********************************
101106

102-
You must program both the network sample and one of the supported :ref:`Bluetooth Low Energy samples <ble_samples>`.
107+
Depending on the chosen sample, you must program just the application core (e.g. when using NFC samples) or both the network and the application cores.
108+
109+
.. note::
110+
On nRF53 the application core is responsible for starting the network core and connecting its GPIO pins. Therefore, to run any sample on nRF53,
111+
the application core must be programmed (e.g. with the :ref:`zephyr:hello_world` sample) even if the firmware is supposed to run only on the network MCU.
112+
For details see the code in: ``zephyr/boards/arm/nrf5340_dk_nrf5340/nrf5340_cpunet_reset.c``.
103113

104114
Build and program both samples separately by following the instructions in :ref:`gs_programming_ses`.
105115
Make sure to use ``nrf5340_dk_nrf5340_cpunet`` as board name when building the network sample, and ``nrf5340_dk_nrf5340_cpuapp`` when building the application sample.
106116

107117
.. important::
108-
When programming the samples from |SES|, you might get an error message stating that the target cannot be identified.
118+
When programming the samples from an old version of |SES|, you might get an error message stating that the target cannot be identified.
109119
In this case, you can either modify your |SES| installation and projects to add support for programming nRF5340, or program the generated HEX files from the command line instead.
110120

111121
See the following sections for more information.
112122

113123

114-
Adding support for programming nRF5340 in SES
115-
=============================================
124+
Adding support for programming nRF5340 in SES (versions earlier than v4.40a)
125+
============================================================================
116126

117-
The current version of the Nordic Edition of |SES| (v4.20a) does not include SEGGER J-Link version v6.54c.
127+
The older versions of the Nordic Edition of |SES| (older than v4.40a) does not include SEGGER J-Link version v6.54c.
118128
However, this J-Link version is required to program nRF5340 devices.
119129

120130
To add support for programming nRF5340 in |SES|, complete the following steps:

0 commit comments

Comments
 (0)