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.

能否将共享L2(SL2)设置成noncacheable



专家好

请教一个问题

1 默认SL2是cacheable,怎么将SL2 也就是0x0c000000区域设置成对于L1是noncacheable的啊?

a) 在cfg文件中Cache.setMarMeta(0x0c000000, 0x04000000, 0); 貌似不管用,看到MAR寄存器 *0x01848030 也就是MAR12的内容为0x0000000D 还是cacheable的。

b) 我手动修改*0x01848030,改为0后,没有成功,还显示1,是cacheable的。

2 IPC要使用的sharedRegion是cacheable还是noncacheable的啊?可以创建在DDR上么?

3 因为MAR以16M为单位,我能不能讲0x0c000000 分成两个section,一个是cacheable,另一个是noncacheable啊?

非常感谢!

  • 您好,

    MAR0~15是只读,如果要修改其cache属性,则可以通过MPAX将物理地址进行重新映射到MAR16后面的虚地址区域进行设置;将SL2分成两个section分别映射到两个虚地址即可分别设置cache 属性。

    你看一下IPC的sharedRegion在哪个memory,应该能知道其属性,我觉得可以创建在DDR,具体还取决于IPC内部实现,没怎么研究IPC这个东东~