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可查看是否成功:
在這裏插入圖片描述
成功後就可以進行文件操作了,例如:
在這裏插入圖片描述
這樣就實現了基本的文件操作,和官網介紹差不太多,主要學習記錄使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章