Commit Graph

373 Commits

Author SHA1 Message Date
radek.tandler
b937cb7549 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-08-20 10:57:24 +02:00
Jakob Hasse
d626bcac35 Merge branch 'refactor/nvs_coverage_gcovr' into 'master'
refactor(nvs_flash): Use gcovr instead of lcov for host-based page test

See merge request espressif/esp-idf!31734
2024-08-19 15:24:24 +08:00
igor.udot
8691672f03 ci: replace pytest function 2024-07-23 14:07:31 +08:00
wanlei
3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00
Xiaoyu Liu
2cb9419b14 change(esp_rom): optimize target-specific header files layout in components/esp_rom 2024-06-27 11:24:45 +08:00
Jakob Hasse
eb0e894d94 refactor(nvs_flash): Use gcovr instead of lcov for host-based page test 2024-06-25 19:21:54 +02:00
Alexey Lapshin
ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
Konstantin Kondrashov
391aabf73f Merge branch 'feature/linux_esp_err_support' into 'master'
feat(esp_common): Support ESP_ERROR_CHECK_ macros on Linux

Closes IDFGH-12933

See merge request espressif/esp-idf!31320
2024-06-06 22:17:28 +08:00
Radek Tandler
c21b5bbbf2 Merge branch 'feature/storage_nvs_psram' into 'master'
nvs_flash: Enable heap allocation in SPIRAM

See merge request espressif/esp-idf!27181
2024-06-06 19:51:12 +08:00
radek.tandler
ffaf1d2968 feat(nvs_flash): Added Kconfig option contolling NVS heap allocation source
NVS configuration is extended with Kconfig option controlling RAM area for
NVS heap allocation. Either Internal RAM or SPIRAM can be chosen.
Tests were extended to check memory consumption from Internal and SPIRAM pool with respect
to the Kconfig option chosen.
Documentation was extended with notes related to NVS behavior in various situations.
2024-06-06 08:25:51 +02:00
Konstantin Kondrashov
023d112cbf feat(esp_common): Support ESP_ERROR_CHECK_ macros on Linux
Closes https://github.com/espressif/esp-idf/issues/13893
2024-06-05 09:00:51 +03:00
Frantisek Hrbata
fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
Konstantin Kondrashov
712005c451 Merge branch 'feature/log_level_check_refactoring' into 'master'
feat(log): Refactoring tag level check APIs

Closes IDF-9083, IDF-7919, and IDFGH-6947

See merge request espressif/esp-idf!29331
2024-05-17 22:36:27 +08:00
Adam Múdry
7b32f27e81 Merge branch 'fix/nvs_tool_entry_unknown_type_crash' into 'master'
fix(nvs): Fix nvs_tool accepting an unknown entry type

See merge request espressif/esp-idf!30503
2024-05-17 21:05:22 +08:00
Adam Múdry
9eedd57a18 fix(nvs): Fix nvs_tool accepting an unknown entry type 2024-05-17 13:18:52 +02:00
Konstantin Kondrashov
c3b0418a4e feat(log): Refactoring tag level check APIs 2024-05-16 09:26:08 +03:00
harshal.patil
3eb6487bb5
fix(bootloader_support): Make esp_flash_encrypt.h independent of spi_flash_mmap.h header 2024-05-13 16:54:45 +05:30
Mahavir Jain
0d36eb3342
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 13:24:45 +05:30
Mahavir Jain
c032a8b04a
fix(tests): remove unused partition NVS bin file 2024-05-02 13:23:35 +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
Adam Múdry
d42bde0378 feat(nvs): NVS tool add key consistency check 2023-10-09 15:58:48 +02:00
Adam Múdry
c276e2ca05 refactor: NVS tool move integrity check from logger to another file 2023-10-09 15:58:48 +02:00
Laukik Hase
6c9a343e1b
fix(docs/nvs_part_gen): Show the HMAC scheme-specific commands only for supported SOCs 2023-10-06 11:33:12 +05:30