你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407ZGT6使用SDIO方式驱动SD卡

[复制链接]
STMCU小助手 发布时间:2023-1-3 18:11
简介

本文主要讲解的是移植官方固件库(V1.5.1)中是SDIO来驱动SD卡。


! D0 h/ U+ Q* m) |

SDIO

SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备。

SDIO1.0标准定义了两种类型的SDIO卡:

  • 1、全速的SDIO卡,传输率可以超过100Mbps;
  • 2、低速的SDIO卡,支援的时脉速率在0至400KHz之间。4 Q, B1 v0 M5 o3 u

SDIO协议是由SD卡的协议演化升级而来的,很多地方保留了SD卡的读写协议,同时SDIO协议又在SD卡协议之上添加了CMD52和CMD53命令。由于这个,SDIO和SD卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开支来支持低速I/O能力。低速卡支持类似调制解调器,条形码扫描仪和GPS接收器等应用。高速卡支持网卡,电视卡以及组合卡等。组合卡指的是存储器+SDIO,对组合卡来操作需要全速和4BIT的传输模式,这是SDIO1.0标准规定的。

- e. [+ s6 z. @  j5 a; u

移植操作

注意查看图片中的路径# Z/ y( Q, N1 ~- i
图一:如下
/ C5 u" n. _# O; \( E7 ~9 U将选择的4个文件夹拷贝到你的过程下面(注意查看路径)2 n" j# B; a- U; N+ n2 N
5 a  ?+ K! G8 y$ i4 Z8 W. i: D7 d
拷贝完成之后,请看图二:如下8 @: }, A2 G5 y, u+ F; `
将该路径下的的mian.c和main.h两个文件夹拷贝到工程下(注意该文件在固件库中的路径)
& c2 H8 R. h7 r6 \" }. R: _$ o: x2 H9 o8 H: H5 M
拷贝完毕之后,将main.c和main.h的名字改成—>SD_test.c和SD_test.h,内容可以进行相应的删除和更改!

将stm324xg_eval.c和stm324xg_eval.h中只保留跟SD卡相关的部分,其他进行注释即可,也可以不用进行注释,只要你不嫌占内存

如图3,就是我拷贝完毕并且进行更改之后的样子


! i( j7 z! F& ]6 l" {# U: W0 F打开工程,将这几个文件添加进工程中,先把SD_test.c中的main函数的名字改成SD_test) D  m1 y! b. x- s
如图:$ T/ U3 H% j% @; i  x* ~, Y
到这里,SD_test函数就更改完毕了,接下来进行扇区擦除、单模块擦除、多模块擦除函数的更改进行编译,不出意外的话,会出现一个错误,$ i( u7 d" F: A$ \3 O" j# Y3 [
入下图:
9 U8 X) i8 T0 V/ c6 H, [$ K
4 \5 L! ]' G% Y8 |, A5 }9 U2 J将该图中的“stm32_eval_legacy.h”进行屏蔽或者删除即可6 B; W6 k' M% T7 I. k6 @5 o0 r
再次进行进行编译就会0错误: U, z& D2 g% k( ^) O+ Y, h
包含相应的.h,然后进行SD测试/ w9 n2 A. H0 F2 m1 |5 S
测试结果如下0 N# R4 Q6 p2 ^$ u4 ?/ o# Z5 t
接下来可以就进行FATFS文件系统的移植


* I/ u% |* f. Q1 g: U# w

转载自:xqhrs232


- e9 W# C5 h  x- B. f# _+ j
! S: Q5 d2 J! J: R4 m' R% A
赞 收藏 评论0 发布时间:2023-1-3 18:11

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版