ESP32 SPIFFS管理工具—spiffsgen.py
> 本文将介绍基于ESP32的SPIFFS文件系统制作工具的使用,以及烧录上传至开发板流程。
什么是SPIFFS
- SPIFFS是一种专门为像ESP32/8266这种嵌入式设备而开发的微型文件系统,SPIFFS是设置在Flash中的一块空间,可以用来存放如网页、图片等体积小的静态资源,而无需采用存储于外部SD卡的方式。
- SPIFFS中的数据不会因为断电而丢失
如何操作SPIFFS
- 在程序代码中可以通过
SPIFFS.begin()
挂在FFS分区,进行文件的读写操作 - 具体操作函数以及程序范例可以参考我之前的文章
- 传送门:ESP32-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是文件系统的偏移量这句话
参考文章:
https://blog.csdn.net/liahfdsaf/article/details/119062474
https://blog.csdn.net/liahfdsaf/article/details/119010732
相关文章
- Navicat Premium—多重连接数据库管理工具
- kong网关之界面化管理工具konga
- 常用的web漏洞扫描工具_十大常用管理工具
- linux安装远程桌面管理工具xrdp
- App Tamer for Mac(CPU优化电池管理工具永久版下载
- Redis可视化管理工具让你管理更简单(redis的图形化工具)
- 使用 MySQL 视图管理工具实现数据可视化(mysql视图管理工具)
- Navcat:完美的MySQL 数据库管理工具(navcatmysql)
- 管理工具使用Redis GUI管理工具轻松掌握缓存数据(redisgui)
- 使用MongoDB可视化管理工具简化你的数据管理(mongodb可视化管理工具)
- MySQL数据库优化:Mtop管理工具的使用(mysqlmtop)
- Linux脚本管理工具:提高工作效率的利器(linux脚本管理工具)
- 管理工具MySQL:全功能的数据库管理解决方案(mysql所有的数据库)
- Redis集群可视化一款强大的管理工具(redis集群可视化工具)