This sample code is currently not yet read for HWMv2 and sysbuild. Skip this test for now and have a fix later. Make sure sample code uses HWMv2 for board naming convention. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
56 lines
2.3 KiB
ReStructuredText
56 lines
2.3 KiB
ReStructuredText
.. zephyr:code-sample:: ipm-esp32
|
|
:name: IPM on ESP32
|
|
:relevant-api: ipm_interface
|
|
|
|
Implement inter-processor mailbox (IPM) between ESP32 APP and PRO CPUs.
|
|
|
|
Overview
|
|
********
|
|
This simple example can be used with multicore ESP32 Soc, and demonstrates
|
|
the software intercore messaging mechanism to be used in AMP applications.
|
|
|
|
ESP32 has two CPU named APP and PRO, in this simple example PRO send a
|
|
message to the APP using the IPM driver, and waits for the APP response
|
|
message and prints its contents on console.
|
|
|
|
ESP32 intercore messaging has up two four channels, the 0 and 1 are
|
|
reserved for BT and WIFI messages, and channels 2 and 3 is free to
|
|
any application, each channel supports up to 64 bytes of data per
|
|
message, so high level protocol is responsible to fragment larger
|
|
messages in chunks of 64 bytes.
|
|
|
|
Building and Running the Zephyr Code
|
|
************************************
|
|
|
|
Build the ESP32 IPM sample code as follows:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/drivers/ipm/ipm_esp32
|
|
:board: esp32_devkitc_wroom/esp32/procpu
|
|
:goals: build
|
|
:compact:
|
|
|
|
Sample Output
|
|
*************
|
|
|
|
To check the output of this sample, run ``west espressif monitor`` or any other serial
|
|
console program (e.g., minicom, putty, screen, etc).
|
|
|
|
.. code-block:: console
|
|
|
|
*** Booting Zephyr OS build v3.3.0-rc3-38-gc9225e4365b9 ***
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|
|
PRO_CPU is sending a fake request, waiting remote response...
|
|
PRO_CPU received a message from APP_CPU : APP_CPU: This is a response
|