专家您好:
最近在调试过程中发现:通过Pcie传送来的数据数据大到一定范围cache inv操作就不起作用了。导致程序运行错误。
1. csl库中的cache操作分两种,一种直接对L1、L2进行inv和writebak操作,一种是对内存地址依照大小进行cache维护操作,测试时发现有些csl中的cache语句
没有起到相应的作用。对内存地址进行cache操作超过一定范围就会失效。
请问:
1.对于用共享接受外设数据的cache维护有何需要注意的地方,比如地址128byte字节对齐,大小128byte字节对齐。cache维护有无大小限制?
2.如果更新的数据量比较大,对整个L1cache无效和依照内存地址进行cache无效有何区别?
3.csl库的cache维护代码,需不需要其他相关配置,为何有些语句不起作用?
4.观察memery brower发现MSM中的数据可能出现在L2cache中,但是L2的cache大小设置为0?
谢谢!!!