大家好:
我现在在调试将NDK和SRIO整合的项目,现在SRIO收数据会出错。(发送的数据!=收到的数据)
调试的时候发现一个很器官的问题,下面的图片左边是发送的数据,右边是收到的数据。
我是用core2发送core3接受,在dsp内部完成。
大家可以看两个图地址是一样的,是DDR3的地址,这是在core初始化完发送数据buffer时抓的。左边是在core2的窗口抓的,正常的数据。
然后什么都不动,把窗口切换到core3然后看memory的数据居然和core2看到的不一样,这是为什么?
然后继续运行,core3收到的数据就是右侧的数据,和左侧的不一样。
感觉很奇怪,这是为什么呢?谁能帮帮我。
dc jia:
dc jia:
回复 dc jia:
图片看不全,在第一楼的左上角点开可以看
Allen He:
试一下全部去掉memory 窗口的各Cache使能。
dennis wu:
回复 Allen He:
怀疑是cache的问题。你可以将调试窗口中的cache勾选全部去掉,这样看到的一定是实际内存中的值,否则你看到的可能是cache中的值。
在DDR3中读写数据需要手动做cache操作。