备注

当前文档对应的版本为 ESP-IDF v5.5.0

Spiffs 示例

[English]

示例说明

本示例展示如何在 ESP32 上初始化并配置 NVS,对单个整数值或字符串值进行读写操作,并检测操作结果是否成功。通过该示例,开发者可以学习 NVS 的初始化流程、基本读写方法及结果验证方式。

运行方法

示例完整代码见 spiffs 示例。运行前的项目构建及烧录步骤详见示例目录下的 README.md 文件。

头文件说明

本示例所使用的头文件涵盖了标准库、FreeRTOS、系统控制与日志、以及 NVS 存储等功能模块,构建了任务调度、系统运行管理、调试信息输出和非易失性数据读写的核心功能,为应用的运行与持久化存储提供完整支撑。

各头文件按功能分类如下:

  1. 标准库功能:提供常见的输入输出、字符串与内存操作等基础功能,用于文件 I/O 和数据处理。

#include <stdio.h>
#include <string.h>
  1. 错误处理与日志:用于错误码定义和运行时日志输出,便于调试和问题定位。

#include "esp_err.h"
#include "esp_log.h"
  1. POSIX/系统调用:提供类似 Unix/Linux 的文件和系统调用支持,例如文件读写、文件状态查询、目录操作等。

#include <sys/unistd.h>
#include <sys/stat.h>
  1. Spiffs 文件系统:提供 Spiffs 文件系统的接口,用于在 ESP32 的 Flash 上挂载和管理文件系统。

#include "esp_spiffs.h"

主函数说明

该函数作为程序入口,演示了在 ESP32 上使用 Spiffs 进行初始化、读写、重命名和删除操作的完整流程。通过此示例,开发者可以学习 Spiffs 的初始化以及文件操作方法。

以下为函数的主要实现步骤,鉴于大部分流程已在 通用步骤 中详细介绍,可查看文档中 Spiffs 通用步骤 小节的对应标题。对于重复内容此处不再赘述,仅重点说明本示例中的关键实现与差异部分。

  1. 挂载与初始化

  • 示例配置将 Spiffs 挂载到 /spiffs 路径,使用默认分区,最多同时打开 5 个文件,并在挂载失败时自动格式化分区。

  • 完成初始化和挂载后通过返回值判断挂载状态,并打印相应日志。

  1. 校验和分区信息检查

  • 命名空间为 "storage"

  1. 文件操作

  • 创建文件并写入

  • 检查文件并重命名

  • 读取文件

  • 处理并打印读取内容

  1. 卸载文件系统