RPMsg-Lite User's Guide: RPMsg-Lite Configuration

| RPMsg-Lite User's Guide Rev. 3.2.0 NXP Semiconductors

- Main Page
- API Reference

Files
RPMsg-Lite Configuration

The RPMsg-Lite can be configured at the compile time. The default configuration is defined in the rpmsg_default_config.h header file. This configuration can be customized by the user by including rpmsg_config.h file with custom settings. This section summarizes all possible RPMsg-Lite configuration options. More...

## Overview

The RPMsg-Lite can be configured at the compile time. The default configuration is defined in the rpmsg_default_config.h header file. This configuration can be customized by the user by including rpmsg_config.h file with custom settings. This section summarizes all possible RPMsg-Lite configuration options.

## Files
file | rpmsg_default_config.h

## Configuration options
#define | RL_MS_PER_INTERVAL
#define | RL_BUFFER_PAYLOAD_SIZE
#define | RL_BUFFER_COUNT
#define | RL_API_HAS_ZEROCOPY
#define | RL_USE_STATIC_API
#define | RL_CLEAR_USED_BUFFERS
#define | RL_USE_MCMGR_IPC_ISR_HANDLER
#define | RL_USE_ENVIRONMENT_CONTEXT
#define | RL_DEBUG_CHECK_BUFFERS
#define | RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION
#define | RL_ASSERT(x)
#define | RL_ASSERT_BOOL(b)

## Macro Definition Documentation

#define RL_MS_PER_INTERVAL

Delay in milliseconds used in non-blocking API functions for polling. The default value is 1.

#define RL_BUFFER_PAYLOAD_SIZE

Size of the buffer payload, it must be equal to (240, 496, 1008, ...) [2^n - 16]. Ensure the same value is defined on both sides of rpmsg communication. The default value is 496U.

#define RL_BUFFER_COUNT

Number of the buffers, it must be power of two (2, 4, ...). The default value is 2U. Note this value defines the buffer count for one direction of the rpmsg communication only, i.e. if the default value of 2 is used in rpmsg_config.h files for the master and the remote side, 4 buffers in total are created in the shared memory.

#define RL_API_HAS_ZEROCOPY

Zero-copy API functions enabled/disabled. The default value is 1 (enabled).

#define RL_USE_STATIC_API

Static API functions (no dynamic allocation) enabled/disabled. The default value is 0 (static API disabled).

#define RL_CLEAR_USED_BUFFERS

Clearing used buffers before returning back to the pool of free buffers enabled/disabled. The default value is 0 (disabled).

#define RL_USE_MCMGR_IPC_ISR_HANDLER

When enabled IPC interrupts are managed by the Multicore Manager (IPC interrupts router), when disabled RPMsg-Lite manages IPC interrupts by itself. The default value is 0 (no MCMGR IPC ISR handler used).

#define RL_USE_ENVIRONMENT_CONTEXT

When enabled the environment layer uses its own context. Added for QNX port mainly, but can be used if required. The default value is 0 (no context, saves some RAM).

#define RL_DEBUG_CHECK_BUFFERS

Do not use in RPMsg-Lite to Linux configuration

#define RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION

When enabled the opposite side is notified each time received buffers are consumed and put into the queue of available buffers. Enable this option in RPMsg-Lite to Linux configuration to allow unblocking of the Linux blocking send. The default value is 0 (RPMsg-Lite to RPMsg-Lite communication).

#define RL_ASSERT | ( |  | x | ) |

Assert implementation.