如标题:EDMA的意思是增强型直接存储器访问;那么在C6678中使用EDMA访问DDR或者MSM的内存时,是直接对内存进行数据读写还是也经过L1Dcache或者L2cache?即EDMA进行访问时是否需要进行cache一致性维护???
谢谢!
Thomas Yang1:
EDMA访问DDR和MSM时,不要EDMA做cache一致性维护,只是CPU core去读写访问这些数据时,需要做cache一致性维护
yl c:
回复 Thomas Yang1:
Thomas Yang1
EDMA访问DDR和MSM时,不要EDMA做cache一致性维护,只是CPU core去读写访问这些数据时,需要做cache一致性维护
yl c:
回复 Thomas Yang1:
你好。
如果MSM或DDR设置成cacheable的话,那么当EDMA访问MSM或DDR时,且cache中存在EDMA要访问的内容时,EDMA不会优先对cache中相应内容进行访问么???如果会优先对cache中的内容进行读写访问,但由于cache中内容可能与实际物理地址中的内容不一致,不就造成cache一致性问题了么。
求指教!
yl c:
回复 Thomas Yang1:
Thomas Yang1
不会,EDMA会直接访问MSM和DDR3中的内容,如果CACHE中有新内容,在EDMA搬移前,CORE需要做cache 一致性维护,将新数据刷新到MSM或者DDR3中,这样EDMA访问的才是新内容。
yl c:
回复 Thomas Yang1:
Thomas Yang1
不会,EDMA会直接访问MSM和DDR3中的内容,如果CACHE中有新内容,在EDMA搬移前,CORE需要做cache 一致性维护,将新数据刷新到MSM或者DDR3中,这样EDMA访问的才是新内容。
yl c:
回复 Thomas Yang1:
Thomas Yang1
而是将cache中的数据刷新到MSM或者DDR3中 –> 是需要core来刷新
建议问题还是放在这里,这样大家都能看到,利于讨论和信息共享。
Thomas Yang1:
回复 yl c:
对
yl c:
回复 Thomas Yang1:
Thomas Yang1
对