Commit Graph

376 Commits

Author SHA1 Message Date
radek.tandler
fab1e2ebd7 fix(nvs_flash): Fixed overwrite of V1 BLOB when legacy compatibility mode is in place 2025-10-21 11:10:47 +02:00
radek.tandler
58f98e9fb1 refactor(nvs_flash): Improved Blob performance
- 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
2025-10-21 11:10:47 +02:00
radek.tandler
e0b5b52492 fix(nvs): fixed erasing of old values if new data type is not the same
Closes https://github.com/espressif/esp-idf/issues/15559
2025-10-21 11:10:47 +02:00
Fu Hanxi
e97adbf002 ci: disable idf-ci plugin
this plugin will be re-enabled with compatible code in !38755
2025-06-04 13:18:40 +02:00
hrushikesh.bhosale
ad18796692 feat(nvs_tool): Test for print_minimal_json
Added the test for the print_minimal_json function
and setup_minimal_json function to setup the test.
2025-05-12 14:10:08 +02:00
hrushikesh.bhosale
b642feb67e fix(nvs_flash/nvs_tool): Fix nvs_tool.py to output required values
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
2025-05-12 14:00:31 +02:00
Adam Múdry
26bd3313aa feat: Add NVS generator check test for CRC of non-ASCII strings 2025-04-29 16:45:29 +02:00
Martin Vychodil
2b1150c223 Merge branch 'fix/nvs_tool_false_duplicate_warning_v5.3' into 'release/v5.3'
fix(nvs): nvs_tool.py refactor, reduce false duplicate warnings, add a test (v5.3)

See merge request espressif/esp-idf!33775
2025-04-23 22:14:44 +08:00
Adam Múdry
1d09158bb5 fix: test_nvs_gen_check.py support for read-only NVS partitions 2025-02-21 14:26:48 +01:00
Adam Múdry
14b8dc77a3 fix(nvs): Fix the nvs generator test (write_namespace safer behavior change) 2025-02-21 14:26:36 +01:00
Adam Múdry
9620508388 docs(nvs): Document nvs_check.py functions 2025-02-21 14:26:36 +01:00
Adam Múdry
1eacc6c2a8 feat(nvs): Add raw_data variable to NVS_Partition class in nvs_parser.py 2025-02-21 14:26:36 +01:00
radek.tandler
b4af220c1e fix(storage/nvs): Fixed failing test cases in example folder 2025-02-13 20:40:06 +01:00
radek.tandler
0f5073ea2c fix(ci): Removed storage related ignore warnings 2025-02-13 20:40:05 +01:00
radek.tandler
7668a321db fix(storage/nvs): Fixed hadling of inconsistent values in NVS entry header
feat(storage/nvs): Added test cases for damaged entries with correct CRC
2024-10-18 10:48:24 +02:00
Chen Jichang
84f024478c fix(ci): rerun pre-commit to fix readme files 2024-09-27 11:12:55 +08:00
Adam Múdry
eec8a3ab83 feat(nvs): Test nvs_partition_gen.py and nvs_check.py with pytest
Little fixes in nvs_check.py
2024-09-24 16:42:45 +02:00
Adam Múdry
a01257a976 fix(nvs): nvs_tool.py reduce false duplicate warnings 2024-09-24 10:02:11 +02:00
Adam Múdry
e0e131d246 refactor(nvs): nvs_tool.py integrity check refactor 2024-09-24 10:02:11 +02:00
harshal.patil
0c5bce6918 fix(bootloader_support): Make esp_flash_encrypt.h independent of spi_flash_mmap.h header 2024-05-20 14:40:49 +08:00
Mahavir Jain
f82fea4c1b fix(tests): correct the flash write length for NVS encrypted test
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.
2024-05-02 16:48:57 +05:30
Mahavir Jain
60ab9631d7 fix(tests): remove unused partition NVS bin file 2024-05-02 16:48:54 +05:30
Aditya Patwardhan
1366949c8a feat(docs): Add workflow for externally enabling NVS Encryption
Fix documentation for host based workflows for flash encryption and
    secure boot v2
2024-04-19 11:29:21 +05:30
Adam Múdry
8e43afef3b fix(nvs): Fix possible collision with app trace sysview defines
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
2024-04-12 13:46:51 +02:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Ivan Grokhotkov
10cc15b150 fix(storage): applied spelling fixes by codespell pre-commit hook 2024-03-28 13:00:54 +01:00
Jakob Hasse
f482a9153a Merge branch 'fix/add_libbsd_string_h' into 'master'
refactor(linux): Unified libbsd handling

See merge request espressif/esp-idf!29457
2024-03-21 10:11:25 +08:00
Jakob Hasse
4d629be602 refactor(linux): Unified libbsd handling
* 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
2024-03-08 12:26:54 +08:00
radek.tandler
508d9a6a22 fix(nvs): Fixed Page::findItem performance degradation
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.
2024-03-07 19:47:33 +01:00
radek.tandler
fc6951e193 fix(nvs): Improved lockig mechanism for initialization phase 2024-02-24 07:55:32 +01:00
radek.tandler
635e6b154e fix(nvs): eraseMultiPageBlob to robustly delete all related BLOB_DATA records and respect VER_ANY 2024-02-24 07:55:32 +01:00
radek.tandler
cad09ea461 fix(nvs): corrected findItem to return BLOB_DATA when chunkIndex = CHUNK_ANY 2024-02-24 07:55:22 +01:00
radek.tandler
d879ec5248 fix(nvs): added check and erase of mismatched BLOB_DATA on init 2024-02-22 15:15:10 +01:00
Ivan Grokhotkov
5b53fb07fb fix(nvs): prevent out of bounds write if blob data is inconsistent 2024-02-22 15:15:10 +01:00
Martin Vychodil
20f80a2d05 Merge branch 'feature/nvs_flash_add_test_apps_dependecies' into 'master'
feat(storage): add dependencies to storage related test apps

Closes IDF-8398, IDF-8397, and IDF-8835

See merge request espressif/esp-idf!27439
2024-01-04 03:29:05 +08:00
Adam Múdry
c0ea99220a Merge branch 'fix/move_nvs_partition_generator_to_pypi_package' into 'master'
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
2023-12-18 09:13:38 +08:00
Tomáš Rohlínek
c276c36dfe feat(storage/nvs_flash): add dependencies to nvs_flash test apps 2023-12-11 13:10:54 +01:00
radek.tandler
8740888967 feat(nvs_flash): Added function nvs_find_key
Closes https://github.com/espressif/esp-idf/issues/12155
2023-12-08 17:12:00 +01:00
Laukik Hase
ea51f4e2f7 fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
- 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
2023-12-04 16:18:01 +05:30
Ivan Grokhotkov
88e77ba1ed ci(nvs_flash): upgrade to Catch2 as a component, fix warnings 2023-11-29 12:38:47 +01:00
Adam Múdry
7464f5e3ea fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package 2023-11-23 23:58:20 +01:00
harshal.patil
5e1335aae4 fix(nvs_flash): Fix the memory leak in the nvs_flash test app
The leak is now reduced by allocating the AES interrupt and
loading the partitions in the test setup instead of in the tests itself.
2023-11-22 16:23:18 +05:30
Mo Fei Fei
a82b6f5c0b Merge branch 'docs/update_cn_trans_nvs_part_gen_readme' into 'master'
Docs: Update CN trans for components/nvs_flash/nvs_partition_generator/README.rst

Closes DOC-6449

See merge request espressif/esp-idf!26589
2023-10-26 12:19:26 +08:00
Mo Fei Fei
4f24d3a39c Docs: Update CN trans for components/nvs_flash/nvs_partition_generator/README.rst 2023-10-26 12:19:25 +08:00
Adam Múdry
e151184da7 refactor: Remove -Wno-format from storage related components 2023-10-22 17:56:41 +00:00
Adam Múdry
6154f22ab3 docs: nvs_open* add ESP_ERR_INVALID_ARG to return description
ESP_ERR_INVALID_ARG is returned from underlying functions but this was not easily evident
2023-10-19 14:36:10 +02:00
radek.tandler
d4aa9ccb0c change(nvs_flash): Host tests were migrated from CMock to esp_partition linux emulation 2023-10-13 13:17:28 +02:00
Martin Vychodil
64befdca3a Merge branch 'feature/partition_readonly_flag' into 'master'
feat(partition_table): Add read-only partition flag and functionality

Closes IDF-6421

See merge request espressif/esp-idf!24855
2023-10-13 11:11:07 +08:00
Laukik Hase
239bc3b96f Merge branch 'fix/nvs_part_gen_docs' into 'master'
fix(docs/nvs_part_gen): Show the NVS HMAC encryption scheme-specific commands only for supported SOCs

See merge request espressif/esp-idf!26332
2023-10-11 20:56:54 +08:00
Adam Múdry
ab1eb37fe8 feat(partition_table): Add read-only partition flag and functionality 2023-10-11 00:01:05 +02:00