ESP32 SPIFFS管理工具—spiffsgen.py

本文详细介绍如何使用乐鑫官方的spiffsgen.py工具生成ESP32的SPIFFS系统.bin文件,并配合esptool.py烧录,提升开发效率。还讨论了与其他工具的比较及在资源有限的嵌入式开发中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP32 SPIFFS管理工具—spiffsgen.py

本文将介绍基于ESP32的SPIFFS文件系统制作工具的使用,以及烧录上传至开发板流程。

什么是SPIFFS

  • SPIFFS是一种专门为像ESP32/8266这种嵌入式设备而开发的微型文件系统,SPIFFS是设置在Flash中的一块空间,可以用来存放如网页、图片等体积小的静态资源,而无需采用存储于外部SD卡的方式。
  • SPIFFS中的数据不会因为断电而丢失

如何操作SPIFFS

完事了?还没有

每次通过程序代码去保存和修改文件也太麻烦了,因此有无像FlieZilla这样的工具,可以直接向开发板中传文件呢?

Arduino插件解决方案—ESP32 Sketch Data Upload

安装方式:
  • https://github.com/me-no-dev/arduino-esp32fs-plugin
  • 去release下载压缩包ESP32FS-1.0.zip
  • 具体安装方法请参考Readme 这里仅大概介绍安装方式
  • 安装路径:
    • windows: <home_dir>/Arduino/tools/ESP32FS/tool/esp32fs.jar
    • Macos : ~/Documents/Arduino/ESP32FS/tool/esp32fs.jar
  • 没有路径请新建文件夹!!
    在这里插入图片描述
使用方式
  • 创建一个空的工程.ino文件
  • 在当前项目文件夹内创建data目录,存放用于上传的文件
  • 开始上传,点击工具—>ESP32 Sketch Data Upload即可上传
  • **注意:**如下图所示可以选择SPIFFS的空间大小
    在这里插入图片描述
评价
  • 个人感觉这个工具很方便,但是不满足我的要求
  • 对于单片机这样资源紧张的开发环境,当然要对每一部分的空间进行精确的定义
  • 然而Arduino的这个插件却做不到

乐鑫官方解决方案—spiffsgen.py

两步走
  • 首先使用spiffsgen.py工具生成SPIFFS系统.bin文件
  • 然后使用esptool.py官方烧录工具进行上传
下面说说我的操作
  • 新建了一个文件夹spiffs_dir用于存放所有文件

  • 执行如下命令生成bin文件

    python C:\Users\18037\Downloads\esp-idf-4.2\components\spiffs\spiffsgen.py 0x40000 spiffs_dir spiffs.bin

    • python spiffsgen.py A B C
    • 其中A是SPIFFS系统的空间大小,使用十六进制
    • B是文件夹
    • C是生成的bin文件名称

在这里插入图片描述

  • 然后进行上传,确认开发板已连接电脑

    python C:\Users\18037\Downloads\esptool-master\esptool.py --chip esp32 --port COM4 --baud 115200 write_flash -z 0x360000 spiffs.bin

    • 主要修改write_flash -z 0x360000 spiffs.bin这一部分
    • 0x360000是文件系统的偏移量
    • spiffs.bin是要烧录的文件
  • 关于0x360000是文件系统的偏移量这句话

  • 强烈建立参考我之前的文章ESP32-Flash分区,基于PlatfromIO-Arduino
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值