AM263x MCU+ SDK  08.03.00
IPC Notify Echo

Introduction

This example shows usage of IPC Notify APIs for exchanging 28b messages between multiple CPUs.

In this example,

  • One "main" CPU, sends 28b messages to other "remote" CPUs using the IPC notify API
  • The "remote" CPUs, then echo back the message to the main CPUs
  • Once all messages are echoed all the CPUs exit

Supported Combinations

Parameter Value
CPU + OS r5fss0-0 freertos
r5fss0-1 nortos
r5fss1-0 nortos
r5fss1-1 nortos
Toolchain ti-arm-clang
Boards am263x-cc, am263x-lp
Example folder examples/drivers/ipc/ipc_notify_echo

Steps to Run the Example

Note
This is a system or multi-core project, so refer to system project build instructions for CCS project or makefiles when building the example.
  • When using CCS projects to build, import the system CCS project and build it using the CCS project menu (see Using SDK with CCS Projects). This will build all the dependant CPU projects as well
  • When using makefiles to build, build the system makefile using make command (see Using SDK with Makefiles). This will build all the dependant CPU makefiles as well.
  • Launch a CCS debug session, follow the steps for running multi core applications in Prerequisites and run the executables, see CCS Launch, Load and Run
  • This is a multi-core example. Hence the executables should be loaded and run for all the above mentioned cores
  • The application has a sync mechanism at the start which waits for all cores to start before doing the test. Hence the cores can be loaded and run in any sequence.

See Also

IPC Notify

Sample Output

Shown below is a sample output when the application is run,

[IPC NOTIFY ECHO] Message exchange started by main core !!!
[IPC NOTIFY ECHO] All echoed messages received by main core from 3 remote cores !!!
[IPC NOTIFY ECHO] Messages sent to each core = 1000000
[IPC NOTIFY ECHO] Number of remote cores = 3
All tests have passed!!
[r5f0-1] 2.965606s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!!
[r5f0-1] 8.203494s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!!
[r5f1-0] 6.069463s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!!
[r5f1-0] 11.306840s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!!
[r5f1-1] 8.245586s : [IPC NOTIFY ECHO] Remote Core waiting for messages from main core ... !!!
[r5f1-1] 13.483076s : [IPC NOTIFY ECHO] Remote core has echoed all messages !!!