Jakob Hasse
dd3c5c3cbb
doc (nvs_flash): improved NVS partition flash documentation
...
Closes https://github.com/espressif/esp-idf/issues/8196
2022-05-16 14:13:43 +08:00
Jakob Hasse
e899edd793
Merge branch 'bugfix/nvs_coverity_issues' into 'master'
...
bugfix (nvs): Fixed issues found by Coverity
Closes IDF-4391
See merge request espressif/esp-idf!16951
2022-01-29 21:52:18 +00:00
Jakob Hasse
4c8c2a8079
bugfix (nvs): Fixed issues found by Coverity
...
* Fixed potential memory leak
* Fixed wrong strncpy usage
* Fixed potential out of bounds access
2022-01-27 19:30:58 +08:00
Jakob Hasse
1d4061d3f2
refactor (nvs_flash)!: removed mbedtls as default dependency
...
mbedtls is only required in NVS if NVS encryption is enabled.
Hence the mbedtls dependency is now only added if encryption
is enabled, otherwise it is not added.
BREAKING CHANGE: Removed mbedtls as default dependency
2022-01-26 17:32:23 +08:00
Michael (XIAO Xufeng)
43643716a2
bugfix (nvs): fixed wrong pointer check
2021-12-13 10:42:45 +08:00
morris
2e008825a9
Merge branch 'feat/rm_makefiles' into 'master'
...
Build & config: Remove leftover files from the unsupported make build system
Closes IDF-4273 and IDF-2827
See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Roland Dobai
766aa57084
Build & config: Remove leftover files from the unsupported "make" build system
2021-11-11 15:32:36 +01:00
Mahavir Jain
e67128dd0a
nvs: add config to ignore "encrypted" flag of nvs partitions
...
This is to allow having pre IDF v4.3 behavior where "encrypted"
flag was not being checked for NVS partitions.
It is recommended to enable this new config only if you have
production devices where NVS partition was being set with "encrypted"
flag by mistake.
Please see commit aca9ec28b3
which
introduced check to not allow NVS partitions with "encrypted" flag set.
More discussion on this at:
https://github.com/espressif/esp-idf/issues/5747#issuecomment-956223024
https://github.com/espressif/esp-idf/issues/7839#issuecomment-961477667
Closes https://github.com/espressif/esp-idf/issues/7839
Closes IDFGH-6162
2021-11-11 15:20:57 +05:30
Shivani Tipnis
d8b1c3d44a
nvs_tool: Update Readme with supports of multiline strings and comments in the CSV file
...
Closes https://github.com/espressif/esp-idf/issues/7175
2021-09-16 11:11:19 +05:30
Jakob Hasse
46e59e7194
[mocks]: moved already added spi_flash mocks
...
[nvs]: page test works with new overriden mock
[spi_flash]: Removed mocking code from CMake
* Renamed nvs test to be consistent with other
host test
2021-08-18 11:05:51 +08:00
Jakob Hasse
7029f0537e
[build system]: Fixed common requirement for Linux
2021-08-13 16:50:29 +08:00
Jakob Hasse
84d184bdb0
Merge branch 'bugfix/nvs_corrupted_storage_crashes_app' into 'master'
...
[NVS]: fix crashes from entry state 1
See merge request espressif/esp-idf!14548
2021-08-06 09:14:21 +00:00
Jakob Hasse
0b86f81847
[nvs]: use real esp_common on host tests
2021-08-03 19:47:17 +08:00
Jakob Hasse
4dd88329c1
[esp_rom]: Partially buildable for linux
...
The following files have been ported:
* esp_rom_crc.h
* esp_rom_sys.h
* esp_rom_efuse.h (mostly no-ops)
* esp_rom_md5.h
Integrated Linux-based rom implementation into log
and NVS component.
Added brief host tests for ROM to ensure basic
consistency on Linux.
Added ROM printf host unit tests.
Temporarily added reset reason for Linux in ROM.
2021-08-03 12:03:24 +08:00
Jakob Hasse
de6b54de66
[nvs_flash]: Entries with state == 1 don't crash
2021-07-30 18:33:27 +08:00
morris
4c0ddd34b4
ci: added script to check api violations
2021-06-22 11:28:01 +08:00
Anton Maklakov
e5faf4f924
ci: fix test_build_system* fails
2021-06-07 18:48:38 +07:00
Jakob Hasse
68393c41c4
doc: linux host test documentation
2021-04-23 09:27:35 +08:00
Jakob Hasse
2fb5b42eb1
[nvs] add nvs page host test to CI
...
Closes IDF-2425
2021-04-20 14:40:16 +08:00
Jakob Hasse
d52a21de5c
Random NVS fixes
...
* Checking Lock::init() now
* fixed typos in nvs_flash.h
* Added missing parameter checks in nvs encryption
function
* Closes IDF-1462
* Closes IDF-2900
2021-03-08 14:41:53 +08:00
Angus Gratton
d6f4d99d93
core system: Fix warnings in compilation when assertions are disabled
...
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
Angus Gratton
c553430b0c
nvs_flash: Fix host test regressions
...
Regression in 09d2c5daa6
- in some
cases the test fixture was out of scope by the time
nvs_flash_deinit_partition() was called in this test.
2021-02-23 10:30:24 +11:00
Krzysztof Budzynski
9274abf5c9
Merge branch 'doc/nvs_get_used_entry_count__clarify' into 'master'
...
[doc]: NVS documentation updates
Closes IDF-1563, DOC-165, and IDF-859
See merge request espressif/esp-idf!12056
2021-02-18 10:36:16 +00:00
Jakob Hasse
916f02164e
[doc]: NVS documentation updates
...
* Move nvs flash README to common doc directory
* correct markup of functions and types in text
from old README
* Better comment of nvs_get_used_entry_count()
* Mention C++ example in API reference
* Used target instead of hard code ESP32
* Note that strings can only span one page
* Reflect that item types have been moved
* Some clarification about nvs_commit()
* Improved reference to the ESP Partition API
* fixed little mistake in documenting-code.rst
* Change of nvs_open_from_part() to
nvs_open_from_partition() reflected in docs
* Corrected documentation of
NVSHandle::get_string(), NVSHandle::get_blob()
and NVSHandle::get_item_size().
* Closes DOC-165
* Closes IDF-1563
* Closes IDF-859
* Closes https://github.com/espressif/esp-idf/issues/6123
2021-02-08 09:31:23 +08:00
Jakob Hasse
897e81f765
[doc]: elaborated nvs encryption comments in nvs
2021-02-04 15:27:37 +08:00
negativekelvin
d625310ef4
Fix nvs_flash_generate_keys
...
Merges https://github.com/espressif/esp-idf/pull/6478
2021-02-04 15:27:37 +08:00
Fu Hanxi
0146f258d7
style: format python files with isort and double-quote-string-fixer
2021-01-26 10:49:01 +08:00
Aditya Patwardhan
a02be97fda
nvs_flash: Modify the default NVS initialization API with internal nvs encryption
...
handling (only when nvs encryption is enabled)
* NVS Encryption will now be turned on by default with flash encryption
* Updated the flash encryption example to shocase NVS encryption
along with information on how to configure and use NVS encryption
* Updated respective test case
* Added two partition tables for NVS encryption
i) Table 1- Single factory app, no OTA, encrypted NVS
ii) Table 2- Factory app, Two OTA, encrypted NVS
2021-01-20 11:12:14 +00:00
Ivan Grokhotkov
45afa158ff
Merge branch 'bugfix/nvs_str_cmp' into 'master'
...
NVS: fix string comparison
Closes IDF-2476
See merge request espressif/esp-idf!11523
2020-12-24 18:28:29 +08:00
Ivan Grokhotkov
792dc6ebb8
Merge branch 'feature/linux_target' into 'master'
...
build system: Add Linux target
Closes IDF-2145
See merge request espressif/esp-idf!10076
2020-12-16 16:25:38 +08:00
Jakob Hasse
7b223c3337
NVS: fix string comparison
...
Closes IDF-2476
2020-12-16 13:53:17 +08:00
Ivan Grokhotkov
25a4a61665
Merge branch 'bugfix/nvs_coverage_script' into 'master'
...
NVS: fixed coverage-report target in Makefile
See merge request espressif/esp-idf!11218
2020-12-16 00:30:07 +08:00
Aditya Patwardhan
163d5f314a
nvs_flash: fix nvs initialization API documentation
2020-12-15 08:11:49 +05:30
Jakob Hasse
00819a3022
NVS flash: host-based unit test of nvs::Page
...
* General tests like page loading from flash
* Rough test of fixed-size data types
* Rough test of blob read
* Added coverage target in cmake, also accessible
via `idf.py coverage`
* Fixed unsigned comparison in comp. enum table
* introducing temporary LINUX_TARGET define
2020-12-14 18:53:14 +08:00
Jakob Hasse
ff03bbce78
NVS: fixed coverage-report target in Makefile
2020-12-10 03:51:16 +00:00
Jakob Hasse
09d2c5daa6
nvs_flash: fixed deinit other partition's handles
...
* When deinitializing or erasing a partition,
nvs used to close all handles instead of only
the current partition's handles.
This is fixed now
* Added a unit test for that case
Closes FCS-533
2020-11-27 18:51:05 +08:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
a7ae0ee1fa
nvs_partition_generator: Strip trailing whitespace in "hex2bin" input files
2020-11-11 07:36:35 +00:00
Angus Gratton
60ba7e4ae2
test_nvs_host: Fail on any non-zero exit code when running external tools
...
Check for != -1 was not picking up Python errors as WEXITSTATUS evaluates to 254 (at least on Linux)
2020-11-11 07:36:35 +00:00
Jakob Hasse
0e118c6070
NVS: put wild functions into namespace
2020-09-18 15:38:40 +08:00
morris
e52c93a514
nvs: fix api doc regarding to maximum key length
...
Thanks to feed back from https://esp32.com/viewtopic.php?f=25&t=17323
2020-09-17 12:37:28 +08:00
Jakob Hasse
aca9ec28b3
NVS: using esp_partition API
...
* partition api changed from spi_flash* API to
esp_partition* API and is abstracted as a C++
interface.
* The old nvs encryption is still possible
* changed default unit test app partition table
* Partitions coming from esp_partition API are
checked for generic flash encryption. If yes,
an error is returned since generic flash
encryption isn't compatible with nvs
encryption
* esp32, esp32s2 tests don't require nvs_flash
but mbedtls now
Closes IDF-1340
Closes IDF-858
2020-09-14 10:34:34 +08:00
Shivani Tipnis
d1f00e7c36
nvs_util: Update file I/O handling for error handling across various OS
2020-09-11 06:35:01 +00:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Michael (XIAO Xufeng)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00
martin.gano
cb0bdb8bba
components: convert string to bytes to fix TypeError There is a string passed as an argument for function, but a format of a string seemingly refers to bytes therefore it needs to be converted to bytes Solves https://esp32.com/viewtopic.php?f=13&t=16529
2020-07-21 10:18:53 +02:00
Ivan Grokhotkov
b40c7c78e3
Merge branch 'feature/nvs_cxx_enums' into 'master'
...
Enabled enum types for nvs C++ handle
See merge request espressif/esp-idf!8700
2020-06-02 01:13:00 +08:00
Jakob Hasse
0e5abaf303
Enabled enum types for nvs C++ handle
...
Closes https://github.com/espressif/esp-idf/issues/5232
2020-05-27 12:36:48 +08:00
Jakob Hasse
0de732fd0e
nvs: unit tests for new partition API
2020-05-27 11:22:32 +08:00
Dmitriy Shilin
de89598779
nvs: allow to specify custom partition
...
Closes https://github.com/espressif/esp-idf/pull/5172
2020-05-27 11:22:32 +08:00
Jakob Hasse
98b1da9e60
NVS: more graceful behavior for erasing partitions
2020-04-03 11:48:07 +08:00
Ivan Grokhotkov
cb766fb3d6
Merge branch 'bugfix/IDFGH-2910' into 'master'
...
NVS: bugfix - iterator skipping version 1 blobs
Closes IDFGH-2910
See merge request espressif/esp-idf!8049
2020-03-30 05:18:38 +08:00
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Jakob Hasse
255ae1d32f
NVS: bugfix - iterator skipping version 1 blobs
...
Closes https://github.com/espressif/esp-idf/issues/4954
2020-03-23 09:55:40 +08:00
Ivan Grokhotkov
6afc116036
nvs: enable address sanitizer in host tests when building with clang
2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
d2526e6dda
nvs: fix out of bounds array access in host test
2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
db34a4d031
nvs: add test for erase cycles distribution
2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
0cbbd948c0
nvs: clean coverage files on rebuild
...
Fixes errors reported by libgcov related to merging debug information.
2020-03-13 11:28:04 +01:00
Jakob Hasse
c6deffb8a2
NVS Flash: prevent erasing initialized partition
...
Closes https://github.com/espressif/esp-idf/issues/4755
Closes https://github.com/espressif/esp-idf/issues/2777
* nvs_flash_erase_partition() checks whether
the parition in question is initialized
already and will return an error if so
* reflect changes in the documentation
2020-02-19 18:16:04 +01:00
Bruno Binet
7084015884
Update NVS Partition Generator Utility documentation
...
to add support for i16, u64, i64 types
2020-02-11 11:18:19 +00:00
Bruno Binet
cab895f459
NVS: add support for i16, u64, i64 types to NVS partition generation tool
2020-02-11 11:18:19 +00:00
Jakob Hasse
e228a2102d
Fixed missing implementations
2020-02-03 17:18:21 +01:00
Jakob Hasse
c75ec644f4
NVS: Changed all new to new (nothrow)
2020-01-15 14:01:35 +08:00
Jakob Hasse
d286876d34
NVS: expose C++ API
...
Closes https://github.com/espressif/esp-idf/issues/3540
2020-01-09 18:29:23 +08:00
Jakob Hasse
c31c45cae7
NVS: partition name is copied now
...
Closes IDF-1231
2020-01-02 09:18:24 +08:00
Jakob Hasse
5249d33c1f
NVS: bugfix nvs_set_str/blob checks write mode
2019-12-18 09:06:45 +08:00
Jakob Hasse
bb1cd9a440
NVS: BUGFIX non-matching type iterator works
...
Closes IDFGH-2229
2019-12-18 09:06:45 +08:00
Mahavir Jain
f53f450380
nvs_flash: build nvs_encr.cpp only if relevant config option is enabled
2019-11-15 15:58:31 +05:30
Jakob Hasse
d8242fe976
nvs: Added nvs tests, minor corrections
...
* closes IDF-1135:
same namespace was used in different tests which
could lead to conflicts when re-running tests
* removes duplicated functions declarations
* correct argument order for test case macros
2019-11-07 10:23:47 +08:00
Ivan Grokhotkov
5830f529d8
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-02 19:01:39 +02:00
Roland Dobai
833822c10b
Fix Kconfig issues discovered by upstream Kconfiglib
2019-09-23 16:10:57 +02:00
Wang Fang
32adfdc307
Add Chinese translation for the 2nd batch of the files in storage folder in api-reference.
...
1. The translation should be first reviewed by technical reviewers;
2. and then by language reviewers.
For the translation for the first batch of files, please see !MR5620 and !MR5613
2019-09-20 12:32:55 +08:00
Angus Gratton
adfc06a530
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-20 10:28:37 +10:00
Ivan Grokhotkov
bf68285689
Merge branch 'feature/compile_option_O0' into 'master'
...
build_system: add new compiler optimization levels
See merge request espressif/esp-idf!5686
2019-09-17 16:54:55 +08:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
Wang Fang
bea507378e
Add Chinese translation for README files in components and tools folders, including:
...
1. components/nvs_flash/nvs_partition_generator/README_CN.rst
2. components/wear_levelling/README_CN.rst
3. tools/mass_mfg/docs/README_CN.rst
2019-09-06 20:18:19 +08:00
Andrew
4fdaeb6b6e
cmake: Add new compiler optimization levels definitions
...
Rename and add multiple kconfig compiler options. New compiler options
COMPILER_OPTIMIZATION_PERF and COMPILER_OPTIMIZATION_NONE have been added.
Optimize "Debug" and "Release" options to "Default" and "Size" respectively.
This commit also does the following:
- The COMPILER_OPTIMIZATION_PERF option introduced multiple bug.
This commit fixes those bugs.
- build.yml also updated to test for the new optimization options.
2019-09-06 17:37:19 +08:00
Angus Gratton
a3a67a4452
nvs_flash: Include xtensa component when building NVS tests on hosts
...
esp_attr.h moved to xtensa component in 61ce868396
2019-08-13 17:16:12 +10:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Angus Gratton
47bbb107a8
build system: Use CMake-based build system as default when describing commands
2019-07-08 17:31:27 +10:00
Angus Gratton
7ef42f2596
Merge branch 'fix/nvs_util_key_len' into 'master'
...
nvs_util: Add check for key len in input csv file
See merge request espressif/esp-idf!5392
2019-07-05 10:34:55 +08:00
Shivani Tipnis
cc75721f9c
mfg_util: Optimise by adding subparser changes w.r.t similar changes in nvs util changes
2019-07-05 01:13:27 +00:00
Shivani Tipnis
84b2fa4c1c
nvs_util: Add check for key len in input csv file
...
Closes https://github.com/espressif/esp-idf/issues/3113
2019-07-05 01:12:41 +00:00
Ivan Grokhotkov
c730c9e397
nvs: minor host test fixes
...
Fixes the tests to pass when some files already exist.
Fixes clean target.
Moves CONFIG_NVS_ENCRYPTION definition into sdkconfig.h.
2019-07-02 10:26:06 +02:00
Ivan Grokhotkov
ebcb08ec89
host tests: correct definition of CONFIG_SPI_FLASH_USE_LEGACY_IMPL
2019-07-02 10:10:49 +02:00
Shivani Tipnis
3636e75792
nvs_util: Add NVS decryption feature
2019-06-27 11:51:58 +05:30
Angus Gratton
f55ace596b
Merge branch 'fix/update_curr_page_state' into 'master'
...
nvs_util: Set previous page state to full before creating new page
See merge request idf/esp-idf!5325
2019-06-25 14:21:25 +08:00
Shivani Tipnis
1f9f39fe46
nvs_util: Set previous page state to full before creating new page
2019-06-24 13:53:51 +00:00
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00
suda-morris
3f7a571c90
fix errors when ci testing for esp32
2019-06-19 15:31:47 +08:00
Kirill Chalov
4faf2de035
Doc/review api ref storage
2019-06-17 14:23:52 +08:00
suda-morris
84b2f9f14d
build and link hello-world for esp32s2beta
2019-06-11 13:07:37 +08:00
MartinValik
5268960235
Added support for NVS iterators
...
Closes https://github.com/espressif/esp-idf/issues/129
2019-06-10 16:42:39 +02:00
Angus Gratton
154fc74f76
Merge branch 'bugfix/nvs_typedef_naming_pr3239' into 'master'
...
nvs: Append _t to nvs_handle & nvs_open_mode types
Closes IDFGH-891
See merge request idf/esp-idf!4783
2019-05-29 08:14:00 +08:00
Angus Gratton
b2e54a9cc6
ci: Add IDF_DEPRECATED macro for things we only deprecate in our CI passes
2019-05-27 17:43:38 +10:00
GOPTIONS\pfrost
897bb55482
nvs: Append _t to nvs_handle & nvs_open_mode types
...
Merges https://github.com/espressif/esp-idf/pull/3239/
2019-05-22 02:53:28 +00:00
Roland Dobai
1ad2283641
Rename Kconfig options (components/bootloader)
2019-05-21 09:32:55 +02:00
Tim Nordell
c3fa2497b9
nvs: Check if an item is modified before writing out an identical copy
...
This prevents wear and tear on the flash, and it also is faster in some
cases since the read-out of flash is a cheaper operation than the erasure
of flash. Some library modules (such as the esp_wifi) write out to NVS
upon every initialization without checking first that the existing value
is the same, and this speeds up initialization of modules that make
these design choices and moves it into a centralized place.
The comparison functions are based on the read-out functions of the same
name, and changes out the memcpy(...) operations for memcmp(...)
operations.
Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-04-30 11:39:58 -05:00