程序开了cache,读SD卡数据到SDRAM的cache空间0x500000位置处,由于读SD卡要使用DMA传输,所以将cache区域的0x500000做 | 0x80000000动作,指向非cache空间0x80500000,调试程序发现DMA传输到非cache空间0x80500000的数据是对的,但是发现cache区域对应的0x500000数据还是错的,就是说这2个位置的数据部同,按照理解虽然做了| 0x80000000的动作,实际上在SDRAM中是对应的是同样物理地址0x500000,为什么会发现数据有差异呢?应该如何做才能既开cache,又能正常DMA传输 |