nRF5340: Multiprotocol RPMsg
This sample exposes the SoftDevice Controller and the IEEE 802.15.4 radio driver support to the nRF5340 application CPU, using RPMsg transport as part of OpenAMP.
Requirements
The sample supports the following development kits:
Hardware platforms |
PCA |
Board name |
Board target |
---|---|---|---|
PCA10095 |
|
The testing procedure of the sample also requires a second development kit that supports IEEE 802.15.4.
Overview
The sample is compatible with the HCI RPMsg driver provided by the nRF Connect SDK Bluetooth® HCI Drivers core and with the nRF 802.15.4 Serialization Host module.
See the following configuration options for more information:
You might need to adjust the Kconfig configuration of this sample to make it compatible with the peer application.
For example, CONFIG_BT_MAX_CONN
must be equal to the maximum number of connections supported by the peer application.
The following components in the prj.conf
file have been disabled to make this sample energy-efficient:
Serial console
Logger
Building and running
You must program this sample to the nRF5340 network core.
The recommended way of building the sample is to use the multi-image feature of the build system.
In this way, the sample is built automatically as a child image when both CONFIG_BT_HCI_IPC
and CONFIG_NRF_802154_SER_HOST
are enabled.
However, you can also build the sample as a stand-alone image.
See Configuring and building for information about how to configure the sample.
For example, you can include the Multiprotocol RPMsg sample in a multi-image build by building the Echo server (advanced) sample for the nRF5340 application core and adding the following configuration files to your build as CMake options:
overlay-802154.conf
overlay-bt.conf
See Providing CMake options for instructions on how to add these options to your build. To see an example of this multi-image build on the command line, run the following command:
west build -b nrf5340dk/nrf5340/cpuapp -p -- -DEXTRA_CONF_FILE="overlay-802154.conf;overlay-bt.conf"
This sample can be found under samples/nrf5340/multiprotocol_rpmsg
in the nRF Connect SDK folder structure.
To build the sample, follow the instructions in Building an application for your preferred building environment. See also Programming an application for programming steps and Testing and optimization for general information about testing and debugging in the nRF Connect SDK.
Note
When building repository applications in the SDK repositories, building with sysbuild is enabled by default.
If you work with out-of-tree freestanding applications, you need to manually pass the --sysbuild
parameter to every build command or configure west to always use it.
Testing
The testing methods for this sample depend on how it was built and programmed to the device. For example, if you built the sample in a multi-image build containing also the Echo server (advanced) sample, you can test it as follows:
Run the IEEE 802.15.4 variant of the Echo client (advanced) on a second development kit that supports IEEE 802.15.4.
Connect to the kit with a terminal emulator (for example, nRF Connect Serial Terminal). See Testing and optimization for the required settings and steps. As the nRF5340 DK has multiple UART instances, you must identify the correct port.
Observe that IPv6 packets are exchanged between the echo client and server over the IEEE 802.15.4 interface. You can use a smartphone to see that the nRF5340 device advertises over Bluetooth LE in parallel to the echo exchanges.
Dependencies
This sample uses the following nRF Connect SDK libraries: