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.

6678的MSMC共享内存和Local L2问题,急!!!!!!!!



1、程序中多个核(core0、core1、core2)需要对同一个全局变量 T 操作,因此我将全局变量放在共享内存MSMC中

在cmd文件中   .data:load >> MSMCSRAM 。

#pragma DATA_SECTION ( T,".data" );

查看地址,确实在0X0C000000开始的共享内存中。

于是,我先用core0对T进行读写操作,然后用IPC触发core1,core1能正确读出core0修改后的T,然后用core1对T进行读写操作,然后用IPC触发core2,core2却不能读出core1修改后的T,读出来的仍旧是core0修改后的T。

请问这是什么原因,对共享内存的操作有什么特别的要求吗?

 

2、如果不用#pragma将T定义到共享内存中,T将默认存放在 以 0x0080000地址开始的空间中,查看memory map,这段地址是 Local L2 SRAM,请问这个L2存放在什么地方,有人说是core0的L2,但是我看core0的L2有专门的地址(0x10800000)。如果不是的话,这个local L2是什么呢,位置在哪,能不能被多核共享呢?

两个问题,比较急,谢谢!