DSP

DSP C6618测试过程中的问题,SRIO GE

2019-07-13 10:39发布

1.问题描述     FPGA通过SRIO给DSP发送200M数据,DSP再通过GE将这200M的数据发送给PPC,DSP中间会做一些简单的处理,在PPC端发送200M中的数据有部分错误,错误的地方在DSP中为固定的地址 2.DSP 具体情况     没有操作系统     SRIO:FPGA为主,一个SRIO包256字节数据,一个发送8个SRIO包后发送一个doorbell,DSP通过EDMA将这8个包的数据搬移出来,依次发送知道200M数据发送完,每次8个包的地址不会变。      DSP处理     GE模块传输 2.问题解决    cache的问题,SRIO和EDMA中使用的地址都为实际地址,不会占用cache,在DSP处理的时候会使用cache,在处理之前使用InvalidCache()函数无效cache,在使用这一函数时出现错误。只使用了一次,使用一次无效cache的长度为0xFFFF*4,后面的cache没有处理。出现错误,个别地址出现错误说明使用这几个地址时cache中有内容,所以需要将200M的数据长度都要处理cache。   注意使用DMA搬移数据时,一定要注意cache的问题  EDMA搬移数据,注意cache问题   SRIO传输数据,之间将数据搬移到实际地址,没有在cache中缓存,SRIO也使用DMA搬移数据