AM62Ax MCU+ SDK  09.00.00

Detailed Description

Parameters passed to RPMessage_init, these are generated via SysCfg.

Set vringTxBaseAddr[], vringTxBaseAddr[] to RPMESSAGE_VRING_ADDR_INVALID for cores that are not needed for IPC RPMessage. You can use RPMessage_Params_init to set valid defaults.
All cores MUST set the same value for vringSize, vringNumBuf, vringMsgSize.
Set vringTxBaseAddr, vringRxBaseAddr, based on source and destination cores.
VRING memory is shared across all cores AND this memory MUST be marked as non-cached at all the cores.

Data Fields

uintptr_t vringTxBaseAddr [CSL_CORE_ID_MAX]
uintptr_t vringRxBaseAddr [CSL_CORE_ID_MAX]
uint32_t vringSize
uint32_t vringNumBuf
uint32_t vringMsgSize
const RPMessage_ResourceTable * linuxResourceTable
uint16_t linuxCoreId
uint8_t vringAllocationPDK

Field Documentation

◆ vringTxBaseAddr

uintptr_t RPMessage_Params::vringTxBaseAddr[CSL_CORE_ID_MAX]

VRING address of transmit rings to each core

◆ vringRxBaseAddr

uintptr_t RPMessage_Params::vringRxBaseAddr[CSL_CORE_ID_MAX]

VRING address of receive rings to each core

◆ vringSize

uint32_t RPMessage_Params::vringSize

Size of memory assigned to one VRING, use RPMESSAGE_VRING_SIZE to find the size needed

◆ vringNumBuf

uint32_t RPMessage_Params::vringNumBuf

Max number of buffers in one VRING

◆ vringMsgSize

uint32_t RPMessage_Params::vringMsgSize

Size of each message in one VRING

◆ linuxResourceTable

const RPMessage_ResourceTable* RPMessage_Params::linuxResourceTable

Linux resoruce table for self core, when non-NULL Cortex A* is assumed to run Linux. And VRING info for message exchange with LInux is specified in the resource table

◆ linuxCoreId

uint16_t RPMessage_Params::linuxCoreId

◆ vringAllocationPDK

uint8_t RPMessage_Params::vringAllocationPDK

ID of linux core