硬汉嵌入式论坛

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

stm32f4系列怎么驱动spiflash的DSPI或QSPI

[复制链接]

9

主题

31

回帖

58

积分

初级会员

积分
58
发表于 3 天前 | 显示全部楼层 |阅读模式
查看芯片发现f4系列并没有硬件QSPI,单线读取flash速度太慢了,读1.2M字节得快4秒多了。有没有驱动双线或四线传输的方式呢。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 3 天前 | 显示全部楼层
STM32F4驱动SPI接口Flash W25Q64FV查询读速度1.0MB/S,中断读速度3.8MB/S,DMA读速度4.8MB/S
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 3 天前 | 显示全部楼层
eric2013 发表于 2025-11-18 15:31
STM32F4驱动SPI接口Flash W25Q64FV查询读速度1.0MB/S,中断读速度3.8MB/S,DMA读速度4.8MB/S

好的我尝试用dma读
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 3 天前 | 显示全部楼层
eric2013 发表于 2025-11-18 15:31
STM32F4驱动SPI接口Flash W25Q64FV查询读速度1.0MB/S,中断读速度3.8MB/S,DMA读速度4.8MB/S

所以f4没法儿软件模拟QSPI来驱动FLASH吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 3 天前 | 显示全部楼层
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 3 天前 | 显示全部楼层
dirty_data 发表于 2025-11-18 15:40
所以f4没法儿软件模拟QSPI来驱动FLASH吗

模拟不行,速度慢且占用CPU性能。
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 前天 16:15 | 显示全部楼层
eric2013 发表于 2025-11-18 15:31
STM32F4驱动SPI接口Flash W25Q64FV查询读速度1.0MB/S,中断读速度3.8MB/S,DMA读速度4.8MB/S

我移植了dma方式,读取flash的流位图,但每次读取后绘制时,会有一部分区域异常,个别时候又可以正常显示,可以从哪些地方判断呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 前天 16:17 | 显示全部楼层
dirty_data 发表于 2025-11-19 16:15
我移植了dma方式,读取flash的流位图,但每次读取后绘制时,会有一部分区域异常,个别时候又可以正常显示 ...

内部Flash以数组方式也存储一份,DMA读取出来后比较下,看看是不是读取的有问题。
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 前天 16:22 | 显示全部楼层
eric2013 发表于 2025-11-19 16:17
内部Flash以数组方式也存储一份,DMA读取出来后比较下,看看是不是读取的有问题。

大部分相同,个别不同
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 前天 16:27 | 显示全部楼层
eric2013 发表于 2025-11-19 16:17
内部Flash以数组方式也存储一份,DMA读取出来后比较下,看看是不是读取的有问题。

绘制的图片有错位现象
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 昨天 10:28 | 显示全部楼层
dirty_data 发表于 2025-11-19 16:22
大部分相同,个别不同

说明DMA的数据确实有问题
回复

使用道具 举报

9

主题

31

回帖

58

积分

初级会员

积分
58
 楼主| 发表于 昨天 14:31 | 显示全部楼层
eric2013 发表于 2025-11-20 10:28
说明DMA的数据确实有问题

感谢硬汉哥!最终结果是修改spi频率4分频21MHZ才正常显示,42Mhz就会出现问题,是频率高了对dma有影响吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119429
QQ
发表于 昨天 16:00 | 显示全部楼层
dirty_data 发表于 2025-11-20 14:31
感谢硬汉哥!最终结果是修改spi频率4分频21MHZ才正常显示,42Mhz就会出现问题,是频率高了对dma有影响吗

1、先看下你这个Flash,对应读命令下,最高速度多少MHz
2、如果本身支持42M,应该是通信不稳定,可以优先将SPI GPIO上拉电阻都使能了测试下,也不行,再微调GPIO速度等级试试。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 22:25 , Processed in 0.050482 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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