目录
【STM32H750】玩转ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程
【STM32H750】玩转ART-Pi(二)——制作MDK的外部QSPI-FLASH烧录算法
【STM32H750】玩转ART-Pi(三)——如何在ART-PI上创建TouchGFX工程
【STM32H750】玩转ART-Pi(四)——添加文件系统
【STM32H750】玩转ART-Pi(五)——添加网络功能
【STM32H750】玩转ART-Pi(六)——添加FTP服务器
【STM32H750】玩转ART-Pi(七)——TouchGFX从文件系统中读取图片
【STM32H750】玩转ART-Pi(八)——添加动态模块
实验平台:
硬件: RT-Thread官方ART-PI H750开发版,sd卡
软件: RT-Thread Studio 1.1.5
联系作者:
加我微信,备注“加群”,加入技术交流群
在ART-PI中使用文件系统
建议首先回顾一下在rtthread系统上使用文件系统的原理篇:RT-Thread进阶笔记之虚拟文件系统。
本次在ART-PI上实战的文件系统有三种,分别是:RomFS文件系统、elm-FAT文件系统、littlefs文件系统。
RomFS文件系统: RomFS是在嵌入式设备上常用的一种文件系统,具备体积小,可靠性高,读取速度快等优点,常用来作为系统初始文件系统。但也具有其局限性,RomFS是一种只读文件系统。
本次实验把RomFS当作初始文件系统挂载在根目录,在RomFS里创建几个目录,用于elm-FAT文件系统和littlefs文件系统的挂载点。
elm-FAT文件系统: FatFs 是一个通用的文件系统(FAT/exFAT)模块,用于在小型嵌入式系统中实现FAT文件系统。
本次实验的sd卡使用的就是此文件系统。
littlefs文件系统: littlefs 是 ARM 官方推出的,专为嵌入式系统设计的文件系统,相比传统的文件系统,littlefs 具有自带擦写均衡、支持掉电保护、占用的 RAM/ROM 少的优点。
本次实验的norflash使用的就是此文件系统。
层级关系如下图所示:
ART-PI的分区及目录结构:
ART-Pi 除了配备一颗 W25Q64JV 用于存放程序外,同时配备了另一颗 W25Q128JV 用于存放 WIFI 固件,蓝牙固件,等其它数据.官方建议这颗 W25Q128JV 的空间划分如下:
分区名 | 起始地址 | 分区大小 | 用途说明 |
---|---|---|---|
wifi_image | 0 | 512KB | 保存 wifi 固件 |
bt_image | 512 * 1024 | 512KB | 保存 bt 固件 |
download | 1 * 1024 * 1024 | 2048KB | 固件下载分区 |
easyflash | 3 * 1024 * 1024 | 1024KB | easyflash 参数保存区 |
filesystem | 4 * 1024 * 1024 | 12MB | 文件系统分区 |
文件系统目录如下:
创建文件系统
- 新建一个art-pi工程
- 打开SDCARD和SPI FLASH filesystem
- 配置虚拟文件系统
- 打开littlefs软件包
- 打开MTD NorFlash设备驱动
- 编辑filesystem.c代码
rt_flash_init的初始化原本是放到了OTA库的rtota_update.c里。由于本节教程不介绍OTA,所有暂时把rt_flash_init复制到filesystem.c。
- 编译下载
关注公众号,后续有精彩内容会第一时间发送给您!