这篇文章将讲解如何使用RT-Thread Studio 开发工具操作文件系统,大概分为3篇。

第一篇:SPI Flash使用文件系统

第二篇:SD卡使用文件系统

第三篇:SPI flash和SD卡同时使用文件系统

(快捷键 alt+/ 自动补全API参数)

首先了解一下RT-Thread Studio,RT-Thread Studio是基于 eclipse 平台开发,界面设计和风格继承自 eclipse。

RT-Thread Studio 主要包括工程创建和管理,代码编辑,SDK管理,RT-Thread配置,构建配置,调试配置,程序下载和调试等功能,结合图形化配置系统以及软件包和组件资源,减少重复工作,提高开发效率。

  •  社区版本永久免费
  •  支持主流C/C++语言开发
  •  强大的代码编辑和重构功能
  •  SDK管理器支持在线下载更新 RT-Thread 最新源码包
  •  简单易用的工程创建向导,快速验证原型
  •  全新图形化配置系统,同时支持架构图和树形图配置
  •  软件包市场提供丰富的可用软件包资源
  •  丰富的调试功能,快速查看和跟踪定位代码问题


硬件平台:正点原子STM32F407开发板

外设使用W25Q128,其原理图如下:

android sp 默认处处位置_android sp 默认处处位置

android sp 默认处处位置_visual studio打开.h文件_02

android sp 默认处处位置_bin文件编辑_03

W25Q128使用的引脚有F_CS(PB14)、SPI1_SCK(PB3)、SPI1_MISO(PB4)、SPI1_MOSI(PB5)。

打开RT-Thread Studio软件,新建工程

android sp 默认处处位置_bin文件编辑_04

修改芯片时钟配置函数void system_clock_config(int target_freq_mhz),修改如下

android sp 默认处处位置_android sp 默认处处位置_05

修改board.h中的晶振时钟定义

android sp 默认处处位置_visual studio打开.h文件_06

至此时钟修改完毕,使用外部晶振时钟8Mhz,系统时钟为168Mhz,APB1外设之中42Mhz,APB2外设之中84Mhz。

RT-Thread中DFS(虚拟文件系统)组件,全称为 Device File System,即设备虚拟文件系统,文件系统的名称使用类似 UNIX 文件、文件夹的风格,目录结构如下图所示:

android sp 默认处处位置_bin文件如何编辑_07

在 RT-Thread DFS 中,文件系统有统一的根目录,使用 / 来表示。而在根目录下的 f1.bin 文件则使用 /f1.bin 来表示,2018 目录下的 f1.bin 目录则使用 /data/2018/f1.bin 来表示。即目录的分割符号是 /,这与 UNIX/Linux 完全相同,与 Windows 则不相同(Windows 操作系统上使用 \ 来作为目录的分割符)。

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

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

DFS 的层次架构如下图所示,主要分为 POSIX 接口层、虚拟文件系统层和设备抽象层。

android sp 默认处处位置_bin文件编辑_08

文件系统的初始化过程一般分为以下几个步骤:

  1. 初始化 DFS 组件。
  2. 初始化具体类型的文件系统。
  3. 在存储器上创建块设备。
  4. 格式化块设备。
  5. 挂载块设备到 DFS 目录中。
  6. 当文件系统不再使用,可以将它卸载。

根据官方文档我们配置RT-Thread Studio的settings,如下图

android sp 默认处处位置_bin文件编辑_09

在setting中打开以下组件和驱动框架

android sp 默认处处位置_visual studio打开.h文件_10

右键Fatfs,选择详细配置,设置如下

android sp 默认处处位置_visual studio打开.h文件_11

保存配置,系统自动下载更新对应的组件包,如下

android sp 默认处处位置_visual studio打开.h文件_12

W25Q128底层编写

根据文档完成以下几步配置,STEP1上面以配置完成

android sp 默认处处位置_android sp 默认处处位置_13

配置STEP3和STEP4

android sp 默认处处位置_bin文件编辑_14

android sp 默认处处位置_bin文件如何编辑_15

编译查看结果

android sp 默认处处位置_bin文件编辑_16

spi1总线设备已注册。

在spi1总线上挂载W25Q128块设备。

程序编写如下

android sp 默认处处位置_android sp 默认处处位置_17

android sp 默认处处位置_visual studio打开.h文件_18

android sp 默认处处位置_bin文件编辑_19

编译下载,查看信息

android sp 默认处处位置_android sp 默认处处位置_20

android sp 默认处处位置_bin文件编辑_21

W25Q128注册成功块设备。

挂载文件系统到根目录,代码如下

android sp 默认处处位置_visual studio打开.h文件_22

编译下载,查看信息

android sp 默认处处位置_visual studio打开.h文件_23

文件系统挂载成功后就可以进行文件和目录的操作了,文件系统操作常用的 FinSH 命令如下表所示:

FinSH 命令

描述

ls

显示文件和目录的信息

cd

进入指定目录

cp

复制文件

rm

删除文件或目录

mv

将文件移动位置或改名

echo

将指定内容写入指定文件,当文件存在时,就写入该文件,当文件不存在时就新创建一个文件并写入

cat

展示文件的内容

pwd

打印出当前目录地址

mkdir

创建文件夹

mkfs

格式化文件系统

测试如下

android sp 默认处处位置_visual studio打开.h文件_24