硬件平台:6678,软件平台:ccs5.5
1、当L1D和L1P的cache全开,即各32kB,L2的cache关闭,即0KB时,在core0上写DDR数据,然后writeback;在core1上对DDR地址做invalide操作,再读DDR数据,这种情况,数据都正确读出。
2、当L1D和L1P的cache全开,即各32kB,L2的cache打开128KB时,在core0上写DDR数据,然后writeback;在core1上对DDR地址做invalide操作,再读DDR数据,这种情况,DDR部分数据没进入cache中,导致读出错误数据。
附上memory 数据截图:
地址0x80000000-0x8000007f的数据应该为1的,但是cache中还是为0,后面的数据都是对的。
此图可以看出,core0确实已经把数据writeback到DDR中。
问题比较着急,搞了好久都没有找到问题所在,希望大家能帮忙解决,不甚感激