This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ddr3的cache不一致性




试验了一下,如果将HPI接口的缓存放置在内部RAM,则所有的操作均正确,如果将HPI的缓存放置在外部SDRAM中,如果不禁用cache,无论采用查询方式还是中断方式则读取数据和写数据会出错,明明HOST端修改了内容,就是读不到,不修改程序,仅仅禁用cache则数据正确。
HPI使用的是EDMA,ti资料spru609b中原话是这样的:
Notice that the hardware ensures that accesses by the CPU and EDMA to
internal SRAM addresses are coherent, but external addresses are  not.
Software must ensure external addresses accessed by the EDMA are not held in cache when the EDMA accesses them.
我现在遇到的问题是在打开cache,将HPI的缓存放置在外部SDRAM中时,即使采用CACHE_flush和CACHE_clean来维护cache与SDRAM的内容一致,读到的结果也不对,请教一下,哪里操作错了