TI中文支持网
TI专业的中文技术问题搜集分享网站

关于6678多核数据共享问题

在多个核采用同一工程中,定义并初始化全局变量

#pragma DATA_SECTION(sharedata, ".data1")
int sharedata [10]={1,1,1,1,1,1,1,1,1,1};

程序中 core0 重新写入sharedata: for(i=0;i<10;i++)      sharedata[i]=2;

 

接着core1  读入并输出sharedata: for(i=0;i<10;i++)        {    System_printf("sharedata[i] = %d\n", sharedata[i]);}

 

结果输出的值仍为初始化值1,而并不是core0写入的新值2,请问这是为什么呢,有什么办法可以解决的吗?

noaming:

你好,

建议用CCS查看一下全局变量sharedata的值是什么,看有没有改变。程序中有没有核之间的通信,core0写完之后,core1再去读。

tmx tsrj:

回复 noaming:

谢谢,已解决,涉及CACHE同步问题

Ellie Jiang:

您好, 请问您在cmd文件中指定.data1 的地址了吗?可以单步运行看看,查memory里面sharedata数组值的变化,比如输出之前core0写入数据是否成功写入了?

赞(0)
未经允许不得转载:TI中文支持网 » 关于6678多核数据共享问题
分享到: 更多 (0)