Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SDIO总线
RT-Thread Studio
5
RT-hread 无法挂载SDIO
发布于 2020-07-07 18:01:53 浏览:3922
订阅该版
**现在使用RT THREAD挂载SDIO和FATFS,配置如下**         **但是始终没有出现如下图所示的SD0 挂载信息,请高手指点问题在哪里,谢谢。** 
查看更多
Aladdin-Wang
认证专家
2020-07-11
这家伙很懒,什么也没写!
流程看起来没什么问题,用的是别人家的开发板,还是自己的板子,如果是开发板看下手册上sd的使用说明,我记得野火家的开发板要把WIFI的电源关掉才能用,如果自己做的板子,检查一下电路
8
个回答
默认排序
按发布时间排序
lizhen9880
认证专家
2020-07-08
这家伙很懒,什么也没写!
## 问题分析 通过 SDIO 来驱动 SD Card 其实是不用我们做很多操作的,在 [block_dev.c](https://github.com/RT-Thread/rt-thread/blob/v4.0.2/components/drivers/sdio/block_dev.c#L460)(点击链接查看) 的rt_mmcsd_blk_probe中已经做了注册,默认名称是 "sd0" ,而rt_mmcsd_blk_probe是被init_sd调用的,init_sd被调用的条件是驱动探测到了SD卡(详见点击[mmcsd_detect.c](https://github.com/RT-Thread/rt-thread/blob/v4.0.2/components/drivers/sdio/mmcsd_core.c#L646))如下: ```c err = sdio_io_send_op_cond(host, 0, &ocr); if (!err) { if (init_sdio(host, ocr)) mmcsd_power_off(host); mmcsd_host_unlock(host); continue; } /* * detect SD card */ err = mmcsd_send_app_op_cond(host, 0, &ocr); if (!err) { if (init_sd(host, ocr)) mmcsd_power_off(host); mmcsd_host_unlock(host); rt_mb_send(&mmcsd_hotpluge_mb, (rt_uint32_t)host); continue; } ``` 如果探测到了,那么就执行sd初始化操作。 ## 解决方向 未找到 "sd0" 很可能是硬件故障,底层硬件配置有问题或sd卡没插,可向这几个方向查找。还可在上述几个关键节点设置断点进行debug,看一下到底是何原因导致了系统未走到注册那一步。 另外,附上 sdcard_port.c 供参考,可放置在 `./board/ports` 中 ```C /* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2018-12-13 balanceTWK add sdcard port file */ #include
#ifdef BSP_USING_SDCARD #include
#include
#include
#define DBG_TAG "app.card" #define DBG_LVL DBG_INFO #include
void sd_mount(void *parameter) { while (1) { rt_thread_mdelay(500); if(rt_device_find("sd0") != RT_NULL) { if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK) { LOG_I("sd card mount to '/'"); break; } else { LOG_W("sd card mount to '/' failed!"); } } } } int stm32_sdcard_mount(void) { rt_thread_t tid; tid = rt_thread_create("sd_mount", sd_mount, RT_NULL, 1024, RT_THREAD_PRIORITY_MAX - 2, 20); if (tid != RT_NULL) { rt_thread_startup(tid); } else { LOG_E("create sd_mount thread err!"); } return RT_EOK; } INIT_APP_EXPORT(stm32_sdcard_mount); #endif /* BSP_USING_SDCARD */ ```
tiantangii
2020-09-11
这家伙很懒,什么也没写!
遇到一样的问题,在drv_sdio.c里定义SDIO_USING_1_BIT后可以工作起来。 但还没有测试速度和稳定性,个人认为后面还是需要把4BIT模式调试好才行。
whj467467222
认证专家
2020-07-07
开源,分享,交流,共同进步
楼主你的终端已经显示 sd card mount to "/" 说明sd卡已经成功的挂在了文件系统,且挂载路径根目录
hanlin
2020-07-08
这家伙很懒,什么也没写!
那你自己设备启动时候的打印是啥呢。发出来看看呗
guanghui_8
2020-07-08
这家伙很懒,什么也没写!
```c #define SD_DEVICE_NAME "sd0" ```
X-Jing007
2020-07-08
这家伙很懒,什么也没写!
1. 排除下SD\TF卡硬件是否异常 2. 检查SD\TF卡引脚是否有正确设置 3. 检查board.c中SystemClock_Config()有没有设置SDMMC1外设时钟
basics
2023-08-15
这家伙很懒,什么也没写!
楼主,遇到过这种问题吗,list_device中能查询到sd0, 
撰写答案
登录
注册新账号
关注者
0
被浏览
3.9k
关于作者
guanghui_8
这家伙很懒,什么也没写!
提问
9
回答
12
被采纳
0
关注TA
发私信
相关问题
1
代码分享,stm32f407的sdio驱动。
2
求个在STM32F103 RTT上使用SDIO接口的例子
3
是否能增加一个 SDIO AP61xx 的驱动呢
4
sdio和fsmc驱动lcd冲突
5
发现了sdio_unregister_driver里的一个bug
6
用sdio框架驱动过w8801(wifi模块)的坛友请进(已解决)
7
关于rt-thread系统sdio驱动框架使用
8
问题请教,关于在rt-thread中调试RT1052中调试sdio wifi模块
9
【文件系统学习】+海中陆地+RT-Thread文件系统学习挂载SDIO...
10
sdio驱动是怎么使用的?也没有文档和例程啊
推荐文章
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
RT-thred的stm32h723对应bsp包CubeMX添加其他外设报错
2
RT-Thread中的time溢出问题,时间戳溢出,解决方法
3
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
4
SystemView线程名字不显示
5
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
9
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
xiaorui
3
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部