这是一个 Cache 一致性问题
CPU 为了加速访问 DDR ,一般都是启用 Cache,通常 Cache 与 DDR 的数据是一致的,但是在一些 DMA 操作 DDR 时,DDR 数据变了 Cache 没变。也有 Cache 变化后 DDR 没有跟着变化,就使 Cache 与 DDR 不一致。
消极的办法是禁止用 Cache 。
也可以通过函数将 "Cache 内容刷新至DDR" 或 "将DDR内容拉进 Cache".使 Cache 与 DDR 保持一致
xil_DCacheInvalidateRange //Cache 内容刷新至DDR
xil_DCaheFlushRange //将DDR内容拉进 Cache