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
    STM32应用文件系统--W25Q256(RTT系统)_第1张图片
    如果需要创建的文件夹名字较长(超过8字符),还需要进入到 elm-chan’s FatFs, Generic FAT Filesystem Module 选项中修改关于长文件名支持的选项,修改方式如下图所示:

STM32应用文件系统--W25Q256(RTT系统)_第2张图片
设置文件系统扇区大小,设置的值需要根据存储器件手册确定,不能小于存储器件的最小可擦除扇区。
STM32应用文件系统--W25Q256(RTT系统)_第3张图片
2. 在 menuconfig 中开启 libc ,RT-Thread 已经将 libc 文件系统接口对接到 DSF 上了,在 env 工具中开启 libc 即可使用libc功能
STM32应用文件系统--W25Q256(RTT系统)_第4张图片

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

#include 

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可查看是否成功:
STM32应用文件系统--W25Q256(RTT系统)_第8张图片
成功后就可以进行文件操作了,例如:
STM32应用文件系统--W25Q256(RTT系统)_第9张图片
这样就实现了基本的文件操作,和官网介绍差不太多,主要学习记录使用。

你可能感兴趣的:(RT-thread,RT-Thread移植,stm32)