TI中文支持网
TI专业的中文技术问题搜集分享网站

OMAP-L138 UPP问题咨询

您好,

请问下,upp dma buffer我设置128个字节,具体的Byte Count,Line Count设置如下:
#define UPP_DMA_BYTE_COUNT  (64) //DMA行字节数,每行64个字节,行的字节必须是64的整数倍
#define UPP_DMA_LINE_COUNT 2 //DMA行数, DMA行数 = DMA缓冲区大小/UPP_DMA_BYTE_COUNT
#define UPP_DMA_BUFFER_SIZE (UPP_DMA_BYTE_COUNT * UPP_DMA_LINE_COUNT)
发送1~128共128个字节给FPGA,FPGA端只接收到第1行1-64共64个字节,第2行就没接收到;
附:

WindowAddress:0xc2010300, LineCount:2, ByteCount:64, LineOffsetAddress:64(UPP DMA 设置的几个值)

请问:可能会是什么原因导致fpga只收到1行问题?
Shine:

自循环模式下能不能收发?可以参考BSL里的uPP例程。另外,cache有没有使能?

wensen liang:

回复 Shine:

您好,upp配置的是从channel b发送,数据位是data8~15,单倍率模式;channel a是接收,数据位是data0~7,单倍率模式。

我做了如下测试:

1、fpga端如果之间把channel b之间接到channel a上,相当于回环测试,可以正常接收到数据。

2、fpga端如果经过fifo处理,就出现上述模式,只接收到一行数据,如果我把Byte Count改为128字节,138端接收也随着改变,只接收到1~128字节。

Shine:

回复 wensen liang:

回环正确的话,那要检查FPGA的fifo设置问题。

wensen liang:

回复 Shine:

你好,还有个问题咨询下,

DataNode *node = NULL; int *data = NULL;

node = (DataNode *)ListMP_getTail(server->upp_recv_list_free); data = (int *)SharedRegion_getPtr(node->SR_buffer);

通过SharedRegion_getPtr获取出来的地址data都是8字节对齐的吗?目前打印出来的地址都是8字节对齐。

Shine:

回复 wensen liang:

如果在定义DMA buffer的时候8字节对齐了,那SharedRegion_getPtr获取出来的也是8字节对齐。

赞(0)
未经允许不得转载:TI中文支持网 » OMAP-L138 UPP问题咨询
分享到: 更多 (0)