The latest development version of this page may be more current than this released v2026.04.0 version.

Overview

This readme is about the OpenAMP rpc_demo demo. The rpc_demo is about one processor uses the UART on the other processor and creates file on the other processor’s filesystem with file operations.

For now, It implements the remote processor running generic(baremetal) application accesses the devices on the Linux.

Compilation

Add cmake option -DWITH_PROXY=ON -DWITH_APPS=ON to build the system reference demonstration applications.

Baremetal Compilation

Here is an example to generate the to generate the rpc_demo application:

cmake -DCMAKE_TOOLCHAIN_FILE=zynqmp_r5_generic -DWITH_APPS=ON -DWITH_PROXY=ON

System Reference Legacy Apps Build Overview

This page details how to setup and build the OpenAMP System Reference legacy apps and test examples found in the examples/legacy_apps directory. These applications were moved from the OpenAMP repository.

Initialization

The first step is to initialize the workspace folder (my-workspace) where the examples and all Zephyr modules will be cloned. You can do that by running:

# initialize my-workspace for the example-application (main branch)
west init -m https://github.com/OpenAMP/openamp-system-reference --mf examples/legacy_apps/west.yml --mr main my-workspace
# update modules
cd my-workspace
west update

Build

The following steps are to build legacy apps on a host machine.

export PROJECT_ROOT=$PWD
Build libmetal
cd $PROJECT_ROOT/libmetal
cmake . -Bbuild -DCMAKE_INSTALL_PREFIX=$PROJECT_ROOT/target
make -C build VERBOSE=1 install
Build open_amp
cd $PROJECT_ROOT/open-amp
cmake . -Bbuild -DCMAKE_INCLUDE_PATH=$PROJECT_ROOT/libmetal/build/lib/include/   -DCMAKE_LIBRARY_PATH=$PROJECT_ROOT/libmetal/build/lib/ -DCMAKE_INSTALL_PREFIX=$PROJECT_ROOT/target
make -C build VERBOSE=1 install
Build legacy Apps
cd $PROJECT_ROOT/openamp-system-reference/examples/legacy_apps
cmake -Bbuild \
-DCMAKE_INCLUDE_PATH="$PROJECT_ROOT/libmetal/build/lib/include/;$PROJECT_ROOT/open-amp/build/lib/include/" \
-DCMAKE_LIBRARY_PATH="$PROJECT_ROOT/libmetal/build/lib/;$PROJECT_ROOT/open-amp/build/lib/" \
-DCMAKE_INSTALL_PREFIX=$PROJECT_ROOT/target
make -C build VERBOSE=1 install

If you are perusing the github repository refer to the legacy_apps README.md for compilation information.

Linux Compilation

See README.md to generate the rpc_demod application.

Run the Demo

The demo application will load the remoteproc module, then the proxy rpmsg module, will output message sent from the other processor, send the console input back to the other processor. When the demo application exits, it will unload the kernel modules.