Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SDIO总线
代码分享,stm32f407的sdio驱动。
发布于 2014-11-27 20:06:38 浏览:4555
订阅该版
做文件系统的时候下载了ST的SDIO驱动,感觉不是很好用,后来又在网上找了一份注释非常全的,并且对卡的兼容性也很好,然后又在这个基础上做了些修改,现在分享给各位。 几点说明: 1,官方的程序读写SD全是以字节寻址,既然用了SD卡就要用文件系统,用文件系统都是以扇区寻址,所以官方的程序这点不太合理,以字节寻址32位地址也只能支持4G以下的卡。所以在原来的程序中增加了两个函数: ```SD_Error SD_LBA_ReadBlocks(uint8_t *readbuff, uint32_t BlockAddr, uint32_t NumberOfBlocks); SD_Error SD_LBA_WriteBlocks(uint8_t *writebuff, uint32_t BlockAddr, uint32_t NumberOfBlocks);``` 实际应用中,直接使用这两个函数即可,可以不必去区分是SingleBlock还是MultiBlocks。 2,上面两个函数向SD发送命令没用用官方的命令函数,这个问题处理的比较直接,所以上面的函数效率很不错,assert_param也是没有的,所以尽量保证你的程序其它地方没有问题了再使用这两个函数比较好。 3,对于从SD卡中读到的数据,不可能总是以32位的方式来处理,以字节方式处理的情况恐怕还多一些,可官方和程序却不理会这个实际应用中的问题,全部以WORD方来对齐,所于DMA读写处又做了如下修改: ```/*DMA_InitStructure.DMA_BufferSize = BufferSize / 4;*/ DMA_InitStructure.DMA_BufferSize = BufferSize; /*DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;*/ DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;``` 注释掉的是原官方的,下面是修改后的。这样修改后,在处理数据时,就不用再考虑必须以WORD对齐的问题。 同样对于DMATX也是要按照上面的方式修改。 完整版的程序在这里 [http://pan.baidu.com/s/1ntJXbfj](http://pan.baidu.com/s/1ntJXbfj)
查看更多
5
个回答
默认排序
按发布时间排序
HVVJ_8045
2020-07-22
这家伙很懒,什么也没写!
您好,程序在哪里呢。
aozima
2014-11-27
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
外设是32位的,改成字节真的不会有问题?很神奇!
dzahz
2014-11-27
这家伙很懒,什么也没写!
这个是测试过的,确实没有问题,自己也做了音频播放的实验,mp3,flac播放都很正常,如果是WORD对齐方式,那么播放FLAC就必须另外处理非WORD对齐的问题。 这个程序对卡的兼容性表现也不错,我手上有各种容量品牌的卡总共6种都能正常初始化,读0扇区的测试也能通过。就是一个张不知名口品牌的2G卡,挂载文件系统不成功,还没去研究为什么。其它的都正常。
Mr.Ray
2016-01-13
这家伙很懒,什么也没写!
成功挂载2G 内存卡 谢谢!
Tianqf
2018-01-18
这家伙很懒,什么也没写!
大神求指教,这个怎么用啊。。。
撰写答案
登录
注册新账号
关注者
1
被浏览
4.6k
关于作者
dzahz
这家伙很懒,什么也没写!
提问
7
回答
30
被采纳
0
关注TA
发私信
相关问题
1
求个在STM32F103 RTT上使用SDIO接口的例子
2
是否能增加一个 SDIO AP61xx 的驱动呢
3
sdio和fsmc驱动lcd冲突
4
发现了sdio_unregister_driver里的一个bug
5
用sdio框架驱动过w8801(wifi模块)的坛友请进(已解决)
6
关于rt-thread系统sdio驱动框架使用
7
问题请教,关于在rt-thread中调试RT1052中调试sdio wifi模块
8
【文件系统学习】+海中陆地+RT-Thread文件系统学习挂载SDIO...
9
sdio驱动是怎么使用的?也没有文档和例程啊
10
rt-thread中如何添加对AP6181的支持
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
在用clangd开发RTT吗,快来试试如何简单获得清晰干净的工作区
2
GD32F450 片内 flash驱动适配
3
STM32H7R7运行CherryUSB
4
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
5
使用RC522软件包驱动FM1722
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
6
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部