
PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
All information hereunder is per NXP’s best knowledge. This document does not provide for any
representation or warranty express or implied by NXP. NXP makes no representation or warranty that
customer’s applications or design will be suitable for customers’ specified use without further testing or
modification. Customers are responsible for the design and operation of their applications and products
using NXP products, and NXP accepts no liability for any assistance with applications or customer product
design. Customers should provide appropriate design and operating safeguards to minimize the risks
associated with their applications and products.
For reliable information on the NXP product please consult the respective NXP data sheet. Unless
otherwise recorded in a written agreement, all sales transactions by NXP are subject to our general terms
and conditions of commercial sale. These are published at http://www.nxp.com/about/about-nxp/our-
terms-and-conditions-of-commercial-sale:TERMSCONDITIONSSALE
Product Brief
Inter-Platform Communication
Framework (IPCF)

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
1.0 Software Product Overview
Inter-Platform Communication Framework (IPCF) is a subsystem which enables applications, running
on multiple homogenous or heterogenous processing cores, located on the same chip or different chips,
running on different operating systems (AUTOSAR®, Linux®, FreeRTOS, Zephyr, etc.), to communicate
over various transport interfaces (Shared Memory, etc.).
IPCF is designed for NXP embedded systems and features low-latency and tiny-footprint. It exposes a
zero-copy API that can be directly used by customers for maximum performance, minimum overhead
and low CPU load. The driver ensures freedom from interference between local and remote shared
memory by executing all writing operations only in local memory domain. Customers can enforce
memory protection for their software with XRDC/SMPU peripherals.
Customers can choose to build exactly what they need in terms of hardware (HW), operating system
(OS) and transport interface.
1.1 Use cases
The following diagram illustrates some use cases addressed by IPCF.
Figure 1 IPCF use cases on multiple homogenous or heterogenous processing cores

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
Figure 2 IPCF use case with multiple instances
Figure 3 IPCF use case for Linux kernel

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
Figure 4 IPCF use case for Linux user-space

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
2.0 Software Content
IPCF software package contains the communication driver over shared memory supporting AUTOSAR,
FreeRTOS, Zephyr and BareMetal. For Linux support IPCF software package is published on CAF
(Code Aurora Forum).
The driver is accompanied by sample applications which demonstrate a ping-pong message
communication (for more details see the samples readme file).
IPCF software package contains a Configuration Tool component used in NXP S32 Design Studio for
quick and easy to use configuration. This component is installed over NXP S32 Real Time Drivers
releases and can be used with all Real Time Drivers components.
IPCF Shared Memory Driver for Linux and sample application are integrated as out-of-tree kernel
modules in NXP Auto Linux BSP. The IPCF driver is provided in Yocto images from NXP Auto Linux
BSP (fsl-image-auto) but can be also build manually.
IPCF Shared Memory Driver for Linux also provides a user-space static library in case the customer
application requires IPCF usage from user-space.
The source code and samples of IPCF implementation for Linux drivers are published on:
https://source.codeaurora.org/external/autobsps32/ipcf/ipc-shm/
https://source.codeaurora.org/external/autobsps32/ipcf/ipc-shm-us/
IPCF software package also contains:
- Release Notes (information about release):
o
Supported platforms
o
Software dependencies
o
Validated compilers
o
Instructions about installation steps
o
New features
o
Known limitations
o
Licensing and support
- IPCF Driver User Manual:
o
Installation instruction for different integration
o
Driver usage, compile and configuration for different OSes and platforms
o
Instructions to compile, build and run the sample application
o
Describe driver APIs
- Quality Package - delivered to customers for RTM releases

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
2.1 Architecture
IPCF driver contains next layers:
- Shared memory generic implementation that is HW and OS agnostic
- Queue component implementation used in IPCF driver
- HW abstraction component: abstraction over various HW IP modules (MSCM, INTC …)
- OS abstraction component: OS agnostic API for common OS services
Figure 5 IPCF System Architecture

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
2.2 Details
IPCF driver uses for buffer management:
- Unmanaged channel data flow: buffer management is disabled, and application owns the entire
channel memory; use-case example: video streaming or non-critical data exchange
- Managed channel data flow: memory is split in buffer pools and buffer management is
controlled by driver; use-case example: CAN forwarding or flash update
IPCF driver supports the following inter-core notification methods:
- Intercore interrupts (hardware notification)
- Polling method (sending and receiving is managed by user)
IPCF driver reduces the receive interrupt overhead with interrupt coalescing technique, avoiding
storming interrupt. When an receive interrupt is triggered the code disables the interrupt, processes all
buffer descriptors in receive FIFO and then reenables the interrupt.

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
3.0 Supported Targets
The software described in this document is intended to be used with NXP Semiconductors S32G2
devices.

PUBLIC
© NXP Semiconductors N.V.
Uncontrolled copy if printed
Inter-Platform Communication
Framework
4.0 Quality, Standards Compliance and Testing Approach
IPCF product is developed according to NXP Software Development Processes that are
Automotive-SPICE (tailored for open source), ISO26262, IATF16949 and ISO9001 compliant.
The compilers used for driver validation are listed in the release notes document.