Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
移植SD卡FatFs求指导
发布于 2013-11-27 11:56:33 浏览:4472
订阅该版
目前看到ff.c和diskio.h中提供了文件系统的接口,elm_fs.c文件中提供了对六个接口函数的定义,包括initialize、read、write、ioctrl、getstatus、getfiletime,是需要将这六个函数中的函数体改为对SD卡的操作吗?还有其他工作需要进行不?知道的指导指导吧。
查看更多
10
个回答
默认排序
按发布时间排序
jiezhi320
2013-11-27
这家伙很懒,什么也没写!
如果你是裸机移植 elmfs,那百度上有大把文档供你参考呢 如果是用rtt,那几个函数不用管
whtiea
2013-11-27
这家伙很懒,什么也没写!
目前是在RTT上移植SD卡FatFS,将dfs_elm.c文件中的六个SD卡接口函数分别进行了实现,disk_initialize、disk_status、disk_read、disk_write、disk_ioctl、get_fattime,但是实现完成之后发现调用sdio_sd.c文件中的SD_WaitReadOperation函数时,系统一直死在SD_DMAEndOfTransferStatus返回RESET那个循环中,不知道哪个地方写的有问题,继续求指导!!!
jiezhi320
2013-11-27
这家伙很懒,什么也没写!
你方向错了,rtt上使用elmfs只需要写好sd卡驱动,disk_initialize、disk_status、disk_read、disk_write、disk_ioctl、get_fattime等函数不用你去管。我很奇怪,那么多例子你怎么就不看呢,自己在那瞎整。
jiezhi320
2013-11-27
这家伙很懒,什么也没写!
像你用的stm32 bsp包中有一个sd卡驱动,里面是按照设备驱动架构写的,基本啥都不用改你就能用 1、调用设备初始化,注册sd设备 ``` /* init hardware device */ #ifdef RT_USING_DFS rt_hw_sdcard_init(); #endif ``` 2、文件系统初始化,加载文件系统 ``` /* Filesystem Initialization */ #ifdef RT_USING_DFS { extern void ff_convert_init(); /* init the device filesystem */ dfs_init(); /* init the elm FAT filesystam*/ elm_init(); /* mount sd card fat partition 1 as SD directory */ if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) rt_kprintf("SD File System initialized! "); else rt_kprintf("SD File System init failed! "); #ifdef RT_DFS_ELM_USE_LFN ff_convert_init(); #endif } #endif ```
bernard
2013-11-27
这家伙很懒,什么也没写!
经历过瞎整,水平自然有提升 ^-^
prife
2013-11-28
这家伙很懒,什么也没写!
楼主你就不能把官方代码好好看看么?还有能不能把已经解决问题的帖子结了?
whtiea
2013-11-28
这家伙很懒,什么也没写!
@jiezhi320 看了你贴出来的代码,可是rt_hw_sdcard_init()函数调用死在SD_WaitReadOperation里面了,返回的状态值不对,都不知道是啥问题,另外官方代码能适应所有的SD卡吗?disk_initialize、disk_status和get_fattime为空根本不合理,另外判断SD卡是否存在的函数也被注释掉,不知道是故意的还是有bug,我这些当然要加上,另外disk_read、disk_write函数和我使用SD卡的block等读写特性都对不上,所以需要修改,disk_ioctl函数您自己看看那吧,就实现了两个命令,其他的命令没用的话为什么MicroSD的规范为什么要加上呢,这都是官方代码的问题,我都需要完善 @ prife 目前没有一个技术问题得到完美的解决,因此都没结贴,唯一一个与商务相关的问题[http://www.rt-thread.org/phpBB3/viewtopic.php?f=28&t=3215](http://www.rt-thread.org/phpBB3/viewtopic.php?f=28&t=3215),我认为得到了比较满意的答复,可是还找不到结贴按钮,所以就没有结贴,还有其他意见吗?指出来吧!!!
prife
2013-11-28
这家伙很懒,什么也没写!
1. 官方bsp代码我看就挺好的,作为demo绰绰有余。至于是否支持所有SD卡,那你先收集所有的SD卡再说吧。别忘了这是个开元项目,没有人有义务做一个支持所有SD的bsp给你。就我自己的经验来看,大部分卡都是直接可用,我在自己的项目里使用RT,配合SD卡的应用,无论是SPI方式还是SDIO方式,无论是2G,4G还是8G SD卡,都可以不做修改就能稳定运行,并能是阿别SD卡插入。 部分代码我分享在这里: [http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=2629](http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=2629) 你自己看着弄。另外,bsp不符合你要求就自己改。上面的帖子里的代码就是我自己改的,别就会喊。 2. 如何结贴,你可以修改标题,加上关键字【已解决】(或已结贴,已搞定),随你怎么写,或者在最后回复表示你已经搞定。都行。对已经结束的讨论最后申明,是对别人的尊重。这是个态度问题。 最后的最后,我想对楼主说:没有人有义务帮你。请摆正心态。
whtiea
2013-12-02
这家伙很懒,什么也没写!
目前在FatFS文件系统移植过程中还是遇到SD_DMAEndOfTransferStatus函数返回RESET的问题,导致rt_hw_sd_card_init函数在调用过程中调用到了SD_WaitReadOperation函数无法返回,从而使得系统运行停止在该函数中,这个问题怎么解决? 另外我将SD_WaitReadOperation函数注释掉之后,系统的SD_ReadBlock函数返回SD_CMD_RSP_TIMEOUT导致系统SD卡未能读写,不知道应该如何修改该代码使其FatFS正常运行?
撰写答案
登录
注册新账号
关注者
0
被浏览
4.5k
关于作者
whtiea
这家伙很懒,什么也没写!
提问
30
回答
73
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
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
【NXP-MCXA153】 定时器驱动移植
2
GD32F450 看门狗驱动适配
3
【NXP-MCXA153】看门狗驱动移植
4
RT-Thread Studio V2.2.9 Release Note
5
CherryUSB的bootuf2配置
热门标签
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在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
18
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
9
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部