samples/drivers/ipm/ipm_esp32/README.html · samples/drivers/ipm/ipm_esp32/README.rst 공식 원문 ↗

Zephyr 3.7.0 · Samples · Drivers · IPM

ESP32 IPM

AMP intercore channel로 64-byte message를 반복 교환합니다.

Official pathsamples/drivers/ipm/ipm_esp32/README.html
Source filesamples/drivers/ipm/ipm_esp32/README.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

예약·사용 가능 channel과 64-byte fragmentation 책임을 보존합니다.

CPUs

PRO · APP

Channels

4

Payload

64 bytes

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 BF9F7025F64D85566B9C6AB969B0B84A9F13FB226B13094D85FDA6E6FF2253B5
.. 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

Part 3

한국어 전문 번역

개요

이 간단한 예제는 multicore ESP32 SoC에서 사용할 수 있으며 AMP application에 쓰는 software intercore messaging mechanism을 보여줍니다.

ESP32에는 APP과 PRO라는 두 CPU가 있습니다. 이 예제에서 PRO는 IPM driver로 APP에 message를 보내고 APP의 response message를 기다린 뒤 그 내용을 console에 출력합니다.

ESP32 intercore messaging에는 최대 네 channel이 있습니다. Channel 0과 1은 Bluetooth와 Wi-Fi message용으로 예약돼 있고, channel 2와 3은 application이 자유롭게 사용할 수 있습니다. 각 channel은 message 하나당 최대 64byte data를 지원하므로 더 큰 message는 high-level protocol이 64byte chunk로 나눠야 합니다.

Zephyr Code Build와 실행

ESP32 IPM sample code는 다음과 같이 build합니다.

west build -b esp32_devkitc_wroom/esp32/procpu samples/drivers/ipm/ipm_esp32

Sample 출력

이 sample의 출력을 확인하려면 west espressif monitor 또는 minicom, PuTTY, screen 같은 serial console program을 실행합니다.

*** 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

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.