OpenAMP Split Mode Demo
Split Mode Intro
The Split Mode Demo is provided to demonstrate the use of two remote processors independently. The example utilises two R5 processors in AMD Ultrascale’s split-mode, as compared to the default lock-step mode of the RPU CPU Configuration.
Split Mode Components
This demonstration uses a single application, sent independently to the two remotes, utilising a demo script on the main controller.
The underlying OpenAMP architectural components used by these applications are
The following architecture diagram shows the components involved in the demonstration.
The top-level control flow is shown in the following message diagram.
Split Mode Remote Application
The remote application is a simple application which once loaded calls printf to write to the main controller console, interleaved with other main controller console output.
Split Mode Main Script
The main controller is responsible for loading the firmware and starting the remote processors by writing start and stop to /sys/class/remoteproc/remoteproc0 and /sys/class/remoteproc/remoteproc1 alternately.
The script is available in the Demo Docker Images as demo2.
Split Mode Main Configuration
The remoteproc configuration binding cluster-mode is set to 0 for split-mode as per the system reference implementation.
Split Mode Remote Application Source
The application is deployed as binary in the Demo Docker Images repository, and the source is derived from the echo-test application, leaving out the RPMsg creation step and simply using LPRINTF to print the starting message “Starting application on RPU0 and waiting for stop…”.
Reference Board Implementations
This Split Mode Samples are demonstrated in the following reference implementations.
Docker Images as demo2