大家好:
我对于C6678的L2 SRAM(0x00800000)以及各个core私有的L2 SRAM(core 0::0x10800000,core1:0x11800000),存在些疑问,想请教下大家,测试代码框图如下:
int a=0;
if(selfId==0)
{
a=a+1;
}
else if((1<=selfId)&&(selfId<=6))
{
a=a+2;
}
else
{
a=a+3;
}
以上是一个很简单的测试代码,selfId是由CSL_chipReadReg()函数获取的核号,我想通过观察a改变后的值来了解共有L2 SRAM和私有L2 SRAM的关系,通过.map文件得知a变量的地址是0x00844b30。
测试结果如下:
L2 SRAM(0x00844b30)的值随着core 0的L2 SRAM(0x10844b30)的值改变而改变,每次增加1(以上代码会一直执行) ,它们俩的值相同;而core 1~core6(0x11844b30~0x16844b30)的值每次增加2,core7(0x17844b30)的值每次增加3;
问题如下:
为什么全局变量a在L2 SRAM(0x00844b30)的值随着core 0对它的改变而改变,而不随着其他几个核改变?L2 SRAM(0x00800000)仅仅对于core 0的L2 SRAM(0x10800000)是一种映射关系吗?而对于其他7个core的L2 SRAM不存在映射关系?
谢谢!