关于SD卡挂载文件系统的问题(已解决)

发布于 2015-07-21 17:18:57

这几天一直在弄RTT的sd,之前在裸机程序下把SD卡的驱动移植了一遍,成功的挂载了FATFS,这几天想在RTT上挂载一个SD卡,使用的是官方的SDIO驱动程序,没做修改,同时还挂载了一个flash,但是SD一直mount不成功。这是我的文件初始化部分的代码。

        if (dfs_mount("flash0", "/", "elm", 0, 0) == 0)
        {
            rt_kprintf("flash0 mount to /.
");  
        }
        else
        {
            rt_kprintf("flash0 mount to / failed.
"); 
        }

        if(dfs_mount("sd0", "/sd", "elm", 0, 0) == 0)
        {
            rt_kprintf("SD mount to /sd. 
");
        }
        else
        {
            rt_kprintf("SD mount to /sd failed. 
");
        }

运行时出现这样的结果

finsh>>flash0 mount to /.
SD mount to /sd failed. 

查看挂载的设备,能够找到sd0-blockdevice

list_device()
device   type                 ref count
-------- -------------------- ----------
lcd      Graphic Device       0       
flash0   Block Device         1       
spi_flas SPI Device           0       
spi2     SPI Bus              0       
sd0      Block Device         0       
uart3    Character Device     0       
uart2    Character Device     0       
uart1    Character Device     2       
    0, 0x00000000

使用mkfs对sd0进行格式化也不成功。

finsh>>mkfs("elm","sd0")
sorry, there is no space to do mkfs! 
    -28, 0xffffffe4

我用的sd卡是金士顿8g的卡,官方的sdio驱动看说明应该是能支持8g的卡的啊,是不是还要修改代码。

查看更多

关注者
1
被浏览
3.3k
6 个回答
QUIZ
QUIZ 2019-11-08
请问你如何解决的,我也遇到相同问题?
Liuye
Liuye 2020-09-03

请问您是如何解决的呢

bernard
bernard 2015-07-21
你开始启动时,找到了SD上的分区吗?输出的信息是什么
huang7094748
huang7094748 2015-07-21
  | /
- RT - Thread Operating System
/ | 2.0.1 build Jul 14 2015
2006 - 2015 Copyright by rt-thread team
sd get card info success
CardType is: 2
CardCapacity is: -641728512
CardBlockSize is: 512
RCA is: 43690
sd select success
sd enable wide bus success

sd卡的信息没错误
aozima
aozima 2015-07-21
拒绝白嫖,拒绝键盘侠!

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览