STM32应用文件系统--W25Q256(RTT系统)

1. 在 meunconfig 中开启 DFS elmfatfs
2. 在 menuconfig 中开启 libc
3. meunconfig 中开启 SPI Flash
4. 将 W25Q128 注册成块设备
5. 文件系统的挂载

操作还是比较简单的:

  1. 在 meunconfig 中开启 DFS elmfatfs
    使用 Env 工具进入 rt-thread\bsp\stm32f429-apollo 目录,在命令行中输入 menuconfig 命令进入配置界面。
    在 menuconfig 配置界面依次选择 RT-Thread Components → Device virtual file syste
    在这里插入图片描述
    如果需要创建的文件夹名字较长(超过8字符),还需要进入到 elm-chan’s FatFs, Generic FAT Filesystem Module 选项中修改关于长文件名支持的选项,修改方式如下图所示:

在这里插入图片描述
设置文件系统扇区大小,设置的值需要根据存储器件手册确定,不能小于存储器件的最小可擦除扇区。
在这里插入图片描述
2. 在 menuconfig 中开启 libc ,RT-Thread 已经将 libc 文件系统接口对接到 DSF 上了,在 env 工具中开启 libc 即可使用libc功能
在这里插入图片描述

3.本次使用的存储设备为 SPI Flash需要在 meunconfig 中开启 SPI Flash:
在这里插入图片描述
在这里插入图片描述
有些板子的SPI Flash 使用的是 QSPI 接口,还需要打开QSPI 接口
4. 将 W25Q128 注册成块设备
elmfatfs 需要在块设备上才能进行文件操作。我们需要将 W25Q128 注册成块设备,才能使用 elmfatfs 进行文件操作。在上面的配置中rtt会根据名为 spi50 的 SPI Device 设备找到对应的 Flash 存储设备并
初始化 Flash 设备,在 Flash 存储设备上创建名为 W25Q256 的 Block Device。
将W25Q256注册成块
上述函数是将W25Q256注册成块。
5.将W25Q256挂载道elm上(函数需手动写)

#include <dfs_fs.h>

int mnt_init(void)
{
    rt_thread_delay(RT_TICK_PER_SECOND);


            if (dfs_mount("W25Q256", "/", "elm", 0, 0) == 0)
            {
                rt_kprintf("file system initialization done!\n");
            }
            else
            {
                rt_kprintf("file system initialization failed!\n");
            }
 
    return 0;
}
INIT_ENV_EXPORT(mnt_init);

此时输入list_device可查看是否成功:
在这里插入图片描述
成功后就可以进行文件操作了,例如:
在这里插入图片描述
这样就实现了基本的文件操作,和官网介绍差不太多,主要学习记录使用。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值