Skip to content

Latest commit

 

History

History
 
 

entropy_nrf53

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

nRF5340: nRF RPC Entropy

The nRF RPC Entropy sample demonstrates how to use the entropy driver in a dual core device such as nRF5340 DK.

The sample uses the entropy driver on the network core of an nRF5340 DK that generates random data, and the :ref:`nrfxlib:nrf_rpc` that sends the generated data to the application core using `Remote Procedure Calls (RPC)`_.

The sample supports the following development kit:

.. table-from-sample-yaml::

The entropy data is generated on the network core using the Random Number Generator (RNG) peripheral. The :ref:`nrfxlib:nrf_rpc` uses the `zcbor`_ to encode data, into the CBOR format, and transmits the data using the default `RPMsg Messaging Protocol`_ (part of `OpenAMP`_) in the transport layer.

The application core uses serialized function calls such as :c:func:`entropy_remote_init` and :c:func:`entropy_remote_get` to control the entropy driver on the network core as follows:

When the sample starts, it displays the generated entropy data in the terminal at an interval of two seconds.

The network core runs the entropy drivers that use the RNG peripheral. When the network core receives the :c:func:`entropy_remote_get` remote function call, the following operations are performed:

  • The network core searches for function decoders in the decoders table and calls them.
  • The network core encodes the response data for the function call and sends the data back to the application core.

The application core runs a simple application that replaces the entropy driver functions and asynchronous events with the virtual implementation using the :ref:`nrfxlib:nrf_rpc`.

This sample consists of the following sample applications:

Build and program both of these sample applications to the dual core device before testing. For details on building samples for a dual core device, see :ref:`ug_nrf5340_building`.

After programming the sample applications to your development kit, complete the following steps to test this sample:

  1. Connect the dual core development kit to the computer using a USB cable. The development kit is assigned a COM port (Windows) or ttyACM device (Linux), which is visible in the Device Manager.
  2. |connect_terminal|
  3. Reset the development kit.
  4. Observe that the entropy data is displayed periodically in the terminal.

The following output is displayed in the terminal:

Entropy sample started[APP Core].
 0x43  0xd1  0xd6  0x52  0x6d  0x22  0x46  0x58  0x8f  0x15
 0xcf  0xe1  0x1a  0xb5  0xa6  0xdb  0xe5  0xf7  0x7e  0x37

This sample uses the following `sdk-nrfxlib`_ library:

It also uses the following Zephyr library: