Merge branch 'feature/wear_levelling' into 'master'
wear levelling This MR adds wear levelling component. It presents an interface similar to the interface of spi_flash and esp_partition. Inside, it stores data inside a partition to in a way that reduces worst case number of erase cycles for any given sector. Also included are APIs similar to the ones provided for SDMMC to mount FAT filesystem on top of the wear levelling partition. A simple example shows how this API can be used. Ref TW10338. See merge request !567
This commit is contained in:
@@ -12,7 +12,7 @@ Using FatFs with VFS
|
||||
|
||||
Most applications will use the following flow when working with ``esp_vfs_fat_`` functions:
|
||||
|
||||
1. Call ``esp_vfs_fat_register``, specifying path prefix where the filesystem has to be mounted (e.g. ``"/sdcard"``), FatFs drive number, and a variable which will receive a pointer to ``FATFS`` structure.
|
||||
1. Call ``esp_vfs_fat_register``, specifying path prefix where the filesystem has to be mounted (e.g. ``"/sdcard"``, ``"/spiflash"``), FatFs drive number, and a variable which will receive a pointer to ``FATFS`` structure.
|
||||
|
||||
2. Call ``ff_diskio_register`` function to register disk IO driver for the drive number used in step 1.
|
||||
|
||||
@@ -43,7 +43,7 @@ Using FatFs with VFS and SD cards
|
||||
|
||||
.. doxygenfunction:: esp_vfs_fat_sdmmc_mount
|
||||
|
||||
.. doxygenstruct:: esp_vfs_fat_sdmmc_mount_config_t
|
||||
.. doxygenstruct:: esp_vfs_fat_mount_config_t
|
||||
:members:
|
||||
|
||||
.. doxygenfunction:: esp_vfs_fat_sdmmc_unmount
|
||||
|
||||
@@ -9,6 +9,7 @@ Storage API
|
||||
Non-Volatile Storage <nvs_flash>
|
||||
Virtual Filesystem <vfs>
|
||||
FAT Filesystem <fatfs>
|
||||
Wear Levelling <wear-levelling>
|
||||
|
||||
|
||||
Example code for this API section is provided in :example:`storage` directory of ESP-IDF examples.
|
||||
|
||||
50
docs/api/storage/wear-levelling.rst
Normal file
50
docs/api/storage/wear-levelling.rst
Normal file
@@ -0,0 +1,50 @@
|
||||
.. include:: ../../../components/wear_levelling/README.rst
|
||||
|
||||
See also
|
||||
--------
|
||||
|
||||
- :doc:`FAT Filesystem </partition-tables>`
|
||||
- :doc:`Partition Table documentation </partition-tables>`
|
||||
|
||||
|
||||
Application Example
|
||||
-------------------
|
||||
|
||||
An example which combines wear levelling driver with FATFS library is provided in ``examples/storage/wear_levelling`` directory. This example initializes the
|
||||
wear levelling driver, mounts FATFS partition, and writes and reads data from it using POSIX and C library APIs. See README.md file in the example directory for more information.
|
||||
|
||||
High level API Reference
|
||||
-------------
|
||||
|
||||
Header Files
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* :component_file:`fatfs/src/esp_vfs_fat.h`
|
||||
|
||||
Functions
|
||||
^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: esp_vfs_fat_spiflash_mount
|
||||
.. doxygenstruct:: esp_vfs_fat_mount_config_t
|
||||
:members:
|
||||
.. doxygenfunction:: esp_vfs_fat_spiflash_unmount
|
||||
|
||||
Mid level API Reference
|
||||
-------------
|
||||
|
||||
Header Files
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* :component_file:`wear_levelling/include/wear_levelling.h`
|
||||
|
||||
Functions
|
||||
^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: wl_mount
|
||||
.. doxygenfunction:: wl_unmount
|
||||
.. doxygenfunction:: wl_erase_range
|
||||
.. doxygenfunction:: wl_write
|
||||
.. doxygenfunction:: wl_read
|
||||
.. doxygenfunction:: wl_size
|
||||
.. doxygenfunction:: wl_sector_size
|
||||
|
||||
Reference in New Issue
Block a user