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

C6748 使用EDMA的方式通过MMC接口驱动eMMC存储遇到的问题,写入数据头40个字节是0x00

TI工程您好,请教一个问题。

我使用C6748驱动一个eMMC存储单元,采用EDMA的方式读写,发现每次写入数据再回读出来后发现头40个字节是0x00。我在发起DMA传输之前准备的数据是没有问题的。再整个读写过程中数据也不会发生改变。我一次性写入一大数据,然后使用DMA回读,一小段一小段的方式回读出来确认,发现只有写入的头部40个字节是00,后续的数据都正常。由此我判断读取数据是正常的,写入数据的头40个字节发生了错我。

我的MMCFIFO是配置为512b/64B的模式,MMCFIFOCTL中的ACCWD位配置为0或者4Bytes都没有任何变化。

请问这个有可能是什么原因导致的呢?

另外FIFOCTL寄存器中的ACCWD是什么意思?有通俗一点的解释吗?

望详细解答以为感。

Shine:

请问如果不用EDMA读的话,头40个字节正确吗?

ACCWD表示FIFO满或空的标志位什么情况下会置位。

Timothy:

回复 Shine:

是正常的。请问EDMA的数据源地址和目标地址有没有对齐的要求呢?任意地址都可以?还是要求64字节对齐呢?

Shine:

回复 Timothy:

EDMA的数据源地址和目标地址只有在SAM, DAM=1时需要256-bit对齐,但是c6748 edma不支持这种constant addressing mode。

赞(0)
未经允许不得转载:TI中文支持网 » C6748 使用EDMA的方式通过MMC接口驱动eMMC存储遇到的问题,写入数据头40个字节是0x00
分享到: 更多 (0)