Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

How is SYS/BIOS related to IPC?

From Texas Instruments Wiki
Jump to: navigation, search



Sysbios image.png
The Inter-Process Communication (IPC) APIs make use of SYS/BIOS, and so IPC can only be used on processors running SYS/BIOS applications. IPC provides modules and APIs that extend SYS/BIOS to make it easy to communicate between processors in a multi-processor environment. Your applications can communicate using message passing, streams, and linked lists. These object types work transparently in both uni-processor and multi-processor configurations.
IPC Module Description
HeapBuf Multicore/processor-safe shared memory implementation of SYS/BIOS's HeapBuf module
HeapMultiBuf Multicore/processor-safe shared memory implementation of SYS/BIOS's HeapMultiBuf module
List Atomic linked lists
ListMP Multiprocessor atomic linked lists
MessageQ Transparent, variable-length messages
Multiproc Processor identification
NameServer Enables locating IPC objects in multi-core/processor topologies
Notify Low-latency asynchronous interrupt to another processor
SharedRegion Enables definition of shared pointers between different processors/cores
Stream Read/write or buffer streaming interface to peripheral drivers

MessageQ objects enable zero copy, variable-length message passing. The MessageQ object provides transparent communication between threads regardless of whether the application is running on a single processor, multiple discrete processors, or a multicore device.

For communication between multiple cores or processors, a MessageQ Transport (MQT) is needed. For this purpose, IPC provides a shared memory transport for core-to-core communication on multicore devices. This MQT uses underlying hardware features such as atomic access monitors or hardware semaphores to provide the most efficient implementation.

IPC is described in the IPC User's Guide.