h743 qspi dma方式读取超过65536字节时出错
用HAL_QSPI_Receive_Dma读flash时,如果读取的字节数超过65536,耗时明显变长,且读出的数据也不对,但是看hal库手册和w25q64的Datasheet,并未找到有关这方面的限制,有大佬遇到过这个问题吗? 这个是DMA的限制,你用的MDMA还是通用DMA,他们支持的最大传输略有却别。另外读取操作,推荐使用内存映射模式,配合Cache,速度和使用MDMA是一样的。
eric2013 发表于 2024-2-14 00:38
这个是DMA的限制,你用的MDMA还是通用DMA,他们支持的最大传输略有却别。
另外读取操作,推荐使用内存映 ...
用的是mdma zjcszn 发表于 2024-2-14 01:35
用的是mdma
QSPI MDMA读限制最大65536字节
DMA的长度最大就是uint16.... eric2013 发表于 2024-2-14 13:46
QSPI MDMA读限制最大65536字节
大佬,bsp手册里写的我看到了,但是这个65536的限制是从哪里得出来的呢?还有就是mdma有字节对齐要求嘛?我在用mdma时发现如果buffer的地址不是32字节对齐的话,数据会有丢失 zjcszn 发表于 2024-2-20 21:35
大佬,bsp手册里写的我看到了,但是这个65536的限制是从哪里得出来的呢?还有就是mdma有字节对齐要求嘛? ...
1、这个用的是MDMA_BUFFER_TRANSFER模式,最大65536字节。
个函数HAL_MDMA_Start_IT,里面有注释说明
2、对,DMA方式要做字节对齐处理。
页:
[1]