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 |
Build 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_RPMSG
and CONFIG_NRF_802154_SER_HOST
are enabled.
However, you can also build the sample as a stand-alone image.
See Configuring your application 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 Socket Echo Server 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 -- -DOVERLAY_CONFIG="overlay-802154.conf;overlay-bt.conf"
This sample can be found under samples/nrf5340/multiprotocol_rpmsg
in the nRF Connect SDK folder structure.
See Building and programming an application for information about how to build and program the application.
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 Socket Echo Server sample, you can test it as follows:
Run the IEEE 802.15.4 variant of the Socket Echo Client on a second development kit that supports IEEE 802.15.4.
Connect to the kit with a terminal emulator (for example, PuTTY). See How to connect with PuTTY for the required settings. 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: