玩转RT-Thread系列教程(10)--文件系统使用

16 篇文章 6 订阅
14 篇文章 6 订阅

玩转RT-Thread系列教程(10)–文件系统使用

一、文件系统介绍

RT-Thread的文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型 ,是一种用于向用户提供底层数据访问的机制。

RT-Thread DFS 组件的主要功能特点有:

  • 为应用程序提供统一的 POSIX 文件和目录操作接口:read、write、poll/select 等。
  • 支持多种类型的文件系统,如 FatFS、RomFS、DevFS 等,并提供普通文件、设备文件、网络文件描述符的管理。
  • 支持多种类型的存储设备,如 SD Card、SPI Flash、Nand Flash 等。

RT-Thread官方文档

更多关于RTT文件系统可以查看RTT官方文档

二、文件系统的配置

2.1、打开cubemx配置

在这里插入图片描述

2.2、使用env使能SD设备+文件系统

menuconfig

2.3、生成mdk工程

三、文件系统使用

3.1、下载验证

可以看到,RTT组件已经为我们自动的识别出了SD设备

3.2、编写挂载代码
3.2.1、添加FileSyetem.c文件

3.2.2、在FileSyetem编写业务逻辑

具体代码:

#include "FileSystem.h"

//SD卡挂完成的信号量
static rt_sem_t SD_CardFinsh_mutex = RT_NULL;
static rt_thread_t thread_filesystem;

static void MountSDcard(void)
{
    rt_device_t dev;

    while (1)
    {
        dev = rt_device_find("sd0");

        if (dev != RT_NULL)
        {
            if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK)
            {
                rt_kprintf("SD mount to / success\n");
                //释放SD_CardFinsh_mutex信号量
                rt_sem_release(SD_CardFinsh_mutex);
            }
            else
            {
                rt_kprintf("SD mount to / failed\n");
            }
            break;
        }
        rt_thread_delay(50);
    }
}

void FlieSystem_entry(void *parameter)
{
    static rt_err_t result;

    MountSDcard();

    while (1)
    {
        /* 永久方式等待信号量*/
        result = rt_sem_take(SD_CardFinsh_mutex, RT_WAITING_FOREVER);

        if (result != RT_EOK)
        {
            rt_kprintf("t2 take a SD_CardFinsh_mutex semaphore, failed.\n");
            rt_sem_delete(SD_CardFinsh_mutex);
            return;
        }
        else
        {
            rt_sem_delete(SD_CardFinsh_mutex);
            return;
        }
    }
}

static int FileSystemInit(void)
{
    /* 创建一个信号量 */
    SD_CardFinsh_mutex = rt_sem_create("SDCard_mutex", 0, RT_IPC_FLAG_FIFO);

    //创建sd线程
    thread_filesystem = rt_thread_create("file_sys", FlieSystem_entry, RT_NULL, 2048, 20, 10);

    if (thread_filesystem != RT_NULL)
    {
        rt_thread_startup(thread_filesystem);
    }
}

INIT_APP_EXPORT(FileSystemInit);
3.3、编译、下载、验证
FinSH 命令描述
ls显示文件和目录的信息
cd进入指定目录
cp复制文件
rm删除文件或目录
mv将文件移动位置或改名
echo将指定内容写入指定文件,当文件存在时,就写入该文件,当文件不存在时就新创建一个文件并写入
cat展示文件的内容
pwd打印出当前目录地址
mkdir创建文件夹
mkfs格式化文件系统

可以看见SD卡挂载成功,下一次我们要利用RTT的文件系统存储一些数据等等

### 回答1: RT-Thread Studio是一个基于Eclipse的集成开发环境,用于开发和调试RT-Thread实时操作系统。以下是RT-Thread Studio的安装教程: 1. 下载RT-Thread Studio安装包,可以从RT-Thread官网下载。 2. 解压安装包,双击“rt-thread-studio.exe”文件,开始安装。 3. 选择安装路径,点击“下一步”。 4. 选择安装组件,建议选择全部组件,点击“下一步”。 5. 选择安装类型,建议选择“完全安装”,点击“下一步”。 6. 等待安装完成,点击“完成”。 7. 打开RT-Thread Studio,选择“新建项目”。 8. 选择“RT-Thread Project”,输入项目名称和路径,点击“下一步”。 9. 选择开发板类型和芯片型号,点击“下一步”。 10. 配置项目选项,包括内核选项、驱动选项、文件系统选项等,点击“下一步”。 11. 点击“完成”,项目创建成功。 12. 编写代码,进行编译、下载和调试。 以上就是RT-Thread Studio的安装教程,希望对您有所帮助。 ### 回答2: rt-thread studio是一款全新的开发工具,旨在为嵌入式开发者提供一个可视化、简化、高效的开发环境。它集成了rt-thread实时操作系统、MDK-ARM编译器、工程管理、代码生成、调试支持等功能,使得开发者可以在一个工具中完成从工程代码编写到调试的全部流程。 首先,我们需要下载rt-thread studio的安装包。在rt-thread官网(https://www.rt-thread.org/)的下载页面中,可以找到rt-thread studio的安装包。我们可以根据自己的操作系统选择相应的版本进行下载。 完成下载后,我们需要进行安装。具体步骤如下: Step 1:运行安装程序 双击rt-thread studio的安装包,运行安装程序。接着,我们需要选择安装路径和安装组件。一般情况下,我们不需要修改默认的安装路径和组件。 Step 2:选择安装组件 在安装组件的界面中,我们可以选择需要安装的组件。如果我们仅仅需要rt-thread studio的开发环境,可以只选择“rt-thread studio”组件;如果我们需要在rt-thread studio中直接使用Keil MDK-ARM来进行编译和调试,可以选择“Keil MDK-ARM插件”组件。当然,我们也可以选择安装全部组件。 Step 3:安装 在选择完安装组件后,我们可以开始安装了。单击“安装”按钮后,安装程序会开始复制文件并进行必要的配置。整个安装过程可能需要一些时间,取决于计算机的性能和选择的安装组件数量。 Step 4:完成安装 等待安装程序完成所有的文件复制和配置后,安装程序会自动退出。此时,我们就已经完成了rt-thread studio的安装。 总的来说,rt-thread studio的安装过程非常简单,只需要遵循上述步骤即可完成。安装完毕后,就可以开始在rt-thread studio中进行rt-thread实时操作系统的开发了。 ### 回答3: RT-Thread Studio 是一款开源的嵌入式开发工具,它包含了各种编程语言和编辑器,可用于嵌入式软件开发和编译。本教程将介绍 RT-Thread Studio的安装步骤。 步骤 1:下载 RT-Thread Studio 软件包 在RT-Thread Studio官网上下载所需的 RT-Thread Studio 软件包,最新版为 RT-Thread Studio 3.1.3,选择与自己的操作系统相对应的版本下载。 步骤 2:解压软件包 下载完成后打开压缩包,将其中的文件解压到一个文件夹中。 步骤 3:运行 RT-Thread Studio 在文件夹内找到 RT-Thread Studio 的可执行文件,并运行。如果是第一次运行 RT-Thread Studio,软件会自动提示需要安装JDK和工具链,按照提示进行安装即可。 步骤 4:创建新项目 打开软件后,进入新建项目界面,选择所需的项目类型,填写项目名称和存储路径,点击创建即可。 步骤 5:编写代码 在新建项目后,就可以开始编写代码了。使用 RT-Thread Studio 内置的编辑器可以编写 C、C++、Python 等语言的代码,并可进行语法高亮、自动补全等操作。 步骤 6:编译项目 完成代码编写后,可以进行编译操作。点击菜单栏中的“编译”,RT-Thread Studio 会自动将代码编译为可执行文件,然后生成相应的 .map、.bin 等文件。 步骤 7:下载程序 下载程序到设备中可以使用USB下载器或者JTAG下载器,然后将设备连接到电脑上,选择下载及调试选项,RT-Thread Studio 就可以将程序下载到设备中了。 总结: 以上就是 RT-Thread Studio 的安装教程,相信通过本教程的介绍,大家对 RT-Thread Studio 的基本操作都有了一定的了解。它是一款十分实用和易用的嵌入式开发工具,适合用于各类嵌入式软件开发和编译。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值