Demo to Run Zephyr on R52-0 for Versal-2ve-2vm - Demo to Run Zephyr on R52-0 for Versal-2ve-2vm - 2026.1 English - UG1186

Libmetal and OpenAMP User Guide (UG1186)

Document ID
UG1186
Release Date
2026-06-24
Version
2026.1 English

The following steps enable you to run the OpenAMP demo on Versal 2VE/2VM:

  1. Identify the correct remoteproc node. After booting, run the following:
    dmesg | grep remoteproc
    Example output:
    [    2.794038] remoteproc remoteproc0: ebb80000.r52f is available
    [    2.800037] remoteproc remoteproc1: ebbc0000.r52f is available
    [    2.806278] remoteproc remoteproc2: ebc00000.r52f is available
    [    2.812242] remoteproc remoteproc3: ebc40000.r52f is available
    [    2.818393] remoteproc remoteproc4: eba00000.r52f is available  # correct node
    
    In this example, remoteproc corresponds to remoteproc4 in /sys/class/remoteproc/remoteproc4, but depending on the kernel probe, this can change. Notice the ending EBA00000.
  2. Set the firmware path to the location of the firmware ELF file:
    /lib/firmware/xilinx/vek385/rpu/vek385-r5-0-zephyr-openamp-rpmsg-multi-srv/
        vek385-r5-0-zephyr-openamp-rpmsg-multi-srv_slot0/
        vek385-r5-0-zephyr-openamp-rpmsg-multi-srv.elf
    
    Save the path without /lib/firmware/:
    export FW=xilinx/vek385/rpu/vek385-r5-0-zephyr-openamp-rpmsg-multi-srv/vek385-r5-0-zephyr-openamp-rpmsg-multi-srv_slot0/vek385-r5-0-zephyr-openamp-rpmsg-multi-srv.elf
    
  3. Start the remote processor by running the following as root:
    sudo -s
    echo $FW > /sys/class/remoteproc/remoteproc4/firmware
    echo start > /sys/class/remoteproc/remoteproc4/state
    
Use the following command to communicate through RPMsg:
cat /dev/ttyRPMSG0 &
echo "Hello Zephyr" > /dev/ttyRPMSG0
# Output: TTY 0: Hello Zephyr
echo "Goodbye Zephyr" > /dev/ttyRPMSG0
# Output: TTY 0: Goodbye Zephyr