OpenAMP using resource table¶
This application demonstrates how to use OpenAMP with Zephyr based on a resource table. It is designed to respond to the:
This sample implementation is compatible with platforms that embed a Linux kernel OS on the main processor and a Zephyr application on the co-processor.
Building the application¶
# From the root of the zephyr repository west build -b None samples/subsys/ipc/openamp_rsc_table west build -t test
Enable SAMPLE_RPMSG_CLIENT configuration to build and install the rpmsg_client_sample.ko module on the target.
Running the sample¶
Open a serial terminal (minicom, putty, etc.) and connect the board with the following settings:
Data: 8 bits
Stop bits: 1
Reset the board.
Open a Linux shell (minicom, ssh, etc.) and insert a module into the Linux Kernel
root@linuxshell: insmod rpmsg_client_sample.ko
Result on Zephyr console on boot¶
The following message will appear on the corresponding Zephyr console:
***** Booting Zephyr OS v#.##.#-####-g########## ***** Starting application thread! OpenAMP demo started Remote core received message 1: hello world! Remote core received message 2: hello world! Remote core received message 3: hello world! ... Remote core received message 100: hello world! OpenAMP demo ended.
rpmsg TTY demo on Linux console¶
On the Linux console send a message to Zephyr which answers with the “TTY <add>” prefix. <addr> corresponds to the Zephyr rpmsg-tty endpoint address:
$> cat /dev/ttyRPMSG0 & $> echo "Hello Zephyr" >/dev/ttyRPMSG0 TTY 0x0401: Hello Zephyr