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

目录

【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

联系作者:

加我微信,备注“加群”,加入技术交流群
【STM32H750】玩转ART-Pi(四)——添加文件系统_第1张图片

在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使用的就是此文件系统。

层级关系如下图所示:
【STM32H750】玩转ART-Pi(四)——添加文件系统_第2张图片

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 文件系统分区

文件系统目录如下:
【STM32H750】玩转ART-Pi(四)——添加文件系统_第3张图片

创建文件系统

  1. 新建一个art-pi工程
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第4张图片
  2. 打开SDCARD和SPI FLASH filesystem
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第5张图片
  3. 配置虚拟文件系统
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第6张图片
  4. 打开littlefs软件包
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第7张图片
  5. 打开MTD NorFlash设备驱动
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第8张图片
  6. 编辑filesystem.c代码
    rt_flash_init的初始化原本是放到了OTA库的rtota_update.c里。由于本节教程不介绍OTA,所有暂时把rt_flash_init复制到filesystem.c。
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第9张图片
  7. 编译下载
    【STM32H750】玩转ART-Pi(四)——添加文件系统_第10张图片
    关注公众号,后续有精彩内容会第一时间发送给您!
    在这里插入图片描述

你可能感兴趣的:(RT-Thread,ART-PI,ART-PI,文件系统,rtthread)