spiffs文件系统是挂载在哪个分区的

fishman
Posts: 13
Joined: Mon May 20, 2019 8:46 am

spiffs文件系统是挂载在哪个分区的

Postby fishman » Wed Jun 12, 2019 5:51 am

1、我需要把一些比较小的音频文件写到固件里,是直接在指定地址烧写,还是用程序下载后通过spiffs写进去?
2、系统重启后spiffs初始化完成还能找得到之前写的文件吗?

ESP_morris
Posts: 290
Joined: Wed Sep 05, 2018 6:23 am

Re: spiffs文件系统是挂载在哪个分区的

Postby ESP_morris » Wed Jun 12, 2019 8:04 am

建议是将音频文件打包成spiffs格式,IDF中已经集成了相关工具,简单来说分成以下几个步骤:
1. 你要在分区表中新建一个分区,取个名字,比如这里的www分区

Code: Select all

# Name,   Type, SubType, Offset,  Size, Flags
# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild
nvs,      data, nvs,     0x9000,  0x6000,
phy_init, data, phy,     0xf000,  0x1000,
factory,  app,  factory, 0x10000, 1M,
www,      data, spiffs,  ,        2M, 
2. 然后在CMakeLists文件中调用工具spiffs_create_partition_image,在该API中传入分区名,已经你的音频文件的路径

Code: Select all

spiffs_create_partition_image(www ${WEB_SRC_DIR}/dist FLASH_IN_PROJECT)
3. 代码中,想要读取音频文件,需要先挂载该分区,可以使用esp_vfs_spiffs_register
整个打包过程会在你编译应用程序的时候同步进行,音频文件也会在你烧写的时候一并烧录进spi flash中

具体可以参考这个example https://github.com/espressif/esp-idf/tr ... ful_server

以及文档 https://docs.espressif.com/projects/esp ... piffs.html

lanmanck
Posts: 2
Joined: Sun Nov 11, 2018 3:10 am

Re: spiffs文件系统是挂载在哪个分区的

Postby lanmanck » Fri Aug 23, 2019 10:34 am

nvs和spiffs是什么关系,他们分别挂到哪里?

fishman
Posts: 13
Joined: Mon May 20, 2019 8:46 am

Re: spiffs文件系统是挂载在哪个分区的

Postby fishman » Fri Aug 30, 2019 1:23 am

lanmanck wrote:
Fri Aug 23, 2019 10:34 am
nvs和spiffs是什么关系,他们分别挂到哪里?
他们都在FLASH上但没有关系,SPIFFS只是在FLASH上划出来一个分区用来模拟SD卡

lqzero
Posts: 14
Joined: Mon Jul 22, 2019 2:22 am

Re: spiffs文件系统是挂载在哪个分区的

Postby lqzero » Wed Sep 04, 2019 6:12 am

如果成功将音频文件烧写到spiflash中,程序中可以对这个音频文件进行写操作吗?

Who is online

Users browsing this forum: No registered users and 46 guests