RTThread SD卡 虚拟文件系统

该文详细介绍了如何在RTThread操作系统上配置STM32F407VET6芯片以挂载SD卡。首先通过CubeMX设置SDIO连接,然后在RTthread内核中配置DFS和虚拟文件系统,最后提供SD卡的初始化代码,包括格式化和挂载过程。在初始化时,代码会尝试多次挂载,若失败则可能进行格式化。
摘要由CSDN通过智能技术生成

目录

前言

一、CubeMX配置

二、Rtthread配置

 三、初始化代码

总结


前言

简单将SD卡挂载到RTthread系统,主控芯片STM32F407VET6


一、CubeMX配置

1、新建完工程后,打开CubeMX 进行配置

2.配置基本功能和时钟后,选择SDIO连接方式

3.此处配置时钟没啥用, RTThread在配置SD卡时钟时,默认获取的APB2的时钟。

[D/SDIO] init SD card failed!

二、Rtthread配置

1.安照drivers/board.h中SDIO功能配置步骤进行

 2.打开DFS FAT (使能虚拟文件系统)

 三、初始化代码

#include <rtthread.h>
#include <dfs_file.h>
//#include <dfs_posix.h> /* 当需要使用文件操作时,需要包含这个头文件 */
#include <string.h>

#define DEBUGSDCARD

void SDcardInit(void)
{
    unsigned char ucCount = 0;
    rt_thread_mdelay(200);
//    dfs_mkfs("elm", "sd0");     //开启存储卡格式化
    while(dfs_mount("sd0", "/", "elm", 0, 0))
    {
        ucCount++;
        if(ucCount == 3)
            dfs_mkfs("elm", "sd0");
        if(ucCount > 4)
        {
#ifdef DEBUGSDCARD
            rt_kprintf("dfs mount failed!\r\n");
#endif
            break;
        }
        rt_thread_mdelay(100);
    }
#ifdef DEBUGSDCARD
    if(ucCount <= 4)
        rt_kprintf("dfs mount sucess! restart = %d\r\n",ucCount >= 3 ? 1 : 0);
#endif
}

总结

简单介绍了SD卡在RTThread操作系统上的挂载

需要注意的是:SD卡初始化时是否需要格式化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值