Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Derek Snell dd825203b5 boards: nxp: add mcx_n9xx_evk 2 months ago
..
boards boards: nxp: add mcx_n9xx_evk 2 months ago
remote boards: nxp: add mcx_n9xx_evk 2 months ago
src drivers: mbox: update MBOX consumers to the new API 1 year ago
CMakeLists.txt boards: nxp: add mcx_n9xx_evk 2 months ago
Kconfig
Kconfig.sysbuild boards: nxp: add mcx_n9xx_evk 2 months ago
README.rst samples: tests: mimxrt1170_evk: avoid duplication in configuration 3 months ago
prj.conf
sample.yaml samples: mbox: enable rt1180 4 months ago
sysbuild.cmake samples: enable multicore samples for RT1180 board 5 months ago

README.rst

.. zephyr:code-sample:: mbox_data
:name: MBOX Data
:relevant-api: mbox_interface

Perform inter-processor mailbox communication using the MBOX API with data.

Overview
********

This sample demonstrates how to use the :ref:`MBOX API <mbox_api>` in data transfer mode.
It can be used only with mbox driver which supports data transfer mode.

Sample will ping-pong up to 4 bytes of data between two cores via two mbox channels.
After each core receives data, it increments it by one and sends it back to other core.

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

The sample can be built and executed on boards supporting MBOX with data transfer mode.

Building the application for mimxrt1160_evk_cm7
===============================================

.. zephyr-app-commands::
:zephyr-app: samples/drivers/mbox_data/
:board: mimxrt1160_evk_cm7
:goals: debug
:west-args: --sysbuild

Building the application for mimxrt1170_evk_cm7
===============================================

.. zephyr-app-commands::
:zephyr-app: samples/drivers/mbox_data/
:board: mimxrt1170_evk_cm7
:goals: debug
:west-args: --sysbuild

Building the application for lpcxpresso55s69_cpu1
=================================================

.. zephyr-app-commands::
:zephyr-app: samples/drivers/mbox_data/
:board: lpcxpresso55s69_cpu1
:goals: debug
:west-args: --sysbuild

Building the application for frdm_mcxn947/mcxn947/cpu0
======================================================

.. zephyr-app-commands::
:zephyr-app: samples/drivers/mbox_data/
:board: frdm_mcxn947/mcxn947/cpu0
:goals: debug
:west-args: --sysbuild

Sample Output
=============

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 main core another is the remote core:

.. code-block:: console

*** Booting Zephyr OS build zephyr-v3.5.0-4051-g12f4f4dc8679 ***
mbox_data Client demo started
Client send (on channel 3) value: 0
Client received (on channel 2) value: 1
Client send (on channel 3) value: 2
Client received (on channel 2) value: 3
Client send (on channel 3) value: 4
...
Client received (on channel 2) value: 95
Client send (on channel 3) value: 96
Client received (on channel 2) value: 97
Client send (on channel 3) value: 98
Client received (on channel 2) value: 99
mbox_data Client demo ended


.. code-block:: console

*** Booting Zephyr OS build zephyr-v3.5.0-4051-g12f4f4dc8679 ***
mbox_data Server demo started
Server receive (on channel 3) value: 0
Server send (on channel 2) value: 1
Server receive (on channel 3) value: 2
Server send (on channel 2) value: 3
Server receive (on channel 3) value: 4
...
Server send (on channel 2) value: 95
Server receive (on channel 3) value: 96
Server send (on channel 2) value: 97
Server receive (on channel 3) value: 98
Server send (on channel 2) value: 99
mbox_data Server demo ended.