![]() |
MCUSW
|
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... | |
Functions | |
| Cdd_IpcConfigType::P2CONST (Cdd_IpcChannelType, AUTOMATIC, CDD_IPC_CONST) pChCfg | |
CDD IPC Error Codes | |
| AUTOMATIC | |
| CDD_APP_DATA | VersionInfoPtr |
| chId | |
| CDD_APP_DATA | pBuf |
| CDD_APP_DATA | pRemoteProcId |
| remoteProcId | |
| uint32 uint32 | val |
| uint32 uint32 uint32 | timeoutCnt |
| FUNC (void, CDD_IPC_CODE) Cdd_IpcGetVersionInfo(P2VAR(Std_VersionInfoType | |
| Service for getting CDD version. More... | |
| FUNC (Std_ReturnType, CDD_IPC_CODE) Cdd_IpcDeinit(void) | |
| Service for deinitializing CDD. More... | |
| P2CONST (void, AUTOMATIC, CDD_APP_DATA) pBuf | |
| VAR (uint32,) bufLen) | |
| P2VAR (void, AUTOMATIC, CDD_APP_DATA) pBuf | |
| P2VAR (uint32, AUTOMATIC, CDD_APP_DATA) bufLen) | |
| P2VAR (Cdd_IpcRegRbValues, AUTOMATIC, CDD_APP_DATA) pRegArgs) | |
| FUNC (boolean, CDD_IPC_CODE) Cdd_IpcIsInitDone(void) | |
| Service for checking if IPC module is initialized. More... | |
| FUNC (uint32, CDD_IPC_CODE) Cdd_IpcGetMaxMsgSize(VAR(uint32 | |
| Service for checking if IPC module is initialized. More... | |
| FUNC (int32_t, CDD_IPC_CODE) Cdd_Ipc_Send_Ack(uint32 selfId | |
| Cdd_IpcConfigType::P2CONST | ( | Cdd_IpcChannelType | , |
| AUTOMATIC | , | ||
| CDD_IPC_CONST | |||
| ) |
Pointer to array of channel conditions
| FUNC | ( | void | , |
| CDD_IPC_CODE | |||
| ) |
Service for getting CDD version.
Dummy API to call mailbox API Ipc_mailboxDisableNewMsgInt from Application : API Mailbox Disable new MSG interrupt for a given remote processor.
Service for CDD Initialization.
* Service name : Cdd_IpcGetVersionInfo * Syntax : void Cdd_IpcGetVersionInfo(Std_VersionInfoType * VersionInfoPtr) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : CDD_IPC_SID_GETVERSIONINFO * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : VersionInfoPtr - Pointer to version info element * Parameters (inout) : None * Parameters (out) : None * Return value : None * Description : Service for getting CDD version. *
* Service name : Cdd_IpcInit * Syntax : Std_ReturnType Cdd_IpcInit(void) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_INIT * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : None * Parameters (inout) : None * Parameters (out) : None * Return value : None * Description : Service for CDD Initialization. *
| selfId | Self Processor Identifier |
| remoteProcId | Remote Processor ID |
| FUNC | ( | Std_ReturnType | , |
| CDD_IPC_CODE | |||
| ) |
Service for deinitializing CDD.
Service for reading the configuration registers of the MCAL modules.
Service for reception of N bytes of control message from remote cores.
Service for broadcasting capabilities of this core to all other cores.
Service for reception of N bytes of data from remote cores.
Service for sending an message to remote cores.
* Service name : Cdd_IpcDeinit * Syntax : Std_ReturnType Cdd_IpcDeinit(void* ConfigPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_DEINIT * Sync/Async : Synchronous * Reentrancy : Non-Reentrant * Parameters (in) : ConfigPtr - Not used for now, reserved for future * Parameters (inout) : None * Parameters (out) : None * Return value : Std_ReturnType * Description : Service for deinitializing the CDD and change the * driver state to uninitialized *
* Service name : Cdd_IpcSendMsg * Syntax : Std_ReturnType Cdd_IpcSendMsg( * uint32 chId, * void *pBuf, * uint32 bufLen) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_SEND * Sync/Async : Synchronous * Reentrancy : NonReentrant * Parameters (in) : chId - Communication channel identifier * : pBuf - non NULL_PTR, that describes the message to be * sent * : bufLen - Length in bytes and cannot exceed * CDD_IPC_MAX_MSG_LEN * Parameters (inout) : None * Parameters (out) : None * Return value : Std_ReturnType * Description : This API is used to transport N bytes of data across * cores. *
* Service name : Cdd_IpcReceiveMsg * Syntax : Std_ReturnType Cdd_IpcReceiveMsg( * uint32 chId, * void *pBuf, * uint32 bufLen) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_RECEIVE * Sync/Async : Synchronous * Reentrancy : NonReentrant * Parameters (in) : chId - Communication channel identifier * : pBuf - non NULL_PTR, that describes the memory space * that can hold received message. The length * shall be CDD_IPC_MAX_MSG_LEN * : bufLen - Received message length in bytes and will not * exceed CDD_IPC_MAX_MSG_LEN. * Parameters (inout) : None * Parameters (out) : None * Return value : Std_ReturnType * Description : This API is used to receive message from remote core * If there are no messages E_NOT_OK shall be * returned. * *
* Service name : Cdd_IpcAnnounce * Syntax : Std_ReturnType Cdd_IpcAnnounce( * void *pBuf, * uint32 bufLen) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_ANNOUNCE * Sync/Async : Synchronous * Reentrancy : NonReentrant * Parameters (in) : pBuf - non NULL_PTR, that describes the message to be * sent. * : bufLen - Length in bytes and cannot exceed * CDD_IPC_MAX_MSG_LEN * Parameters (inout) : None * Parameters (out) : None * Return value : Std_ReturnType * Description : This API is used to announce the capability of this * core to all other cores. *
* Service name : Cdd_IpcReceiveCtrlMsg * Syntax : Std_ReturnType Cdd_IpcReceiveCtrlMsg( * uint32 pRemoteProcId, * uint32 pRemoteEndPt, * void *pBuf, * uint32 *bufLen) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : CDD_IPC_SID_CTRL_RECEIVE * Sync/Async : Synchronous * Reentrancy : NonReentrant * Parameters (inout) : pRemoteProcId - Holds the remote processor identifier * that iniciated this control message * : pRemoteEndPt - Holds remote end point number that * iniciated this control message * : pBuf - non NULL_PTR, that describes the memory space * that can hold received message. The length * shall be CDD_IPC_MAX_MSG_LEN * : bufLen - Received message length in bytes and will not * exceed CDD_IPC_MAX_MSG_LEN. * Parameters (in) : None * Parameters (out) : None * Return value : Std_ReturnType * Description : This API is used to receive control message from * remote core. If there are no messages E_NOT_OK * shall be returned. * *
* Service name : Cdd_RegisterReadBack * Syntax : Std_ReturnType Cdd_RegisterReadBack(uint8* mod_name) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : None * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : None * Parameters (inout) : pRegArgs - Pointer to structure that would hold values * of registers read back by this API * Parameters (out) : None * Return value : Std_ReturnType * Description : Service for reading the critical configuration * registers of the Mailbox/IPC *
| P2CONST | ( | void | , |
| AUTOMATIC | , | ||
| CDD_APP_DATA | |||
| ) |
| CDD_APP_DATA VAR | ( | uint32 | ) |
| CDD_APP_DATA P2VAR | ( | void | , |
| AUTOMATIC | , | ||
| CDD_APP_DATA | |||
| ) |
| CDD_APP_DATA P2VAR | ( | uint32 | , |
| AUTOMATIC | , | ||
| CDD_APP_DATA | |||
| ) |
| P2VAR | ( | Cdd_IpcRegRbValues | , |
| AUTOMATIC | , | ||
| CDD_APP_DATA | |||
| ) |
| FUNC | ( | boolean | , |
| CDD_IPC_CODE | |||
| ) |
Service for checking if IPC module is initialized.
* Service name : Cdd_IpcIsInitDone * Syntax : boolean Cdd_IpcIsInitDone(void) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : CDD_IPC_SID_IS_INIT_DONE * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : None * Parameters (inout) : None * Parameters (out) : None * Return value : boolean * Description : Returns TRUE if Cdd_ipcInit is completed else FALSE *
| FUNC | ( | uint32 | , |
| CDD_IPC_CODE | |||
| ) |
Service for checking if IPC module is initialized.
Service to get Mailbox state is FULL or not.
* Service name : Cdd_IpcGetMaxMsgSize * Syntax : uint32 Cdd_IpcGetMaxMsgSize(uint32 chId) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : CDD_IPC_SID_GET_MAX_MSG_SIZE * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : chId - Communication channel identifier * Parameters (inout) : None * Parameters (out) : None * Return value : uint32 * Description : Returns max msg size for the specified channel *
* Service name : Cdd_IpcGetMailboxStatus * Syntax : uint32 Cdd_IpcGetMailboxStatus(uint32 chId) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : CDD_IPC_SID_MAILBOX_STATE * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : remoteProcId - Remote ID * Parameters (inout) : None * Parameters (out) : None * Return value : uint32 * Description : Returns the mailbox state *
| FUNC | ( | int32_t | , |
| CDD_IPC_CODE | |||
| ) |
Dummy API to call mailbox API : Ipc_mailboxSend from Application
| uint32 Cdd_IpcMpType::ownProcID |
Defines processor ID on which MCAL/AUTOSAR is being hosted
| uint32 Cdd_IpcMpType::numProcs |
Number of remote processor which with IPC is desired
| uint32 Cdd_IpcMpType::remoteProcID[CDD_IPC_CORE_USED] |
Remote processor identifiers
| uint32 Cdd_IpcMpType::reserved |
Future use if any
| void* Cdd_IpcVertIoType::vertIoRingAddr |
Defines address that shall be shared between cores
| uint32 Cdd_IpcVertIoType::vertIoRingSize |
Size of the shared memory
| uint32 Cdd_IpcVertIoType::vertIoObjSize |
Size of the vertio Object, used for vertIoRing
| uint32 Cdd_IpcVertIoType::reserved |
Future use if any
| uint32 Cdd_IpcChannelType::id |
Unique identifiers for a channel
| uint32 Cdd_IpcChannelType::localEp |
Local End Point identifier, on which MCAL/AUTOSAR is hosted
| uint32 Cdd_IpcChannelType::remoteEp |
Remote End Point identifier, on remote cores
| uint32 Cdd_IpcChannelType::remoteProcId |
Remote Processor Identifier
| uint32 Cdd_IpcChannelType::numMsgQueued |
Maximum depth of the queue, that holds received messages
| uint32 Cdd_IpcChannelType::maxMsgSize |
Maximum size of the message that could be received
| Cdd_Ipc_NewMessage Cdd_IpcChannelType::NewMessageNotify |
Function pointer to a new message for specific channel ID
| uint32 Cdd_IpcChannelType::reserved |
Future use if any
| Cdd_IpcMpType Cdd_IpcConfigType::coreIds |
Core identifier configurations
| Cdd_IpcVertIoType Cdd_IpcConfigType::vertIoCfg |
VertIO configurations
| uint32 Cdd_IpcConfigType::channelCount |
Number of channels configured
| uint32 Cdd_IpcConfigType::reserved |
Reserved field
| uint32 Cdd_IpcRegRbValues::numRegisters |
Will specify number of registers values provided
| uint32 Cdd_IpcRegRbValues::regValues[CDD_IPC_CORE_ID_MAX] |
Values of critical registers that's read and provided
| uint32 Cdd_IpcRegRbValues::cddipcRev |
MAILBOX_REVISION Register
| uint32 Cdd_IpcRegRbValues::cddipcsyscfg |
MAILBOX_SYSCONFIG Register
| uint32 Cdd_IpcRegRbValues::cddipceoi |
MAILBOX_EOI Register
| uint32 Cdd_IpcRegRbValues::cddipcmsg |
MAILBOX_MESSAGE_y Register
| uint32 Cdd_IpcRegRbValues::cddipcfifosts |
MAILBOX_FIFO_STATUS_y Register
| uint32 Cdd_IpcRegRbValues::cddipcmsgsts |
MAILBOX_MSG_STATUS_y Register
| uint32 Cdd_IpcRegRbValues::cddipcirqrawsts |
MAILBOX_IRQ_STATUS_RAW_i Register
| uint32 Cdd_IpcRegRbValues::cddipcclrsts |
MAILBOX_CLR_STATUS_i Register
| uint32 Cdd_IpcRegRbValues::cddipcenbclr |
MAILBOX_ENABLE_CLR_i Register
| uint32 Cdd_IpcRegRbValues::cddipcenbset |
MAILBOX_ENABLE_SET_i Register
| uint32 Cdd_IpcRegRbValues::reserved |
Reserved field
| uint8* Cdd_IpcChannelBufType::pBuf |
Pointer to buffer
| uint32 Cdd_IpcChannelBufType::bufSize |
Buffer size, expressed in bytes
| AUTOMATIC |
| CDD_APP_DATA VersionInfoPtr |
| chId |
| CDD_APP_DATA pBuf |
| CDD_APP_DATA pRemoteProcId |
| uint16 remoteProcId |
| uint32 uint32 val |
| uint32 uint32 uint32 timeoutCnt |