什么是NVS?
非易失性存储(Non-Volatile Storage)简称NVS,是用来保存一些设备断电后不能丢失的数据,乐鑫的ESP32-S3芯片使用了一套NVS库函数对外置的SPI FLASH进行读、写、擦除等操作。
ESP-IDF通过分区表的方式,在外部SPI FLASH里面开辟一段存储空间(也称作NVS分区),专门提供给用户保存掉电不丢失的数据,ESP32芯片在启动的时候,会在终端控制台打印出NVS分区的信息,如下图所示。
从上述的分区表信息可知,ESP-IDF会为应用程序配置一个默认的NVS分区,这个默认的NVS分区适合用来存储一些较小的数据,如果开发者想在SPI FLASH里面存储一些较大的BLOB数据或者字符串,需要考虑使用基于磨损均衡库的FAT文件系统。