MCUSW
|
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 (9U) |
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... | |