我是靠谱客的博主 淡淡水蜜桃,这篇文章主要介绍RT-Thread:在W25Q128上搭载文件系统前言一、开启SPI总线二、在Flash上搭载文件系统三、创建和挂载总结,现在分享给大家,希望可以做个参考。

文章目录

  • 前言
  • 一、开启SPI总线
  • 二、在Flash上搭载文件系统
  • 三、创建和挂载
  • 总结


前言

学习如何在片外Flash中搭载文件系统。

一、开启SPI总线

1、在env中开启连接片外Flash的SPI1总线
在这里插入图片描述
在这里插入图片描述
2、在Drivers文件夹中spi_flash_init.c文件中可以看到初始化SPI总线的挂在和块备初始化代码
在这里插入图片描述
3、打开mdk编译下载程序到开发板中,在串口助手中可以看到成功识别W25Q128信息
在这里插入图片描述
4、输入list_device可以查看到SPI总线、SPI设备、W25Q128块设备
在这里插入图片描述

二、在Flash上搭载文件系统

1、开启文件系统
在这里插入图片描述
2、配置文件系统一些参数,块大小和长文件名
在这里插入图片描述
3、开启对应的库
在这里插入图片描述
4、确保这些均打开,我这个版本已经是默认打开
在这里插入图片描述4、打开mdk新建一个.C和.H文件,编写挂在文件系统的代码,本人是新建w25qxx.c和w25qxx.h,路径为
在这里插入图片描述
.c代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "w25qxx.h" /******************************************************************************* * 函 数 名 : create_file_system * 输 入 : 空 * 输 出 : 空 * 函数功能 : 创建文件系统 * 详细描述 : 空 *******************************************************************************/ static void create_file_system(void) { /*格式化指定存储设备,并创建文件系统*/ if(dfs_mkfs("elm", "W25Q128") == RT_EOK) { rt_kprintf("create file system succeed!n"); } else { rt_kprintf("create file system failed!n"); } } /******************************************************************************* * 函 数 名 : w25q128_mount * 输 入 : 空 * 输 出 : 空 * 函数功能 : 挂载Flash * 详细描述 : 空 *******************************************************************************/ static void w25q128_mount(void) { /*查找Flash设备*/ if(rt_device_find("W25Q128") != RT_NULL) { /*挂载Flash*/ if(dfs_mount("W25Q128", "/", "elm", 0, 0) == 0) { rt_kprintf("spi_flash mount to spi!n"); } else { rt_kprintf("spi_flash mount to spi failed!n"); } } } MSH_CMD_EXPORT(create_file_system,create file system); MSH_CMD_EXPORT(w25q128_mount,w25q128 mount);

.h文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef __W25QXX_H #define __W25QXX_H #include <rtthread.h> #include "spi_flash.h" #include "spi_flash_sfud.h" #include "drv_spi.h" #include <dfs_elm.h> #include <dfs_fs.h> #include <dfs_posix.h> #endif

5、编译、下载和运行

三、创建和挂载

1、由于Flash先前没有文件系统,需要先格式化并创建文件系统,输入命令create_file_system
在这里插入图片描述
2、挂载Flash,输入w25q128_mount
在这里插入图片描述
3、输入ls列出当前文件,这个和普通的文件系统操作命令一样,我输入mkdir test创建一个test文件夹
在这里插入图片描述

总结

文件系统真香,躺尸...

最后

以上就是淡淡水蜜桃最近收集整理的关于RT-Thread:在W25Q128上搭载文件系统前言一、开启SPI总线二、在Flash上搭载文件系统三、创建和挂载总结的全部内容,更多相关RT-Thread内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部