OpenAMP Replicate Firmware Demo
Replicate Firmware Intro
The Replicate Firmware Demo is provided to demonstrate the use of two remote processors each loaded with the same firmware.
Replicate Firmware 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.
Replicate Firmware Remote Application
The remote application is a hello world application, which once loaded calls printf. The output of printf is directed to a UART.
Replicate Firmware 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 same firmware is loaded, and this is made possible as the system uses Tightly Coupled Memory, so each processor is assigned its own bank of memory.
The script is available in the Demo Docker Images as demo3.
Replicate Firmware Main Configuration
The remoteproc configuration binding cluster-mode is set to 0 for split-mode as per the system reference implementation.
Replicate Firmware Remote Application Source
Replicate Firmware Zephyr OS Source
The application is implemented for Zephyr OS as hello_world.
Reference Board Implementations
This Replicate Firmware Samples are demonstrated in the following reference implementations.
Docker Images as demo3