Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Filesystem
RTT上SD卡加入ELM文件系统出的问题
发布于 2017-06-21 15:47:39 浏览:4880
订阅该版
1、STM32F207芯片,IAR编译环境,RTT 2.1.0版本 2、加入了程序目录和BSP下自带的SDIO.C文件,以及ELM的相关文件。 3、finsh下的输出如下: ``` | / - RT - Thread Operating System / | 2.1.0 build Jun 21 2017 2006 - 2017 Copyright by rt-thread team SD Card init OK File System initialzation failed! finsh>>``` 4、查阅搜索,需要finsh下输入mkfs("elm","sd0") 结果tshell挂掉了。挂掉后的信息如下: ```hard fault on thread: tshell thread pri status sp stack size max used left tick error ------ --- ------- ---------- ---------- ------ ---------- --- tidle 31 ready 0x0000005c 0x00000100 35% 0x00000009 000 tshell 20 ready 0x00000078 0x00000800 23% 0x00000006 000 usage fault: SCB_CFSR_UFSR:0x02 INVSTATE ``` 5、代码跟踪,文件系统的返回值是FR_NO_FILESYSTEM。 6、输入mkfs("elm","sd0")之后,程序走到time(RT_NULL);后死掉。 7、通过下断点,查看SDCardInfo,发现读出的结果都是正确的,比如容量=1000341504(1G的SD卡),BLOCKSIZE=512,RCA=45928,cardtype=1,应嘎是硬件驱动没有问题。 8、list_device()命令的回执是 ```device type ref count ------ -------------------- ---------- sd0 Block Device 0 uart1 Character Device 2 0, 0x00000000``` 9、我搜索了本论坛的相关帖子,百度了其他人的文章,没有找到适合的解决办法,也许了解的人的一句话比我闷头找几天还有效果,请不吝赐教。
查看更多
19
个回答
默认排序
按发布时间排序
jinggx
2017-06-21
这家伙很懒,什么也没写!
可以先尝试一下sd的读写是否正常。
bernard
2017-06-21
这家伙很懒,什么也没写!
你用的是github版本?把time(RT_NULL)屏蔽掉,看看情况怎么样
baalxin
2017-06-22
这家伙很懒,什么也没写!
谢谢两位的指点,我就先按照两位的方向尝试一下。两位的回复让我感觉解决问题很有希望,我用的是GitHub的版本。 我先屏蔽time(RT_NULL)试试,如果还是不行,我就先尝试下SD的读写,再次感谢两位的指点。
baalxin
2017-06-22
这家伙很懒,什么也没写!
出现time(RT_NULL)死掉的原因是,我定义了一个全局变量time[7],应该是与之冲突了,我去掉了这个变量的定义,现在程序一直停留在 while(SD_GetStatus() != SD_TRANSFER_OK);这个语句上,这个语句位于rt_sdcard_write 函数里,应该是这里出现的问题。进入到SD_GetStatus函数里,cardstate的返回值一直是SD_CARD_PROGRAMMING,
bernard
2017-06-22
这家伙很懒,什么也没写!
这招比较狠,time函数本身是编译器带的libc库带的,自己定义同名变量后,会导致冲掉libc里的符号,整体都乱套了
baalxin
2017-06-22
这家伙很懒,什么也没写!
没有规矩不成方圆,我终于也吃到了这个亏,但是现在问题依旧。。。。不敢盲目占用各位的时间,我先把自己能做的做好,然后再求教。
一个潘一个锐
2017-06-22
这家伙很懒,什么也没写!
这样定义居然能编译通过?理论上会有错误的
baalxin
2017-06-22
这家伙很懒,什么也没写!
1、首先排除硬件的原因,以前我是裸跑FATFS的,刚才测试了一下,是可以写入文本文件,读取文本文件的。 2、我比较了下SD接口程序,是一致的,唯一不同的是,咱们这个多了RT的设备操作程序。读写控制类的。 为了避免在出现这种情况,我重新下载了RTT的源码,用户代码都不加,就用这个例子工程,加入SD和ELM。
baalxin
2017-06-22
这家伙很懒,什么也没写!
>这样定义居然能编译通过?理论上会有错误的 --- 编译是通过的,理论上讲,一个是函数,一个是变量。吃亏是福,让我懂得了,下次不要定义time名变量。
baalxin
2017-06-22
这家伙很懒,什么也没写!
不是圆满的结尾,现在可以确认的是,应该是SD卡的类型问题,我采用的是ATP工业级的SD卡,1G容量。换成金士顿的8G商用级SD卡,程序正常。估计在这之中有些区别,我会继续查找问题,查找到原因我会及时回帖,算是给后面遇到同样问题的人一些启迪吧。谢谢版主,以及一些热心人的回复,是你们在我身边,让我感觉不是一个人在战斗,才会有耐心,有意志的继续查找问题。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.9k
关于作者
baalxin
这家伙很懒,什么也没写!
提问
3
回答
13
被采纳
0
关注TA
发私信
相关问题
1
字库除了SD卡和http还有别的方式导入吗
2
如何同时使用RTT文件系统于NAND Flash 和 SD卡,针对Realboard4088?
3
EasyFlash好棒
4
SD卡挂在的SPI总线又要加个DA设备
5
sd卡与flash 同时挂载 挂载路径shell怎么区分 访问
6
请教ramfs使用方法
7
rtt stable2.0.x版本 sd卡及文件系统
8
nandflash文件系统UFFS请教
9
关于SD卡挂载文件系统的问题(已解决)
10
Yaffs采用GPL2许可
推荐文章
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-Thread Studio V2.2.9 Release Note
2
CherryUSB的bootuf2配置
3
在用clangd开发RTT吗,快来试试如何简单获得清晰干净的工作区
4
GD32F450 片内 flash驱动适配
5
STM32H7R7运行CherryUSB
热门标签
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
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
15
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
7
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部