F28-F29 Software Migration Guide  1.00.00.00
IPC

Table of Contents

The IPC module in the F29 devices in an enhanced version of the module present in F28 devices. Some of the key differences include :

  • Register names and offsets has been updated.
  • 4 blocks (or channels) of IPC flag and command register sets per CPU pair.
  • Only Flag 0 has interrupt capability.
  • No dedicated message RAMs. Any RAM region can be used across CPUs. For enabling access restrictions, SSU module may be used.

Driverlib API mapping

  • In F28 devices, all the functions takes in a parameter ipcType with possible values IPC_CPU1_L_CPU2_R, IPC_CPU2_L_CPU1_R etc. In F29 based devices, the parameter is updated to ipcChannel with possible values IPC_CPU1_L_CPU2_R_CH0 -IPC_CPU1_L_CPU2_R_CH3, IPC_CPU2_L_CPU2_R_CH0 - IPC_CPU2_L_CPU2_R_CH3 etc
  • Message queues are not supported.
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