]> granicus.if.org Git - esp-idf/commit
nvs: Support for handling multiple NVS partitions
authorAmey Inamdar <amey.inamdar@gmail.com>
Mon, 21 Aug 2017 09:56:16 +0000 (15:26 +0530)
committerAmey Inamdar <amey.inamdar@gmail.com>
Tue, 22 Aug 2017 08:18:14 +0000 (13:48 +0530)
commita2dcf7faa8d4dff96440146103075e77413fd20a
tree1f3e7e956e4464b3a26577217d394b8b7450e921
parent3e4e4dd07ad7535483d81bb437d1a4c33532ccdb
nvs: Support for handling multiple NVS partitions

This commit adds support for multiple NVS partitions. This provides application a flexibility to have multiple NVS
partitions such as separate partition with read-only manufacturing data and read-write partition with configuration.
Application can also use this to separate out application's configuration storage from system configuration.

This feature does not change any of the basic property of NVS subsystem. The same-named namespaces across partitions are
considered to be different namespaces. The original NVS API available for the applications remains unchanged. The only
difference is that instead of first NVS partition in the partition table, it now operates on the partition with label
"nvs" (which is default in the IDF provided partition table files). Additional APIs are provided to open a handle and
erase NVS with partition name as a parameter.

A test case is added in the host tests and it is made sure that all the host tests pass. nvs_rw_value app is also tested
with multiple partitions.

Signed-off-by: Amey Inamdar <amey.inamdar@gmail.com>
components/nvs_flash/README.rst
components/nvs_flash/include/nvs.h
components/nvs_flash/include/nvs_flash.h
components/nvs_flash/src/nvs_api.cpp
components/nvs_flash/src/nvs_storage.hpp
components/nvs_flash/src/nvs_test_api.h
components/nvs_flash/test_nvs_host/test_nvs.cpp