From e4e56a4687582c379b5215c134e7b80c673e2485 Mon Sep 17 00:00:00 2001 From: "sonika.rathi" Date: Tue, 25 Mar 2025 18:34:32 +0100 Subject: [PATCH] refactor(examples/storage): move all the nvs examples to 'examples/storeage/nvs' directory --- examples/storage/.build-test-rules.yml | 38 ----------------- examples/storage/nvs/.build-test-rules.yml | 39 ++++++++++++++++++ .../{ => nvs}/nvs_bootloader/CMakeLists.txt | 0 .../{ => nvs}/nvs_bootloader/README.md | 6 +-- .../nvs_bootloader_example/CMakeLists.txt | 0 .../include/nvs_bootloader_example_utils.h | 0 .../src/nvs_bootloader_example.c | 0 .../src/nvs_bootloader_example_utils.c | 0 .../nvs_bootloader/main/CMakeLists.txt | 0 .../main/bootloader_hooks_example_main.c | 0 .../nvs_bootloader/main/encryption_keys.bin | 0 .../nvs_bootloader/main/nvs_enc_hmac_key.bin | 0 .../nvs_bootloader/main/nvs_encrypted.bin | Bin .../main/nvs_encrypted_hmac.bin | Bin .../{ => nvs}/nvs_bootloader/nvs_data.csv | 0 .../nvs_bootloader/pytest_nvs_bootloader.py | 0 .../nvs_bootloader/sdkconfig.ci.default | 0 .../sdkconfig.ci.nvs_enc_flash_enc | 0 .../nvs_bootloader/sdkconfig.ci.nvs_enc_hmac | 0 .../nvs_bootloader/sdkconfig.defaults | 0 .../nvs_bootloader/sdkconfig.defaults.esp32c2 | 0 .../{ => nvs}/nvs_rw_blob/CMakeLists.txt | 0 .../storage/{ => nvs}/nvs_rw_blob/README.md | 0 .../{ => nvs}/nvs_rw_blob/main/CMakeLists.txt | 0 .../nvs_rw_blob/main/nvs_blob_example_main.c | 5 +++ .../nvs_rw_blob/pytest_nvs_rw_blob.py | 0 .../{ => nvs}/nvs_rw_blob/sdkconfig.ci | 0 .../{ => nvs}/nvs_rw_value/CMakeLists.txt | 0 .../storage/{ => nvs}/nvs_rw_value/README.md | 0 .../nvs_rw_value/main/CMakeLists.txt | 0 .../main/nvs_value_example_main.c | 5 +++ .../nvs_rw_value/pytest_nvs_rw_value.py | 0 .../{ => nvs}/nvs_rw_value/sdkconfig.ci | 0 .../{ => nvs}/nvs_rw_value_cxx/CMakeLists.txt | 0 .../{ => nvs}/nvs_rw_value_cxx/README.md | 0 .../nvs_rw_value_cxx/main/CMakeLists.txt | 0 .../main/nvs_value_example_main.cpp | 5 +++ .../pytest_nvs_rw_value_cxx.py | 0 .../{ => nvs}/nvs_rw_value_cxx/sdkconfig.ci | 0 .../storage/{ => nvs}/nvsgen/CMakeLists.txt | 0 examples/storage/{ => nvs}/nvsgen/README.md | 2 +- .../{ => nvs}/nvsgen/main/CMakeLists.txt | 0 .../nvsgen/main/nvsgen_example_main.c | 0 .../storage/{ => nvs}/nvsgen/nvs_data.csv | 0 .../{ => nvs}/nvsgen/partitions_example.csv | 0 .../{ => nvs}/nvsgen/pytest_nvsgen_example.py | 0 .../{ => nvs}/nvsgen/sdkconfig.defaults | 0 tools/ci/check_copyright_ignore.txt | 3 -- 48 files changed, 58 insertions(+), 45 deletions(-) create mode 100644 examples/storage/nvs/.build-test-rules.yml rename examples/storage/{ => nvs}/nvs_bootloader/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_bootloader/README.md (95%) rename examples/storage/{ => nvs}/nvs_bootloader/bootloader_components/nvs_bootloader_example/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_bootloader/bootloader_components/nvs_bootloader_example/include/nvs_bootloader_example_utils.h (100%) rename examples/storage/{ => nvs}/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example.c (100%) rename examples/storage/{ => nvs}/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example_utils.c (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/bootloader_hooks_example_main.c (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/encryption_keys.bin (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/nvs_enc_hmac_key.bin (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/nvs_encrypted.bin (100%) rename examples/storage/{ => nvs}/nvs_bootloader/main/nvs_encrypted_hmac.bin (100%) rename examples/storage/{ => nvs}/nvs_bootloader/nvs_data.csv (100%) rename examples/storage/{ => nvs}/nvs_bootloader/pytest_nvs_bootloader.py (100%) rename examples/storage/{ => nvs}/nvs_bootloader/sdkconfig.ci.default (100%) rename examples/storage/{ => nvs}/nvs_bootloader/sdkconfig.ci.nvs_enc_flash_enc (100%) rename examples/storage/{ => nvs}/nvs_bootloader/sdkconfig.ci.nvs_enc_hmac (100%) rename examples/storage/{ => nvs}/nvs_bootloader/sdkconfig.defaults (100%) rename examples/storage/{ => nvs}/nvs_bootloader/sdkconfig.defaults.esp32c2 (100%) rename examples/storage/{ => nvs}/nvs_rw_blob/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_blob/README.md (100%) rename examples/storage/{ => nvs}/nvs_rw_blob/main/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_blob/main/nvs_blob_example_main.c (98%) rename examples/storage/{ => nvs}/nvs_rw_blob/pytest_nvs_rw_blob.py (100%) rename examples/storage/{ => nvs}/nvs_rw_blob/sdkconfig.ci (100%) rename examples/storage/{ => nvs}/nvs_rw_value/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_value/README.md (100%) rename examples/storage/{ => nvs}/nvs_rw_value/main/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_value/main/nvs_value_example_main.c (95%) rename examples/storage/{ => nvs}/nvs_rw_value/pytest_nvs_rw_value.py (100%) rename examples/storage/{ => nvs}/nvs_rw_value/sdkconfig.ci (100%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/README.md (100%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/main/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/main/nvs_value_example_main.cpp (95%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/pytest_nvs_rw_value_cxx.py (100%) rename examples/storage/{ => nvs}/nvs_rw_value_cxx/sdkconfig.ci (100%) rename examples/storage/{ => nvs}/nvsgen/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvsgen/README.md (83%) rename examples/storage/{ => nvs}/nvsgen/main/CMakeLists.txt (100%) rename examples/storage/{ => nvs}/nvsgen/main/nvsgen_example_main.c (100%) rename examples/storage/{ => nvs}/nvsgen/nvs_data.csv (100%) rename examples/storage/{ => nvs}/nvsgen/partitions_example.csv (100%) rename examples/storage/{ => nvs}/nvsgen/pytest_nvsgen_example.py (100%) rename examples/storage/{ => nvs}/nvsgen/sdkconfig.defaults (100%) diff --git a/examples/storage/.build-test-rules.yml b/examples/storage/.build-test-rules.yml index 9756eecf1e..a7b9542dfc 100644 --- a/examples/storage/.build-test-rules.yml +++ b/examples/storage/.build-test-rules.yml @@ -16,44 +16,6 @@ examples/storage/emmc: - if: IDF_TARGET == "esp32s3" reason: only support on esp32s3 -examples/storage/nvs_bootloader: - depends_components: - - nvs_flash - - nvs_sec_provider - disable: - - if: CONFIG_NAME == "nvs_enc_flash_enc" and (SOC_AES_SUPPORTED != 1 and ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB != 1) - - if: CONFIG_NAME == "nvs_enc_hmac" and (SOC_HMAC_SUPPORTED != 1 or (SOC_HMAC_SUPPORTED == 1 and (SOC_AES_SUPPORTED != 1 and ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB != 1))) - reason: As of now in such cases, we do not have any way to perform AES operations in the bootloader build - -examples/storage/nvs_rw_blob: - depends_components: - - nvs_flash - - driver - disable_test: - - if: IDF_TARGET not in ["esp32", "esp32c3"] - reason: only one target per arch needed - -examples/storage/nvs_rw_value: - depends_components: - - nvs_flash - disable_test: - - if: IDF_TARGET not in ["esp32", "esp32c3"] - reason: only one target per arch needed - -examples/storage/nvs_rw_value_cxx: - depends_components: - - nvs_flash - disable_test: - - if: IDF_TARGET not in ["esp32", "esp32c3"] - reason: only one target per arch needed - -examples/storage/nvsgen: - depends_components: - - nvs_flash - disable_test: - - if: IDF_TARGET != "esp32" - reason: only one target needed - examples/storage/partition_api/partition_find: depends_components: - esp_partition diff --git a/examples/storage/nvs/.build-test-rules.yml b/examples/storage/nvs/.build-test-rules.yml new file mode 100644 index 0000000000..761c75830b --- /dev/null +++ b/examples/storage/nvs/.build-test-rules.yml @@ -0,0 +1,39 @@ +# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps + +examples/storage/nvs/nvs_bootloader: + depends_components: + - nvs_flash + - nvs_sec_provider + disable: + - if: CONFIG_NAME == "nvs_enc_flash_enc" and (SOC_AES_SUPPORTED != 1 and ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB != 1) + - if: CONFIG_NAME == "nvs_enc_hmac" and (SOC_HMAC_SUPPORTED != 1 or (SOC_HMAC_SUPPORTED == 1 and (SOC_AES_SUPPORTED != 1 and ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB != 1))) + reason: As of now in such cases, we do not have any way to perform AES operations in the bootloader build + +examples/storage/nvs/nvs_rw_blob: + depends_components: + - nvs_flash + - driver + disable_test: + - if: IDF_TARGET not in ["esp32", "esp32c3"] + reason: only one target per arch needed + +examples/storage/nvs/nvs_rw_value: + depends_components: + - nvs_flash + disable_test: + - if: IDF_TARGET not in ["esp32", "esp32c3"] + reason: only one target per arch needed + +examples/storage/nvs/nvs_rw_value_cxx: + depends_components: + - nvs_flash + disable_test: + - if: IDF_TARGET not in ["esp32", "esp32c3"] + reason: only one target per arch needed + +examples/storage/nvs/nvsgen: + depends_components: + - nvs_flash + disable_test: + - if: IDF_TARGET != "esp32" + reason: only one target needed diff --git a/examples/storage/nvs_bootloader/CMakeLists.txt b/examples/storage/nvs/nvs_bootloader/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_bootloader/CMakeLists.txt rename to examples/storage/nvs/nvs_bootloader/CMakeLists.txt diff --git a/examples/storage/nvs_bootloader/README.md b/examples/storage/nvs/nvs_bootloader/README.md similarity index 95% rename from examples/storage/nvs_bootloader/README.md rename to examples/storage/nvs/nvs_bootloader/README.md index a896ed9c11..8d1f7dda6b 100644 --- a/examples/storage/nvs_bootloader/README.md +++ b/examples/storage/nvs/nvs_bootloader/README.md @@ -137,7 +137,7 @@ Enable NVS encryption using your preferred scheme. Please find more details rega (Note: In case you select the `HMAC based NVS encryption scheme`, make sure that you burn the below mentioned [HMAC key](./main/nvs_enc_hmac_key.bin) in the efuses.) For generating the encrypted NVS partitions, we shall use [NVS partition generator](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/storage/nvs_partition_gen.html#nvs-partition-generator-utility). -We shall use the [nvs_partition_gen.py](../../../components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py) script for the operations. +We shall use the [nvs_partition_gen.py](../../../../components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py) script for the operations. Along with the above mentioned file structure, the project folder also contains pre-generated encrypted partitions and the partition corresponding to the selected NVS encryption scheme is flashed along with the build artefacts using the `main/CMakeLists.txt`. @@ -146,13 +146,13 @@ In case the data in `nvs_data.csv` is modified, these encrypted NVS partitions c 1. NVS Encryption using the flash encryption scheme ``` -python nvs_partition_gen.py encrypt $IDF_PATH/examples/storage/nvs_bootloader/nvs_data.csv $IDF_PATH/examples/storage/nvs_bootloader/main/nvs_encrypted.bin 0x6000 --inputkey $IDF_PATH/examples/storage/nvs_bootloader/main/encryption_keys.bin +python nvs_partition_gen.py encrypt $IDF_PATH/examples/storage/nvs/nvs_bootloader/nvs_data.csv $IDF_PATH/examples/storage/nvs/nvs_bootloader/main/nvs_encrypted.bin 0x6000 --inputkey $IDF_PATH/examples/storage/nvs/nvs_bootloader/main/encryption_keys.bin ``` 2. NVS Encryption using the HMAC scheme ``` -python nvs_partition_gen.py encrypt $IDF_PATH/examples/storage/nvs_bootloader/nvs_data.csv $IDF_PATH/examples/storage/nvs_bootloader/main/nvs_encrypted_hmac.bin 0x6000 --keygen --key_protect_hmac --kp_hmac_inputkey $IDF_PATH/examples/storage/nvs_bootloader/main/nvs_enc_hmac_key.bin +python nvs_partition_gen.py encrypt $IDF_PATH/examples/storage/nvs/nvs_bootloader/nvs_data.csv $IDF_PATH/examples/storage/nvs/nvs_bootloader/main/nvs_encrypted_hmac.bin 0x6000 --keygen --key_protect_hmac --kp_hmac_inputkey $IDF_PATH/examples/storage/nvs/nvs_bootloader/main/nvs_enc_hmac_key.bin ``` Build the application using configurations corresponding to the NVS encryption scheme that you have selected: diff --git a/examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/CMakeLists.txt b/examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/CMakeLists.txt rename to examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/CMakeLists.txt diff --git a/examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/include/nvs_bootloader_example_utils.h b/examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/include/nvs_bootloader_example_utils.h similarity index 100% rename from examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/include/nvs_bootloader_example_utils.h rename to examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/include/nvs_bootloader_example_utils.h diff --git a/examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example.c b/examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example.c similarity index 100% rename from examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example.c rename to examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example.c diff --git a/examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example_utils.c b/examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example_utils.c similarity index 100% rename from examples/storage/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example_utils.c rename to examples/storage/nvs/nvs_bootloader/bootloader_components/nvs_bootloader_example/src/nvs_bootloader_example_utils.c diff --git a/examples/storage/nvs_bootloader/main/CMakeLists.txt b/examples/storage/nvs/nvs_bootloader/main/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_bootloader/main/CMakeLists.txt rename to examples/storage/nvs/nvs_bootloader/main/CMakeLists.txt diff --git a/examples/storage/nvs_bootloader/main/bootloader_hooks_example_main.c b/examples/storage/nvs/nvs_bootloader/main/bootloader_hooks_example_main.c similarity index 100% rename from examples/storage/nvs_bootloader/main/bootloader_hooks_example_main.c rename to examples/storage/nvs/nvs_bootloader/main/bootloader_hooks_example_main.c diff --git a/examples/storage/nvs_bootloader/main/encryption_keys.bin b/examples/storage/nvs/nvs_bootloader/main/encryption_keys.bin similarity index 100% rename from examples/storage/nvs_bootloader/main/encryption_keys.bin rename to examples/storage/nvs/nvs_bootloader/main/encryption_keys.bin diff --git a/examples/storage/nvs_bootloader/main/nvs_enc_hmac_key.bin b/examples/storage/nvs/nvs_bootloader/main/nvs_enc_hmac_key.bin similarity index 100% rename from examples/storage/nvs_bootloader/main/nvs_enc_hmac_key.bin rename to examples/storage/nvs/nvs_bootloader/main/nvs_enc_hmac_key.bin diff --git a/examples/storage/nvs_bootloader/main/nvs_encrypted.bin b/examples/storage/nvs/nvs_bootloader/main/nvs_encrypted.bin similarity index 100% rename from examples/storage/nvs_bootloader/main/nvs_encrypted.bin rename to examples/storage/nvs/nvs_bootloader/main/nvs_encrypted.bin diff --git a/examples/storage/nvs_bootloader/main/nvs_encrypted_hmac.bin b/examples/storage/nvs/nvs_bootloader/main/nvs_encrypted_hmac.bin similarity index 100% rename from examples/storage/nvs_bootloader/main/nvs_encrypted_hmac.bin rename to examples/storage/nvs/nvs_bootloader/main/nvs_encrypted_hmac.bin diff --git a/examples/storage/nvs_bootloader/nvs_data.csv b/examples/storage/nvs/nvs_bootloader/nvs_data.csv similarity index 100% rename from examples/storage/nvs_bootloader/nvs_data.csv rename to examples/storage/nvs/nvs_bootloader/nvs_data.csv diff --git a/examples/storage/nvs_bootloader/pytest_nvs_bootloader.py b/examples/storage/nvs/nvs_bootloader/pytest_nvs_bootloader.py similarity index 100% rename from examples/storage/nvs_bootloader/pytest_nvs_bootloader.py rename to examples/storage/nvs/nvs_bootloader/pytest_nvs_bootloader.py diff --git a/examples/storage/nvs_bootloader/sdkconfig.ci.default b/examples/storage/nvs/nvs_bootloader/sdkconfig.ci.default similarity index 100% rename from examples/storage/nvs_bootloader/sdkconfig.ci.default rename to examples/storage/nvs/nvs_bootloader/sdkconfig.ci.default diff --git a/examples/storage/nvs_bootloader/sdkconfig.ci.nvs_enc_flash_enc b/examples/storage/nvs/nvs_bootloader/sdkconfig.ci.nvs_enc_flash_enc similarity index 100% rename from examples/storage/nvs_bootloader/sdkconfig.ci.nvs_enc_flash_enc rename to examples/storage/nvs/nvs_bootloader/sdkconfig.ci.nvs_enc_flash_enc diff --git a/examples/storage/nvs_bootloader/sdkconfig.ci.nvs_enc_hmac b/examples/storage/nvs/nvs_bootloader/sdkconfig.ci.nvs_enc_hmac similarity index 100% rename from examples/storage/nvs_bootloader/sdkconfig.ci.nvs_enc_hmac rename to examples/storage/nvs/nvs_bootloader/sdkconfig.ci.nvs_enc_hmac diff --git a/examples/storage/nvs_bootloader/sdkconfig.defaults b/examples/storage/nvs/nvs_bootloader/sdkconfig.defaults similarity index 100% rename from examples/storage/nvs_bootloader/sdkconfig.defaults rename to examples/storage/nvs/nvs_bootloader/sdkconfig.defaults diff --git a/examples/storage/nvs_bootloader/sdkconfig.defaults.esp32c2 b/examples/storage/nvs/nvs_bootloader/sdkconfig.defaults.esp32c2 similarity index 100% rename from examples/storage/nvs_bootloader/sdkconfig.defaults.esp32c2 rename to examples/storage/nvs/nvs_bootloader/sdkconfig.defaults.esp32c2 diff --git a/examples/storage/nvs_rw_blob/CMakeLists.txt b/examples/storage/nvs/nvs_rw_blob/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_blob/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_blob/CMakeLists.txt diff --git a/examples/storage/nvs_rw_blob/README.md b/examples/storage/nvs/nvs_rw_blob/README.md similarity index 100% rename from examples/storage/nvs_rw_blob/README.md rename to examples/storage/nvs/nvs_rw_blob/README.md diff --git a/examples/storage/nvs_rw_blob/main/CMakeLists.txt b/examples/storage/nvs/nvs_rw_blob/main/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_blob/main/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_blob/main/CMakeLists.txt diff --git a/examples/storage/nvs_rw_blob/main/nvs_blob_example_main.c b/examples/storage/nvs/nvs_rw_blob/main/nvs_blob_example_main.c similarity index 98% rename from examples/storage/nvs_rw_blob/main/nvs_blob_example_main.c rename to examples/storage/nvs/nvs_rw_blob/main/nvs_blob_example_main.c index 9196424d02..ce0ea2bfff 100644 --- a/examples/storage/nvs_rw_blob/main/nvs_blob_example_main.c +++ b/examples/storage/nvs/nvs_rw_blob/main/nvs_blob_example_main.c @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ /* Non-Volatile Storage (NVS) Read and Write a Blob - Example For other examples please check: diff --git a/examples/storage/nvs_rw_blob/pytest_nvs_rw_blob.py b/examples/storage/nvs/nvs_rw_blob/pytest_nvs_rw_blob.py similarity index 100% rename from examples/storage/nvs_rw_blob/pytest_nvs_rw_blob.py rename to examples/storage/nvs/nvs_rw_blob/pytest_nvs_rw_blob.py diff --git a/examples/storage/nvs_rw_blob/sdkconfig.ci b/examples/storage/nvs/nvs_rw_blob/sdkconfig.ci similarity index 100% rename from examples/storage/nvs_rw_blob/sdkconfig.ci rename to examples/storage/nvs/nvs_rw_blob/sdkconfig.ci diff --git a/examples/storage/nvs_rw_value/CMakeLists.txt b/examples/storage/nvs/nvs_rw_value/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_value/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_value/CMakeLists.txt diff --git a/examples/storage/nvs_rw_value/README.md b/examples/storage/nvs/nvs_rw_value/README.md similarity index 100% rename from examples/storage/nvs_rw_value/README.md rename to examples/storage/nvs/nvs_rw_value/README.md diff --git a/examples/storage/nvs_rw_value/main/CMakeLists.txt b/examples/storage/nvs/nvs_rw_value/main/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_value/main/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_value/main/CMakeLists.txt diff --git a/examples/storage/nvs_rw_value/main/nvs_value_example_main.c b/examples/storage/nvs/nvs_rw_value/main/nvs_value_example_main.c similarity index 95% rename from examples/storage/nvs_rw_value/main/nvs_value_example_main.c rename to examples/storage/nvs/nvs_rw_value/main/nvs_value_example_main.c index fc17ea2696..b68016afea 100644 --- a/examples/storage/nvs_rw_value/main/nvs_value_example_main.c +++ b/examples/storage/nvs/nvs_rw_value/main/nvs_value_example_main.c @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ /* Non-Volatile Storage (NVS) Read and Write a Value - Example For other examples please check: diff --git a/examples/storage/nvs_rw_value/pytest_nvs_rw_value.py b/examples/storage/nvs/nvs_rw_value/pytest_nvs_rw_value.py similarity index 100% rename from examples/storage/nvs_rw_value/pytest_nvs_rw_value.py rename to examples/storage/nvs/nvs_rw_value/pytest_nvs_rw_value.py diff --git a/examples/storage/nvs_rw_value/sdkconfig.ci b/examples/storage/nvs/nvs_rw_value/sdkconfig.ci similarity index 100% rename from examples/storage/nvs_rw_value/sdkconfig.ci rename to examples/storage/nvs/nvs_rw_value/sdkconfig.ci diff --git a/examples/storage/nvs_rw_value_cxx/CMakeLists.txt b/examples/storage/nvs/nvs_rw_value_cxx/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_value_cxx/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_value_cxx/CMakeLists.txt diff --git a/examples/storage/nvs_rw_value_cxx/README.md b/examples/storage/nvs/nvs_rw_value_cxx/README.md similarity index 100% rename from examples/storage/nvs_rw_value_cxx/README.md rename to examples/storage/nvs/nvs_rw_value_cxx/README.md diff --git a/examples/storage/nvs_rw_value_cxx/main/CMakeLists.txt b/examples/storage/nvs/nvs_rw_value_cxx/main/CMakeLists.txt similarity index 100% rename from examples/storage/nvs_rw_value_cxx/main/CMakeLists.txt rename to examples/storage/nvs/nvs_rw_value_cxx/main/CMakeLists.txt diff --git a/examples/storage/nvs_rw_value_cxx/main/nvs_value_example_main.cpp b/examples/storage/nvs/nvs_rw_value_cxx/main/nvs_value_example_main.cpp similarity index 95% rename from examples/storage/nvs_rw_value_cxx/main/nvs_value_example_main.cpp rename to examples/storage/nvs/nvs_rw_value_cxx/main/nvs_value_example_main.cpp index e1bd1d0842..ace2198ac7 100644 --- a/examples/storage/nvs_rw_value_cxx/main/nvs_value_example_main.cpp +++ b/examples/storage/nvs/nvs_rw_value_cxx/main/nvs_value_example_main.cpp @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ /* Non-Volatile Storage (NVS) Read and Write a Value - Example For other examples please check: diff --git a/examples/storage/nvs_rw_value_cxx/pytest_nvs_rw_value_cxx.py b/examples/storage/nvs/nvs_rw_value_cxx/pytest_nvs_rw_value_cxx.py similarity index 100% rename from examples/storage/nvs_rw_value_cxx/pytest_nvs_rw_value_cxx.py rename to examples/storage/nvs/nvs_rw_value_cxx/pytest_nvs_rw_value_cxx.py diff --git a/examples/storage/nvs_rw_value_cxx/sdkconfig.ci b/examples/storage/nvs/nvs_rw_value_cxx/sdkconfig.ci similarity index 100% rename from examples/storage/nvs_rw_value_cxx/sdkconfig.ci rename to examples/storage/nvs/nvs_rw_value_cxx/sdkconfig.ci diff --git a/examples/storage/nvsgen/CMakeLists.txt b/examples/storage/nvs/nvsgen/CMakeLists.txt similarity index 100% rename from examples/storage/nvsgen/CMakeLists.txt rename to examples/storage/nvs/nvsgen/CMakeLists.txt diff --git a/examples/storage/nvsgen/README.md b/examples/storage/nvs/nvsgen/README.md similarity index 83% rename from examples/storage/nvsgen/README.md rename to examples/storage/nvs/nvsgen/README.md index 5d04bd8dc2..5430cbe503 100644 --- a/examples/storage/nvsgen/README.md +++ b/examples/storage/nvs/nvsgen/README.md @@ -5,7 +5,7 @@ (See the README.md file in the upper level 'examples' directory for more information about examples.) -This example demonstrates how to use the NVS image generation tool [nvs_partition_gen.py](../../../components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py) to automatically create a NVS partition image from the contents of a CSV file during build, with an option of automatically flashing the created image on invocation of `idf.py -p PORT flash`. For more information, see description of `nvs_partition_gen.py` on the ESP-IDF Programming Guide under API Reference > Storage API > NVS Partition Generator Utility. +This example demonstrates how to use the NVS image generation tool [nvs_partition_gen.py](../../../../components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py) to automatically create a NVS partition image from the contents of a CSV file during build, with an option of automatically flashing the created image on invocation of `idf.py -p PORT flash`. For more information, see description of `nvs_partition_gen.py` on the ESP-IDF Programming Guide under API Reference > Storage API > NVS Partition Generator Utility. The following gives an overview of the example: diff --git a/examples/storage/nvsgen/main/CMakeLists.txt b/examples/storage/nvs/nvsgen/main/CMakeLists.txt similarity index 100% rename from examples/storage/nvsgen/main/CMakeLists.txt rename to examples/storage/nvs/nvsgen/main/CMakeLists.txt diff --git a/examples/storage/nvsgen/main/nvsgen_example_main.c b/examples/storage/nvs/nvsgen/main/nvsgen_example_main.c similarity index 100% rename from examples/storage/nvsgen/main/nvsgen_example_main.c rename to examples/storage/nvs/nvsgen/main/nvsgen_example_main.c diff --git a/examples/storage/nvsgen/nvs_data.csv b/examples/storage/nvs/nvsgen/nvs_data.csv similarity index 100% rename from examples/storage/nvsgen/nvs_data.csv rename to examples/storage/nvs/nvsgen/nvs_data.csv diff --git a/examples/storage/nvsgen/partitions_example.csv b/examples/storage/nvs/nvsgen/partitions_example.csv similarity index 100% rename from examples/storage/nvsgen/partitions_example.csv rename to examples/storage/nvs/nvsgen/partitions_example.csv diff --git a/examples/storage/nvsgen/pytest_nvsgen_example.py b/examples/storage/nvs/nvsgen/pytest_nvsgen_example.py similarity index 100% rename from examples/storage/nvsgen/pytest_nvsgen_example.py rename to examples/storage/nvs/nvsgen/pytest_nvsgen_example.py diff --git a/examples/storage/nvsgen/sdkconfig.defaults b/examples/storage/nvs/nvsgen/sdkconfig.defaults similarity index 100% rename from examples/storage/nvsgen/sdkconfig.defaults rename to examples/storage/nvs/nvsgen/sdkconfig.defaults diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index ab20f86544..93258a6647 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -908,9 +908,6 @@ examples/protocols/static_ip/main/static_ip_example_main.c examples/provisioning/wifi_prov_mgr/main/app_main.c examples/security/flash_encryption/main/flash_encrypt_main.c examples/storage/custom_flash_driver/main/main.c -examples/storage/nvs_rw_blob/main/nvs_blob_example_main.c -examples/storage/nvs_rw_value/main/nvs_value_example_main.c -examples/storage/nvs_rw_value_cxx/main/nvs_value_example_main.cpp examples/storage/partition_api/partition_find/main/main.c examples/storage/partition_api/partition_mmap/main/main.c examples/storage/partition_api/partition_ops/main/main.c