Following are descriptions for each of the OpenAMP demonstration applications.
RPMsg Multi Services Demo
- Platform
- AMD Versal™ AI Edge Series Gen 2
- Host OS
- Linux (Cortex-A)
- Remote OS
- Zephyr (Cortex-R)
This example demonstrates RPMsg communication using Zephyr OS. The
Zephyr application creates various RPMsg channels, and the Linux side creates
corresponding devices and communicates with Zephyr OS using the
ttyRPMSG device, RPMsg sample client driver, or
rpmsg-ping utility in userspace.
You can find more information about this demo here: OpenAMP RPMsg Multi Services Demo — OpenAMP documentation.
Echo Test Demo
- Platform
- Zynq UltraScale+ MPSoC and AMD Versal™ AI Core
- Host OS
- Linux (Cortex-A)
- Remote OS
- FreeRTOS (Cortex-R)
Use this application to send multiple payloads from the host to the remote and verify data integrity. The Linux host boots the remote firmware using remoteproc.
The echo test application sends payloads to the remote firmware using RPMsg, and the remote echoes them back using RPMsg.
The Linux master verifies and prints each payload.
Matrix Multiplication Demo
- Platform
- Zynq UltraScale+ MPSoC and AMD Versal™ AI Core
- Host OS
- Linux (Cortex-A)
- Remote OS
- FreeRTOS (Cortex-R)
Use this application to perform matrix multiplication between host and remote. The Linux host generates two matrices and sends them to the remote. The remote multiplies them and returns the result. The Linux host displays the result.
The Linux host boots the remote firmware using remoteproc and transmits matrices through RPMsg. The remote firmware performs multiplication and transmits the result using RPMsg.
Proxy Application
- Platform
- Zynq UltraScale+ MPSoC and AMD Versal™ AI Core
- Host OS
- Linux (Cortex-A)
- Remote OS
- FreeRTOS (Cortex-R)
Use this application to create a proxy between the Linux host and the remote core. This allows the remote firmware to use the host console and perform file I/O on the host file system.
ESW_CFLAGS:append = " -DUNDEFINE_FILE_OPS=1 "