mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ffaf1d2968
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.
49 lines
2.6 KiB
Plaintext
49 lines
2.6 KiB
Plaintext
menu "NVS"
|
|
|
|
config NVS_ENCRYPTION
|
|
bool "Enable NVS encryption"
|
|
depends on SECURE_FLASH_ENC_ENABLED || SOC_HMAC_SUPPORTED
|
|
default y if SECURE_FLASH_ENC_ENABLED
|
|
help
|
|
This option enables encryption for NVS. When enabled, XTS-AES is used to encrypt
|
|
the complete NVS data, except the page headers. It requires XTS encryption keys
|
|
to be stored in an encrypted partition (enabling flash encryption is mandatory here)
|
|
or to be derived from an HMAC key burnt in eFuse.
|
|
|
|
config NVS_COMPATIBLE_PRE_V4_3_ENCRYPTION_FLAG
|
|
bool "NVS partition encrypted flag compatible with ESP-IDF before v4.3"
|
|
depends on SECURE_FLASH_ENC_ENABLED
|
|
help
|
|
Enabling this will ignore "encrypted" flag for NVS partitions. NVS encryption
|
|
scheme is different than hardware flash encryption and hence it is not recommended
|
|
to have "encrypted" flag for NVS partitions. This was not being checked in pre v4.3
|
|
IDF. Hence, if you have any devices where this flag is kept enabled in partition
|
|
table then enabling this config will allow to have same behavior as pre v4.3 IDF.
|
|
|
|
config NVS_ASSERT_ERROR_CHECK
|
|
bool "Use assertions for error checking"
|
|
default n
|
|
help
|
|
This option switches error checking type between assertions (y) or return codes (n).
|
|
|
|
config NVS_LEGACY_DUP_KEYS_COMPATIBILITY
|
|
bool "Enable legacy nvs_set function behavior when same key is reused with different data types"
|
|
default n
|
|
help
|
|
Enabling this option will switch the nvs_set() family of functions to the legacy mode:
|
|
when called repeatedly with the same key but different data type, the existing value
|
|
in the NVS remains active and the new value is just stored, actually not accessible through
|
|
corresponding nvs_get() call for the key given. Use this option only when your application
|
|
relies on such NVS API behaviour.
|
|
|
|
config NVS_ALLOCATE_CACHE_IN_SPIRAM
|
|
bool "Prefers allocation of in-memory cache structures in SPI connected PSRAM"
|
|
depends on SPIRAM && (SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC)
|
|
default n
|
|
help
|
|
Enabling this option lets NVS library try to allocate page cache and key hash list in SPIRAM
|
|
instead of internal RAM. It can help applications using large nvs partitions or large number
|
|
of keys to save heap space in internal RAM. SPIRAM heap allocation negatively impacts speed
|
|
of NVS operations as the CPU accesses NVS cache via SPI instead of direct access to the internal RAM.
|
|
endmenu
|