主题中讨论的其他器件:C2000WARE
您好!
我正在尝试在 core1上创建一个数组、为 core2使用 r/w 和 r/o。 另一个方向的数组。 它运行、我可以使用调试器修改存储器、但两个内核在运行时不会修改存储器。
在两个链接器脚本中、我都具有:
CPU1TOCPU2_GS:> RAMGS8,ALIG(4)
CPU2TOCPU1_GS:> RAMGS9,ALIG(4)
在内核1中、我具有:
uint32_t CPU1_TO_CPU2_Array[128]={0U};
#pragma DATA_SECTION (CPU1_TO_CPU2_Array、"CPU1TOCPU2_Gs");
uint32_t CPU2_TO_CPU1_Array[128]={0U};
#pragma DATA_SECTION (CPU2_TO_CPU1_Array、"CPU2TOCPU1_Gs");
然后在计时器中断中:
CPU1_TO_CPU2_Array[0]++;
core2中的类似内容、用于使 CPU2_TO_CPU1_Array[0]递增
在内核1中、我还尝试初始化和配置存储器:
MemCfg_initSecions (MEMCFG_Sect_GS8 | MEMCFG_Sect_GS8);
while (MemCfg_getInitStatus (MEMCFG_sect_GS8)!= 1);
MemCfg_setGSRAMMasterSel (MEMCFG_Sect_GS9、MEMCFG_GSRAMMASTER_CPU2);
/* 也尝试了,
EALLOW;
MemCfgRegs.GSxMSEL.bit.MSEL_GS8 = 0;// CPU1可以读取/写入;CPU2只能读取
MemCfgRegs.GSxMSEL.bit.MSEL_GS9 = 1;// CPU2可以读取/写入;CPU1只能读取
EDIS;
while (!((MemCfgRegs.GSxMSEL.bit.MSEL_GS9 = 1 && MemCfgRegs.GSxMSEL.bit.MSEL_GS8 = 0));
*
许多排列都是相同的结果。 调试器工作正常、程序不会修改存储器。 有什么想法、我会错过什么?
谢谢