硬汉嵌入式论坛

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

[SD/SDIO] stm32h7 sdmmc1 sd卡

[复制链接]

7

主题

46

回帖

67

积分

初级会员

积分
67
发表于 2021-11-29 15:54:21 | 显示全部楼层 |阅读模式
硬汉:
    ThreadX+NetXDUO+FileX+USBX+GUIX Template例程SD卡,使用HAL_SD_WriteBlocks_DMA()时,不需要配置DMA吗?我在例程中没发现有dma的配置代码?
    是我的理解有问题吗?求教...
回复

使用道具 举报

7

主题

46

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2021-11-29 16:04:31 | 显示全部楼层
我在V7-025_FatFS文件系统例子(SD卡 V1.2)这个例程中也没有发现dma配置代码,我之前F429时,都需要配置DMA通道的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-11-29 16:29:59 | 显示全部楼层
H7的是SDMMC,自带DMA,叫IDMA。
回复

使用道具 举报

7

主题

46

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2021-11-29 16:35:47 | 显示全部楼层
之前,dma发送总是失败,报FIFO下溢错误。
现在发现是我测试的数组是定义在DTCM中的,DTCM是不能使用DMA的。
但是我是觉得为什么不需要DMA配置呢?我再看看库函数。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-11-30 09:09:06 | 显示全部楼层
shzdf123 发表于 2021-11-29 16:35
之前,dma发送总是失败,报FIFO下溢错误。
现在发现是我测试的数组是定义在DTCM中的,DTCM是不能使用DMA的 ...

自带的DMA配置比较方便,使能并设置下收发位置就行。
回复

使用道具 举报

7

主题

46

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2021-11-30 09:09:39 | 显示全部楼层
谢谢,重头看了一遍SDMMC,确实是IDMA。FILEX已移植好,再测试下读写速度。
回复

使用道具 举报

7

主题

46

回帖

67

积分

初级会员

积分
67
 楼主| 发表于 2021-12-1 14:05:40 | 显示全部楼层

STM32H7   400MHz  开ICACHE  开DCACHE  FLASH运行  用的HAL_SD库,没有优化为寄存器方式
512字节:  写入515KB/S,读出1.8MB/S
4K字节:   写入2.6MB/S,读出3.1MB/S
64K字节:  写入9.3MB/S,读出10.9MB/S
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 06:52 , Processed in 0.159892 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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