zephyr/samples/drivers/mbox
Sebastian Głąb 4a9ca27060 samples: drivers: mbox: Disable UART Flow Control on nrf54h20 and nrf54l15
Nrf54h20dk and nrf54l15 have UART Flow Control enabled
by default on all cores.
It's a source of problem when mbox sample is run in Twister.
Twister opens serial port only on host core,
thus nobody confirms reception of logs from remote core.
As a result, remote core stucks on printing boot banner.

Twister fails sample due to the timeout while waiting for messages
from remote to host.

Disable Flow Control on remote core when mbox sample is executed
on nrf54h20 or nrf54l15.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-08-19 10:01:00 -04:00
..
boards samples: remove redundant CONFIG_MBOX_NRFX_IPC=y 2024-08-16 11:20:08 +01:00
remote samples: drivers: mbox: Disable UART Flow Control on nrf54h20 and nrf54l15 2024-08-19 10:01:00 -04:00
src samples: mbox: Align to NO MULTITHREADING 2024-08-01 13:31:53 +02:00
sysbuild samples: drivers: mbox: add support for nrf54h20dk cpuapp<>cpuflpr 2024-08-06 14:32:40 +02:00
CMakeLists.txt samples: drivers: mbox: add samples for ESP32 and ESP32S3 2024-08-07 07:17:01 -04:00
Kconfig
Kconfig.sysbuild samples: drivers: mbox: add samples for ESP32 and ESP32S3 2024-08-07 07:17:01 -04:00
README.rst
prj.conf
sample.yaml samples: drivers: mbox: fix nRF54H20 cpuapp<>cpuflpr channel regex 2024-08-07 13:50:44 +02:00
sysbuild.cmake

README.rst

.. zephyr:code-sample:: mbox
   :name: MBOX
   :relevant-api: mbox_interface

   Perform inter-processor mailbox communication using the MBOX API.

Overview
********

This sample demonstrates how to use the :ref:`MBOX API <mbox_api>`.

Building and Running
********************

The sample can be built and executed on boards supporting MBOX.

Building the application for nrf5340dk/nrf5340/cpuapp
*****************************************************

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/mbox/
   :board: nrf5340dk/nrf5340/cpuapp
   :goals: debug
   :west-args: --sysbuild

Open a serial terminal (minicom, putty, etc.) and connect the board with the
following settings:

- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1

Reset the board and the following message will appear on the corresponding
serial port, one is the application (APP) core another is the network (NET)
core:

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v3.1.0-2383-g147aee22f273  ***
   Hello from APP
   Pong (on channel 0)
   Ping (on channel 1)
   Pong (on channel 0)
   Ping (on channel 1)
   Ping (on channel 1)
   Pong (on channel 0)
   Ping (on channel 1)
   Pong (on channel 0)
   Ping (on channel 1)
   ...


.. code-block:: console

   *** Booting Zephyr OS build zephyr-v3.1.0-2383-g147aee22f273  ***
   Hello from NET
   Ping (on channel 0)
   Pong (on channel 1)
   Ping (on channel 0)
   Pong (on channel 1)


Building the application for the simulated nrf5340bsim
******************************************************

.. zephyr-app-commands::
   :zephyr-app: samples/drivers/mbox/
   :host-os: unix
   :board: nrf5340bsim/nrf5340/cpuapp
   :goals: build
   :west-args: --sysbuild

Then you can execute your application using:

.. code-block:: console

   $ ./build/zephyr/zephyr.exe -nosim
   # Press Ctrl+C to exit

You can expect a similar output as in the real HW in the invoking console.