硬汉嵌入式论坛

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

SPI FLASH 用DMA方式读写

[复制链接]

8

主题

18

回帖

42

积分

新手上路

积分
42
发表于 2018-7-23 19:02:12 | 显示全部楼层 |阅读模式
版本有SPI FLASH 用DMA方式读写的历程吗? 最近发现用SPI FLASH模拟U盘的时候,如果有其他线程很频繁的操作的情况下,USB挂载上来的时候会导致SPI读写失败,就卡死在里面了,所以想用DMA的方式
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2018-7-23 19:08:59 | 显示全部楼层
你说的SPI Flash模拟U盘,可以使用我做的例子,不死机,你试试看:

基于V6板子的SPI Flash文件系统+SPI Flash虚拟U盘例子下载
https://forum.anfulai.cn/forum.ph ... ight=%BB%F9%D3%DAV6



ST的标准库里面有例子,你参考下,是做的双机通信,DMA方式:
QQ截图20180723191000.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2018-7-23 19:11:31 | 显示全部楼层
标准库的话,可以看当前最新的V1.8.0

https://forum.anfulai.cn/forum.p ... amp;highlight=1.8.0
回复

使用道具 举报

8

主题

18

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2018-7-23 20:09:39 | 显示全部楼层
eric2013 发表于 2018-7-23 19:08
你说的SPI Flash模拟U盘,可以使用我做的例子,不死机,你试试看:

基于V6板子的SPI Flash文件系统+SPI F ...

感谢回复
我这个死机主要出现在USB挂载的时候会去读4K的信息 那一下如果有很多其他任务的操作 比如按键连按一直触发 GUI上一直在切换显示  会导致SPI读第一次4K的时候时序错乱
回复

使用道具 举报

8

主题

18

回帖

42

积分

新手上路

积分
42
 楼主| 发表于 2018-7-23 20:10:10 | 显示全部楼层
eric2013 发表于 2018-7-23 19:08
你说的SPI Flash模拟U盘,可以使用我做的例子,不死机,你试试看:

基于V6板子的SPI Flash文件系统+SPI F ...

感谢回复
我这个死机主要出现在USB挂载的时候会去读4K的信息 那一下如果有很多其他任务的操作 比如按键连按一直触发 GUI上一直在切换显示  会导致SPI读第一次4K的时候时序错乱
回复

使用道具 举报

2

主题

134

回帖

140

积分

初级会员

积分
140
发表于 2018-7-24 10:39:25 | 显示全部楼层
我曾经写过一个spi flash dma驱动  支持RTOS  支持多线程操作   大量读写的时候几乎不暂用cpu  读取速度5MB/S  写入较慢只有500KB/s 基本上是spi时钟的极限了
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2018-9-7 09:10:10 | 显示全部楼层
hanzixiangel 发表于 2018-7-24 10:39
我曾经写过一个spi flash dma驱动  支持RTOS  支持多线程操作   大量读写的时候几乎不暂用cpu  读取速度5MB ...

可以分享一下吗
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2018-10-18 17:07:33 | 显示全部楼层
楼主是想用DMA把数据写进内部FLASH吗?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-14 05:25 , Processed in 0.043231 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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