Files
esp-idf/examples/storage/README.md
sonika.rathi c7f7584c7f docs(storage): clarify example READMEs and when to use each
Update storage example docs so FATFS getting_started and wear_levelling
are clearly distinct, refresh the storage index paths, and add
"When to use this example" sections across storage examples.
2026-08-25 12:59:26 +02:00

37 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Storage Examples
Storage and management of user and system data in modules flash and on external memory / devices.
This directory contains a range of examples ESP-IDF projects. These are intended to demonstrate the storage features, and to provide code that you can copy and adapt into your own projects.
# Example Layout
The examples are grouped into sub-directories by category. Each category directory contains one or more example projects:
* `fatfs/getting_started` — minimal FATFS on internal SPI flash (mount / write / read / unmount). Wear levelling is used via `esp_vfs_fat_spiflash_mount_rw_wl`.
* `fatfs/fs_operations` — broader FATFS file and directory operations.
* `fatfs/ext_flash` — FATFS on an external SPI flash chip.
* `fatfs/fatfsgen` — build-time FATFS image generation.
* `wear_levelling` — wear levelling + FATFS lifecycle (mount, write/read, format, verify, rewrite). Not a duplicate of `fatfs/getting_started`; use that for the minimal first demo.
* `littlefs` — LittleFS on flash (wear management is built into LittleFS; not the wear_levelling component).
* `custom_flash_driver` — implement a custom flash chip driver by overriding the default driver.
* `emmc` — use an eMMC chip with an ESP device.
* `nvs/nvs_bootloader` — read NVS data from bootloader code.
* `nvs/nvs_rw_blob` — read/write an integer and a blob in NVS across restarts.
* `nvs/nvs_rw_value` — read/write a single integer in NVS.
* `nvs/nvs_rw_value_cxx` — same as `nvs/nvs_rw_value` using the C++ NVS handle API.
* `nvs/nvs_console` — interactive NVS console.
* `nvs/nvs_statistics` — NVS used/available entry statistics.
* `nvs/nvs_iteration` — iterate NVS entries by type/namespace.
* `nvs/nvsgen` — NVS partition / image generation helpers.
* `partition_api` — partition API examples.
* `parttool` — common host-side partition tool operations.
* `sd_card` — SD card examples.
* `semihost_vfs` — semihosting VFS driver.
* `spiffs` — SPIFFS on flash.
* `spiffsgen` — build-time SPIFFS image generation with spiffsgen.py.
* `perf_benchmark` — storage performance benchmarking.
# More
See the [README.md](../README.md) file in the upper level [examples](../) directory for more information about examples.