This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

array is overwritten in ddr3 using messageq example


Hello,
I am working with c6678, I am trying to use messageq example code with 
extra functions. For this functions it is necessary  a few arrays with thousands
of elements. So I defined these  arrays in ddr3 memory  and initialize them from a define.
Compilation is ok and it seems works well but when I watch variables the
values are quite different from that in define statement. If I refresh the values they are constantly changing.

This is how I define variables in C file

#define MAX_SIZE 11000
#pragma DATA_SECTION(buf1, ".inputbuff2");
#pragma DATA_SECTION(buf2, ".inputbuff3");
#pragma DATA_SECTION(buf3, ".inputbuff4");
#pragma DATA_ALIGN(buf1, 128);
#pragma DATA_ALIGN(buf2, 128);
#pragma DATA_ALIGN(buf3, 128);
int buf1[MAX_SIZE]={VALUES1};
double buf2[MAX_SIZE]={VALUES2};
double buf3[MAX_SIZE]={VALUES3};

#pragma DATA_SECTION(buf4, ".inputbuff0");
#pragma DATA_SECTION(buf5, ".inputbuff1");
#pragma DATA_ALIGN(buf4, 128);
#pragma DATA_ALIGN(buf5, 128);

short int buf4[1500][3000]={{0}};
short int buf5[1500][3000]={{0}};


And this the modification for CFG file:

Program.sectMap["ddr"] = new Program.SectionSpec();
Program.sectMap["ddr"].loadSegment = "DDR3";
Program.sectMap[".inputbuff0"]  = "DDR3";
Program.sectMap[".inputbuff1"]  = "DDR3";
Program.sectMap[".inputbuff2"]  = "DDR3";
Program.sectMap[".inputbuff3"]  = "DDR3";
Program.sectMap[".inputbuff4"]  = "DDR3";

I am stuck with this.

Any help is welcome.

Julian