| .. 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 mimxrt1170_evkb_cm7 |
| ================================================ |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/drivers/mbox_data/ |
| :board: mimxrt1170_evkb_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 |
| |
| 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. |