大家好!
6678 & ccs5.3
有如下代码:
Program.sectMap[".my_sec"] = new Program.SectionSpec();
Program.sectMap[".my_sec"].fill = 0x00000000;
Program.sectMap[".my_sec"].loadSegment = "DDR3";
#pragma DATA_SECTION (test, ".my_sec");
unsigned char test[30];
{
unsigned char* lvDataTbl ;
。。。
(1)memcpy(test,"fdasfasf",sizeof(test))
char temp[3] = 0;
(2)memcpy(temp,lvDataTbl,sizeof(char)*3);
if(!test)
printf("test is NULL\n");
else
(2)memcpy(test+lvJobIdx*3,lvDataTbl,sizeof(char)*3);
}
括号中的这段代码是八个核并行跑的。其中每个lvDataTbl是一个三个字符组,abc、def、ghi,一次类推,共八个,每核一个,lvJobIdx是0-7的数字对应每个核。
我的问题是,(1)处的拷贝,test的输出显示拷贝成功。(2)处的拷贝,temp输出显示拷贝也成功。但是就是在(3)处,从lvDataTbl每三个向test的对应位置拷贝却不成功,输出test是空。我输出lvDataTbl和lvJobIdx的值都是正确的。
请问是哪里出了错,求解!
谢谢!

