Part Number: C2000WARE
The following seems to always work: the .map files show that the pointers are correctly shared between the two cpu's but I'm completely baffled how you do it? How does the cpu1 linker know to put those extern pointers into .sharedPtrs section.
Does the linker for cpu1 look at symbols defined in cpu2 and try to match them up? I do not have anything in my build command to point the cpu's to each other.
Voodoo !!
cpu1 main.cextern Uint16 *CBdataProcess;extern int16 *MB1dataProcess;extern int16 *MB2dataProcess;cpu1 link.cmd.sharedPtrs : > RAMGS12, PAGE = 1cpu2 main.c#pragma DATA_SECTION(CBdataProcess, ".sharedPtrs");#pragma DATA_SECTION(MB1dataProcess, ".sharedPtrs");#pragma DATA_SECTION(MB2dataProcess, ".sharedPtrs");Uint16 *CBdataProcess = 0;int16 *MB1dataProcess = 0;int16 *MB2dataProcess = 0; cpu2 link.cmd.sharedPtrs : > RAMGS12, PAGE = 1