1. 在 meunconfig 中開啓 DFS elmfatfs
2. 在 menuconfig 中開啓 libc
3. meunconfig 中開啓 SPI Flash
4. 將 W25Q128 註冊成塊設備
5. 文件系統的掛載
操作還是比較簡單的:
- 在 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註冊成塊。
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可查看是否成功:
成功後就可以進行文件操作了,例如:
這樣就實現了基本的文件操作,和官網介紹差不太多,主要學習記錄使用。