【STM32H750】玩转ART-Pi(四)——添加文件系统

发布于 2020-11-30 09:57:45

目录

【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的分区及目录结构:
当前开发板 SPI Flash 容量为 16MB,分区结构如下:

名称内部名称起始地址长度文件系统格式
WIFI固件wifi_image0x000000000x00080000-
蓝牙固件bt_image0x000800000x00080000-
升级文件download0x001000000x00200000-
easyflasheasyflash0x003000000x00100000-
文件系统filesystem0x004000000x00c00000littlefs

文件系统目录如下:
在这里插入图片描述

创建文件系统

  1. 新建一个art-pi工程

在这里插入图片描述

  1. 打开SDCARD和SPI FLASH filesystem

在这里插入图片描述

  1. 配置虚拟文件系统

在这里插入图片描述

  1. 打开littlefs软件包

在这里插入图片描述

  1. 打开MTD NorFlash设备驱动

在这里插入图片描述

  1. 编辑filesystem.c代码

rt_flash_init的初始化原本是放到了OTA库的rtota_update.c里。由于本节教程不介绍OTA,所有暂时把rt_flash_init复制到filesystem.c。
在这里插入图片描述

  1. 编译下载

在这里插入图片描述
关注公众号,后续有精彩内容会第一时间发送给您!
在这里插入图片描述

0 条评论

发布
问题