Gokhan,
Maybe I am still guessing about what your problem is, but I will give you another suggestion. Another thing I did was make my own platform. In this way, I could divide, for example, MSMCSRAM into smaller sections. Then I could make specific data go into that section. I used the sections to make arrays and each core addressed its section in the array by the core id. Is this what you are trying to think about?
See here is my platform:
Here is the config for those sections:
Program.sectMap[".msmcsramHeap"] = "MSMCSRAM"; Program.sectMap[".ethSharedMem"] = "MSMCSRAM"; Program.sectMap[".srioSharedMem"] = "MSMCSRAM"; Program.sectMap[".cfgHeaders"] = "MSMCSRAM_CFG_HDR"; Program.sectMap[".fpgaHeaders"] = "MSMCSRAM_FPGA_HDRS";
and here is the code:
#pragma DATA_SECTION (".fpgaHeaders") ImageHeaderStruct far imgHdrs[8];
Does this idea help any? To place data in a special section - you can see I also did this in DDR3 and used it the same way - and then address it as array by core?
Or even another idea, you could make 8 sections in your platform, one for each core and then create the variable for each core to use. Then you could have some sort of macro that returns the correct pointer to the variable assigned for each core based on Core ID?
Are we getting any closer to answering your question? If not, maybe you can give more specific example of what is not working out.
Brandy