玩转RT 您所在的位置:网站首页 自动挂载文件系统的配置文件有哪些 玩转RT

玩转RT

2024-07-13 11:29| 来源: 网络整理| 查看: 265

玩转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的文件系统存储一些数据等等



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有