备注
当前文档对应的版本为 ESP-IDF v5.5.0
Spiffs 示例
示例说明
本示例展示如何在 ESP32 上初始化并配置 NVS,对单个整数值或字符串值进行读写操作,并检测操作结果是否成功。通过该示例,开发者可以学习 NVS 的初始化流程、基本读写方法及结果验证方式。
运行方法
示例完整代码见 spiffs 示例。运行前的项目构建及烧录步骤详见示例目录下的 README.md 文件。
头文件说明
本示例所使用的头文件涵盖了标准库、FreeRTOS、系统控制与日志、以及 NVS 存储等功能模块,构建了任务调度、系统运行管理、调试信息输出和非易失性数据读写的核心功能,为应用的运行与持久化存储提供完整支撑。
各头文件按功能分类如下:
标准库功能:提供常见的输入输出、字符串与内存操作等基础功能,用于文件 I/O 和数据处理。
#include <stdio.h>
#include <string.h>
错误处理与日志:用于错误码定义和运行时日志输出,便于调试和问题定位。
#include "esp_err.h"
#include "esp_log.h"
POSIX/系统调用:提供类似 Unix/Linux 的文件和系统调用支持,例如文件读写、文件状态查询、目录操作等。
#include <sys/unistd.h>
#include <sys/stat.h>
Spiffs 文件系统:提供 Spiffs 文件系统的接口,用于在 ESP32 的 Flash 上挂载和管理文件系统。
#include "esp_spiffs.h"
主函数说明
该函数作为程序入口,演示了在 ESP32 上使用 Spiffs 进行初始化、读写、重命名和删除操作的完整流程。通过此示例,开发者可以学习 Spiffs 的初始化以及文件操作方法。
以下为函数的主要实现步骤,鉴于大部分流程已在 通用步骤 中详细介绍,可查看文档中 Spiffs 通用步骤 小节的对应标题。对于重复内容此处不再赘述,仅重点说明本示例中的关键实现与差异部分。
挂载与初始化
示例配置将 Spiffs 挂载到
/spiffs
路径,使用默认分区,最多同时打开 5 个文件,并在挂载失败时自动格式化分区。完成初始化和挂载后通过返回值判断挂载状态,并打印相应日志。
校验和分区信息检查
命名空间为
"storage"
。
创建文件并写入
检查文件并重命名
读取文件
处理并打印读取内容
卸载文件系统