Other Parts Discussed in Thread: C2000WARE
I want to use IPC as used in the examples given in the C2000 multicore development user guide with interrupts and with possible data transfer.
I have some questions regarding the use of IPC in F28379.
In "C2000Ware_3_04_00_00_Software\device_support\f2837xd", I saw dual-core examples where functions in F2837xD_Ipc_Driver.c are used. From the training video, what I understand is that with the basic option, by using F2837xD_Ipc.c, IPC interrupts are not possible, and to get the maximum possible number of interrupts(=4), we need to use IPC software driver F2837xD_Ipc_Driver.c.
Examples with this are not available in "C2000Ware_3_04_00_00_Software\driverlib\f2837xd\examples". Why is that? I don't know if I am overlooking something significant here.
I checked examples for F2838x because it was mentioned in the multi-core guide. It was using APIs provided in the driver lib package. And I saw the doc, Driverlib_F2837x_to_F2838x_Migration_Guide.pdf in "C2000Ware_3_04_00_00_Software\device_support\f2838x\docs", which made things more confusing. In this doc, it is said that "There was no driverlib available for F2837x device in C2000ware.".
Also, if I need to sync the two cores, the IpcSync() function is not available in the IPC software driver F2837xD_Ipc_Driver.c. Set and acknowledge functions that are part of this sync function are available separately(only in F2837xD_Ipc.c), but wait functions are not available. Are we supposed to check the status and flag register value by a user-written while loop to use with the set and acknowledge statements to make up the sync function?
I have loads of sources here, but I don't have clarity in using them right now. I want to know why is the driverlib IPC APIs not used for F28379 like in F2838. I can see F2837xD specific IPC file in "C2000Ware_3_04_00_00_Software\driverlib\f2837xd\driverlib".
I hope this description didn't confuse anyone trying to help.