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