1.11 Building and Running Inter-Processor Communication (IPC) Examples on the AM572x GP EVM

Hello, everyone. In this video we're going to demonstrate how to build and run Linux IPC examples on the AM572x general purpose EVM. For TI processors with heterogeneous multi-core architectures, like the AM57x family of devices, which have integrated ARM, DSP, and M4 cores, the TI Processor SDK provides a software component called inter-processor communication, or IPC for short, which works with remoteproc and RP message drivers on the ARM core to allow for loading and passing of data between host and slave cores.
IP software is currently supported with Linux, RTOS, Android, and QNX OS environments on the ARM cores. In this video, we will be demoing on the AM572x, but this code can also be run on the AM571x and the 66AK2Gx. The IPC package and its examples are included in the RTOS Processor SDK, but they can also be built from the Linux Processor SDK. In order to build these examples, you must install both Processor SDK RTOS and Processor SDK Linux. This video assumes that this software has already been installed on your host machine.
So let's begin by building the RTOS IPC library as shown in the IPC Quick Start guide. Step one is to set up the RTOS processor SDK build environment. If Processor SDK RTOS and CCS are not installed at the default location, then we need to export their path variables to their install directories.
Now we can run the script to set up the environment. As a check, ensure that all the paths listed are correct. Now that the environment is set up, we can start the top level build.
Now that the RTOS IPC library is built, we need to build the Linux IPC library. The first step is to include the cross-compiler directory in the path by running the following command. And now we can start the top level build. Now that both RTOS and Linux IPC libraries are built, we can build the examples.
In this video, we'll be using the MessageQ example. There are a total of five executables that we need for this example, and they can be found in the following directories. The executables that we just built for the examples can be found in the examples folder within the IPC directory.
Now we need to copy these executables on the AM572x general purpose EVM. In this video, we'll be using TFTP, but an SC card or network file system can work, too. So the first step is to move the executables into the TFTP boot directory on the host machine. We can do this by running the move command.
Now that we've moved the files into the correct directory, we can transfer them via TFTP. First, we'll need the host IP address, which can be found by typing "ifconfig" into the host terminal. Once we have the host IP address, we can start transferring the files. We can do this by running TFTP get from the root of the EVM.
The executable should now be on the EVM, and we can verify this by typing "ls" into the terminal. The files that we just transferred should be listed in the terminal window. Now that the executables are on the EVM, we need to modify the symbolic links in the lib firmware directory so that they point to our executives.
The symbolic links must maintain the following formats. This is because there is an initialization script that runs during the Linux boot up that expects the firmware images to be in this format. So we'll modify these links by running the following commands. And now we're ready to run the example. The terminal window should now show the application running.
That is all we have to cover in this video. For more information, please refer to the IPC User's Guide at the link shown. For questions, comments, or feature requests, please post them on the E2E forums. Thanks for your time in viewing this video. And for more such videos and trainings, please visit the TI YouTube channel or training.ti.com.

Description

December 22, 2017

For TI embedded processors with heterogeneous multi-core architectures – like the AM57x family of devices, which have integrated ARM, DSP, and M4 cores – the TI Processor Software Development Kit (SDK) provides a software component called Inter-processor Communication (IPC). This video demonstrates how to build and run IPC examples on the AM572x General Purpose Evaluation Module (GP EVM) using Processor SDK for Linux.