MCUSW
Cdd_Ipc.h File Reference

Introduction

This file contains interface for InterProcessorCommunication (Ipc) as a complex device driver.

Go to the source code of this file.

Data Structures

struct  Cdd_IpcMpType
 Defines processor identifiers Core on which MCAL/AUTOSAR is hosted and other cores with which IPC is desired. More...
 
struct  Cdd_IpcVertIoType
 Defines Shared Memories for VRING and VRING OBJECT VRING is the shared memory between cores and VRING OBJECT is used implement queue. Please refer design/user guide for details. More...
 
struct  Cdd_IpcChannelType
 Defines logical communication channel between cores. More...
 
struct  Cdd_IpcConfigType
 CDD IPC Configuration type. More...
 
struct  Cdd_IpcRegRbValues
 
struct  Cdd_IpcChannelBufType
 Channel RP Msg buffer type Used to hold the received buffer, before apps can pick it up. More...
 

Macros

#define CDD_IPC_MAX_MSG_LEN   (496U)
 Maximum message length that can be transported. More...
 
#define CDD_IPC_MAX_CTRL_MSG_LEN   (32U)
 Maximum length of control message. More...
 
#define CDD_IPC_MAX_RETRY_NOTIFY   (2U)
 Maximum number of times notify via mailbox is attempted. More...
 
CDD IPC Driver Module SW Version Info

Defines for CDD IPC Driver AUTOSAR version used for compatibility checks. Expected to change with each each change in IPC implementation

#define CDD_IPC_SW_MAJOR_VERSION   (2U)
 Driver Implementation Major Version. More...
 
#define CDD_IPC_SW_MINOR_VERSION   (0U)
 Driver Implementation Minor Version. More...
 
#define CDD_IPC_SW_PATCH_VERSION   (0U)
 Driver Implementation patch Version. More...
 
CDD IPC Driver Module AUTOSAR Version Info

Defines for CDD Driver AUTOSAR version used for compatibility checks

#define CDD_IPC_AR_RELEASE_MAJOR_VERSION   (4U)
 AUTOSAR Major version specification implemented by CDD Driver. More...
 
#define CDD_IPC_AR_RELEASE_MINOR_VERSION   (3U)
 AUTOSAR Minor version specification implemented by CDD Driver. More...
 
#define CDD_IPC_AR_RELEASE_REVISION_VERSION   (1U)
 AUTOSAR Patch version specification implemented by CDD Driver. More...
 
CDD IPC Driver Module, AUTOSAR Version Info

Defines for CDD IPC Driver AUTOSAR version used for compatibility checks

#define CDD_IPC_MODULE_ID   ((uint16) 255U)
 CDD Module ID. More...
 
#define CDD_IPC_VENDOR_ID   ((uint16) 44U)
 Texas Instruments Vendor ID. More...
 
#define CDD_IPC_INSTANCE_ID   ((uint8) 0U)
 IPC Instance ID. More...
 
CDD API Service ID
#define CDD_IPC_SID_GETVERSIONINFO   (0x01U)
 API Service ID for get version info. More...
 
#define CDD_IPC_SID_INIT   (0x02U)
 API Service ID for initialization. More...
 
#define CDD_IPC_SID_SEND   (0x03U)
 API Service ID to send message to remote core. More...
 
#define CDD_IPC_SID_RECEIVE   (0x04U)
 API Service ID to receive message from remote core. More...
 
#define CDD_IPC_SID_ANNOUNCE   (0x05U)
 API Service ID to announce message all remote core. More...
 
#define CDD_IPC_SID_INTERNAL_ISR_ID   (0x06U)
 API Service ID for ISR. More...
 
#define CDD_IPC_SID_REG_READBACK   (0x07U)
 API Service ID for register read back. More...
 
#define CDD_IPC_SID_DEINIT   (0x08U)
 API Service ID for De initialization. More...
 
#define CDD_IPC_SID_CTRL_RECEIVE   (0x09U)
 API Service ID to receive control message from remote core. More...
 
#define CDD_IPC_SID_IS_INIT_DONE   (0x0AU)
 API Service ID to determine if module is initialized. More...
 
#define CDD_IPC_SID_GET_MAX_MSG_SIZE   (0x0BU)
 API Service ID to determine the maximum message size configured. More...
 
#define CDD_IPC_SID_MAILBOX_STATE   (0x0CU)
 API Service ID to determine the state of the mailbox. More...
 
CDD IPC Error Codes
#define CDD_IPC_E_OK   (0x00U)
 No errors. More...
 
#define CDD_IPC_E_INIT_FAILED   (0x01U)
 Error code indicating initialization failure. More...
 
#define CDD_IPC_E_UNINIT   (0x02U)
 Error code indicating the IPC is uninitialized. More...
 
#define CDD_IPC_E_PARAM_POINTER   (0x03U)
 Error code indicating driver is un-initialized. More...
 
#define CDD_IPC_E_ALREADY_INITIALIZED   (0x04U)
 Error code indicating IPC has already been initialized. More...
 
#define CDD_IPC_E_INVALID_CONFIG   (0x05U)
 Error code indicating wrong configuration. More...
 
#define CDD_IPC_E_SEND   (0x06U)
 Error code indicating sending of an message failed. More...
 
#define CDD_IPC_E_RECEIVE_RETRY   (0x07U)
 Error code indicating reception of invalid message. More...
 
#define CDD_IPC_E_NOT_SUPPORTED   (0x08U)
 Error code indicating feature is not supported. More...
 

Functions

void Cdd_IpcGetVersionInfo (Std_VersionInfoType *VersionInfoPtr)
 Service for getting CDD version. More...
 
void Cdd_IpcInit (void)
 Service for CDD Initialization. More...
 
Std_ReturnType Cdd_IpcDeinit (void)
 Service for deinitializing CDD. More...
 
Std_ReturnType Cdd_IpcSendMsg (VAR(uint32,) chId, const void *pBuf, VAR(uint32,) bufLen)
 Service for sending an message to remote cores. More...
 
Std_ReturnType Cdd_IpcReceiveMsg (VAR(uint32,) chId, void *pBuf, uint32 *bufLen)
 Service for reception of N bytes of data from remote cores. More...
 
Std_ReturnType Cdd_IpcAnnounce (const UCHAR *pBuf, VAR(uint32,) chId)
 Service for broadcasting capabilities of this core to all other cores. More...
 
Std_ReturnType Cdd_IpcReceiveCtrlMsg (uint32 *pRemoteProcId, uint32 *pRemoteEndPt, void *pBuf, uint32 *bufLen)
 Service for reception of N bytes of control message from remote cores. More...
 
Std_ReturnType Cdd_IpcRegisterReadBack (uint32 remoteProcId, Cdd_IpcRegRbValues *pRegArgs)
 Service for reading the configuration registers of the MCAL modules. More...
 
boolean Cdd_IpcIsInitDone (void)
 Service for checking if IPC module is initialized. More...
 
uint32 Cdd_IpcGetMaxMsgSize (VAR(uint32,) chId)
 Service for checking if IPC module is initialized. More...
 
uint32 Cdd_IpcGetMailboxStatus (VAR(uint32,) remoteProcId)
 Service to get Mailbox state is FULL or not. More...