OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2850|回复: 1

求助关于STM32F1最小系统板FATFS使用DMA无法初始化的问题

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2020-4-24
在线时间
15 小时
发表于 2020-6-2 11:49:06 | 显示全部楼层 |阅读模式
10金钱
使用轮询没有问题,将SD_SetDeviceMode(SD_POLLING_MODE);改为SD_SetDeviceMode(SD_DMA_MODE);后在SD_ReadBlock中的DMA传输得到TransferError为SD_RX_OVERRUN的错误,无法完成,一直重复初始化
降低速率到3M也不行,我使用的是没有RAM的板子配置,看申请内存的时候都是从SRAMIN内部存储器分配的,应该没问题,debug了好几天没有头绪,上来请教一下,谢谢大家

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2020-4-24
在线时间
15 小时
 楼主| 发表于 2020-6-2 12:19:49 | 显示全部楼层
本帖最后由 lyzsuper 于 2020-6-2 13:49 编辑

用逻辑分析仪看,DMA传输时的762us内没有CMD,DATA[0,3]上的数据变化,也就是开启DMA后没有进行SDIO传输 顺便发现了一个错误,在SD_DMA_Config函数中最后启动DMA时写的是
        DMA_Cmd(DMA2_Channel4, DISABLE ); //开启DMA2 通道4

应该为
        DMA_Cmd(DMA2_Channel4, ENABLE ); //开启DMA2 通道4


回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 11:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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