mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-28 05:52:12 +00:00
- BDL provider can be enabled vor NVS in the menuconfig option NVS_BDL_STACK - Hierarchy of Partition class tree was adjusted and all operations were documented - Class Partition is now derived from intrusive_list_node and ExceptionlessAllocable - Class NVSPartition implements only the dual support for esp_partition and BDL - Class NVSEncryptedPartition implements only encryption related extensions
55 lines
2.8 KiB
Plaintext
55 lines
2.8 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.
|
|
|
|
config NVS_BDL_STACK
|
|
bool "Run NVS on BDL instead of ESP_Partition"
|
|
default n
|
|
help
|
|
This option enforces internal use of Block Device Layer instead ESP_Partition.
|
|
endmenu
|