我是靠谱客的博主 淡淡水蜜桃,最近开发中收集的这篇文章主要介绍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代码

#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文件

#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:在W25Q128上搭载文件系统前言一、开启SPI总线二、在Flash上搭载文件系统三、创建和挂载总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部