使用OMAPL138 dsp核 SYSBIOS下使用UPP DMA传输数据,发现关闭cache,UPP 每次DMA传输均正确。
我在程序中定义了全局变量:
Uint16 upp_buffer_a[1024];
Uint16 upp_buffer_b[1024];
UPP每次传输数据都是upp_buffer_b数组数据->传输到upp_buffer_a 中
但是一旦开启cache缓存后,发现UPP DMA 只有第一次接收数据正确,后续每次DMA 收到的数据均错误。 工程师说开启cache后,使用缓存需要编程的时候考虑内存地址对齐及缓存一致性的问题。但不知道具体如何设置。