Part Number: TMS320F28386D
Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hi I am testing the ipc between C28x and CM based on the example ipc_ex2_msgqueue_c28x1 and ipc_ex2_msgqueue_cm
When I define the buffer on message ram section, it doesn't work if the compiler change the position of the ipc.c buffers
Following is the memory map of a NOT WORKING example:


Here is a WORKING example


If the compiler put first the PUT buffer, at the beginning of "MSGRAM_CPU_TO_CM", it will work.
This is valid for both, the cm and cpu, the put/get buffer need to be at the begining of the section. How can I force the compiler to put first the put/get buffer of the driverlib? ipc.c
Is this a bug in the driverlib or did I missed something in my build configurations? I think the driverlib should avoid using the sections name and fix the memory or I have to create a new section for my variables.
Now it depends on the compiler if my code works or not.
I think you can replicate the behavior changing the readData[10] to readData[200] in ipc_ex2_msgqueue_c28x1.c, which will put first readData in the memory. The example will block when reading.
How should we fix this? Thank you in advance