The IPC module in the F29 devices in an enhanced version of the module present in F28 devices. Some of the key differences include :
| F28 Function | F29 Function | Comments |
|---|---|---|
| IPC_setFlagLtoR | IPC_setFlagLtoR | Parameter ipcType updated to ipcChannel. |
| IPC_clearFlagLtoR | IPC_clearFlagLtoR | |
| IPC_ackFlagRtoL | IPC_ackFlagRtoL | |
| IPC_isFlagBusyLtoR | IPC_isFlagBusyLtoR | |
| IPC_isFlagBusyRtoL | IPC_isFlagBusyRtoL | |
| IPC_waitForFlag | IPC_waitForFlag | |
| IPC_waitForAck | IPC_waitForAck | |
| IPC_sync | IPC_sync | |
| IPC_init | IPC_init | |
| IPC_sendResponse | IPC_sendResponse | |
| IPC_getResponse | IPC_getResponse | |
| IPC_sendCommand | IPC_sendCommand | Parameter ipcType updated to ipcChannel. Parameter addrCorrEnable is removed. This was added specifically for F2838 device where the RAM address is different between C28 and CM cores. |
| IPC_readCommand | IPC_readCommand | |
| IPC_getCounter | IPC_getCounter | Parameter ipcType removed. |
| IPC_claimFlashSemaphore | SSU_claimFlashSemaphore | Feature moved to SSU. |
| IPC_releaseFlashSemaphore | SSU_releaseFlashSemaphore | |
| IPC_registerInterrupt | - | Use the interrupt driver functions instead |
| IPC_unregisterInterrupt | ||
| IPC_setBootMode | - | Not supported. |
| IPC_getBootMode | ||
| IPC_setBootStatus | ||
| IPC_getBootStatus | ||
| IPC_initMessageQueue | - | Message queues not supported. |
| IPC_sendMessageToQueue | ||
| IPC_readMessageFromQueue |