硬汉嵌入式论坛

 找回密码
 立即注册
查看: 489|回复: 6
收起左侧

[SPI/QSPI] h743 qspi dma方式读取超过65536字节时出错

[复制链接]

2

主题

5

回帖

11

积分

新手上路

积分
11
发表于 2024-2-13 23:10:46 来自手机 | 显示全部楼层 |阅读模式
用HAL_QSPI_Receive_Dma读flash时,如果读取的字节数超过65536,耗时明显变长,且读出的数据也不对,但是看hal库手册和w25q64的Datasheet,并未找到有关这方面的限制,有大佬遇到过这个问题吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2024-2-14 00:38:53 | 显示全部楼层
这个是DMA的限制,你用的MDMA还是通用DMA,他们支持的最大传输略有却别。

另外读取操作,推荐使用内存映射模式,配合Cache,速度和使用MDMA是一样的。

回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2024-2-14 01:35:58 来自手机 | 显示全部楼层
eric2013 发表于 2024-2-14 00:38
这个是DMA的限制,你用的MDMA还是通用DMA,他们支持的最大传输略有却别。

另外读取操作,推荐使用内存映 ...

用的是mdma
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2024-2-14 13:46:47 | 显示全部楼层

QSPI MDMA读限制最大65536字节

下载.png
回复

使用道具 举报

4

主题

160

回帖

172

积分

初级会员

积分
172
发表于 2024-2-19 13:46:36 | 显示全部楼层
DMA的长度最大就是uint16....
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2024-2-20 21:35:04 | 显示全部楼层
eric2013 发表于 2024-2-14 13:46
QSPI MDMA读限制最大65536字节

大佬,bsp手册里写的我看到了,但是这个65536的限制是从哪里得出来的呢?还有就是mdma有字节对齐要求嘛?我在用mdma时发现如果buffer的地址不是32字节对齐的话,数据会有丢失
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106738
QQ
发表于 2024-2-21 09:42:19 | 显示全部楼层
zjcszn 发表于 2024-2-20 21:35
大佬,bsp手册里写的我看到了,但是这个65536的限制是从哪里得出来的呢?还有就是mdma有字节对齐要求嘛? ...

1、这个用的是MDMA_BUFFER_TRANSFER模式,最大65536字节。
个函数HAL_MDMA_Start_IT,里面有注释说明

2、对,DMA方式要做字节对齐处理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 07:56 , Processed in 0.195684 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表