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

fishman
Posts: 2
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: 33
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

Who is online

Users browsing this forum: No registered users and 3 guests