The following steps enable you to run the OpenAMP demo on Versal 2VE/2VM:
- Identify the correct
remoteprocnode. After booting, run the following:
Example output:dmesg | grep remoteproc
In this example,[ 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 noderemoteproccorresponds toremoteproc4in /sys/class/remoteproc/remoteproc4, but depending on the kernel probe, this can change. Notice the endingEBA00000. - Set the firmware path to the location of the firmware ELF
file:
Save the path without /lib/firmware/:/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.elfexport 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 - 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