大家好:
omapl138 ddr 0xc0000000~0xc1ffffff,该地址arm核、dsp核、fpga(通过HPI)共用。
在dsp中将该地址进行cache,命令如下:
CacheEnableMAR((unsigned int)0xC0000000, (unsigned int)0x2000000);
CacheEnable(L1PCFG_L1PMODE_32K | L1DCFG_L1DMODE_32K | L2CFG_L2MODE_256K);
1、首先dsp将该地址初始化为0
2、fpga写数据
3、arm读数据,发现fpga重新写的数据无效
这是为什么,总感觉dsp的cache功能影响到arm了?
Shine:
arm读数据之前,有没有先invalid cache里的内容?
yanhong wu:
回复 Shine:
谢谢Shine回复!
我测试了三种情况
1、不进行invalid ,arm获取的数据是不对的
2、在fpga写数据之后进行invalid ,arm获取的数据也是不对的
3、在fpga写数据之前进行invalid ,arm获取的数据是对的
这是什么原因?有相关文档说明吗?
yanhong wu:
回复 Shine:
谢谢Shine!
看过文档,已经明白出问题的原因,问题已解决,感谢!
Shine:
回复 yanhong wu:
不客气,很高兴问题解决了,感谢分享!