]> granicus.if.org Git - esp-idf/commit
nvs-flash: Support for blobs larger than half of SPI Flash sector size
authorSagar Bijwe <sagar@espressif.com>
Mon, 2 Apr 2018 10:44:59 +0000 (16:14 +0530)
committerSagar Bijwe <sagar@espressif.com>
Thu, 19 Jul 2018 18:43:15 +0000 (00:13 +0530)
commit5a27a6354165bfc97811677930d25f1596845478
tree12246962a39507928ee30104c07bb23ae393c8a8
parent8809fabcd5b40076e0acbc4fd7df64240dfb77ab
nvs-flash: Support for blobs larger than half of SPI Flash sector size

This change removes the earlier limitation of 1984 bytes for storing data-blobs.
Blobs larger than the sector size are split and stored on multiple sectors.
For this purpose, two new datatypes (multi-page index and multi-page data) are
added for entries stored in the sectors. The underlying read, write, erase and find
operations are modified to support these large blobs. The change is transparent
to users of the library and no special APIs need to be used to store these large
blobs.
16 files changed:
components/nvs_flash/README.rst
components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py
components/nvs_flash/nvs_partition_generator/part_old_blob_format.bin [new file with mode: 0644]
components/nvs_flash/nvs_partition_generator/testdata/sample.bin
components/nvs_flash/src/intrusive_list.h
components/nvs_flash/src/nvs_page.cpp
components/nvs_flash/src/nvs_page.hpp
components/nvs_flash/src/nvs_pagemanager.cpp
components/nvs_flash/src/nvs_pagemanager.hpp
components/nvs_flash/src/nvs_storage.cpp
components/nvs_flash/src/nvs_storage.hpp
components/nvs_flash/src/nvs_types.cpp
components/nvs_flash/src/nvs_types.hpp
components/nvs_flash/test/test_nvs.c
components/nvs_flash/test_nvs_host/spi_flash_emulation.h
components/nvs_flash/test_nvs_host/test_nvs.cpp