You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]>
Copy file name to clipboardExpand all lines: doc/nrf/ug_nrf5340.rst
+35-25Lines changed: 35 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,6 @@ Working with nRF5340
5
5
6
6
The |NCS| provides support for developing on the nRF5340 System on Chip (SoC) using the nRF5340 PDK (PCA10095).
7
7
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
-
13
8
Introduction
14
9
************
15
10
@@ -24,9 +19,13 @@ Network core
24
19
25
20
The network core is an Arm Cortex-M33 processor with a reduced feature set, designed for ultra-low power operation.
26
21
27
-
This core is used to communicate with the network.
22
+
This core is used for radio communication.
28
23
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
+
30
29
In general, this core should be used for real-time processing tasks involving low-level protocols and layers.
31
30
32
31
The board name for the network core in Zephyr is ``nrf5340_dk_nrf5340_cpunet``.
@@ -36,7 +35,10 @@ Application core
36
35
37
36
The application core is a full-featured Arm Cortex-M33 processor including DSP instructions and FPU.
38
37
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
+
40
42
In general, this core should be used for tasks that require high performance and application-level logic.
41
43
42
44
The board name for the application core in Zephyr is ``nrf5340_dk_nrf5340_cpuapp``.
@@ -65,56 +67,64 @@ Available samples
65
67
66
68
nRF5340 samples consist of two separate images: one that runs on the network core and one that runs on the application core.
67
69
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
+
===============
72
72
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.
74
76
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:
77
79
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::
81
83
82
84
CONFIG_BT_CTLR_TX_BUFFER_SIZE=251
83
85
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
84
86
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
86
90
87
91
Application samples
88
92
===================
89
93
90
94
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>`.
91
95
Most of these samples should run on the nRF5340 PDK, but not all have been thoroughly tested.
92
96
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.
93
98
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.
95
100
96
101
These samples must be programmed to the application core, in the secure domain.
97
102
98
103
99
104
Building and programming a sample
100
105
*********************************
101
106
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``.
103
113
104
114
Build and program both samples separately by following the instructions in :ref:`gs_programming_ses`.
105
115
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.
106
116
107
117
.. 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.
109
119
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.
110
120
111
121
See the following sections for more information.
112
122
113
123
114
-
Adding support for programming nRF5340 in SES
115
-
=============================================
124
+
Adding support for programming nRF5340 in SES (versions earlier than v4.40a)
0 commit comments