- fixed identification of blob parts to be cleaned by using right starting chunk index
- improved localisation of blobs for cases where some of pages get reclaimed
- created host test cases covering the edge cases above
- The findItem method was improved to use a hash list in RAM when searching for BLOB data chunks
- The findItem method was extended with a parameter that returns the position of an item on the page,
if it is found
- The algorithm for matching existing variable-length data (such as strings and BLOBs) with
new values was enhanced by comparing the CRC32 of the data chunks before reading the data from flash
nvs_tool.py did not provide the minimal output support which outputs
the only necessary data.
nvs_tool.py minimal text ouptut, the deliminators were not handled
in the output
Closes https://github.com/espressif/esp-idf/issues/15274
Write only till the embedded file size in the NVS partition. Earlier
the length was kept as the whole partition size and it could result
in accessing embedded rodata beyond the MMU mapped range.
Global.h defines U8, I8, U16, etc. symbols, which are also used in NVS
as a part of custom enum class and this can cause a compilation error
during macro expansion, when sysview is enabled and FreeRTOS.h is included in NVS
* Users can now use libbsd string.h and sys/cdefs.h functionality
(e.g., strlcpy, containerof) on Linux by just including
string.h or sys/cdefs.h. In other words, the includes are the same
on the Linux target as well as on chips targets (ESP32, etc.).
* libbsd linking is done by the linux component (belongs to common
components) now instead of handling it separately in each component
Wrong condition gating the hash map use causing performance degradation was corrected
The condition enabling use of hash map when page is searched for Item was modified
to correct the bug introduced by commit addressing delete of any BLOB_INDEX Items.
This correction returns the performance of findItem to the state before previous change.
fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package
Closes IDF-8147 and IDF-1958
See merge request espressif/esp-idf!26758
- This change will introduce a breaking change for SoCs with the HMAC
peripheral. Turning on flash encryption will no longer enable NVS
encryption automatically.
Closes https://github.com/espressif/esp-idf/issues/12549