mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
docs: added some fast-seek documentation to the fatfs.rst
This commit is contained in:
parent
93ffc009ef
commit
ac6ce5ddbd
@ -187,8 +187,9 @@ menu "FAT Filesystem support"
|
||||
help
|
||||
The fast seek feature enables fast backward/long seek operations without
|
||||
FAT access by using an in-memory CLMT (cluster link map table).
|
||||
It is applied to f_read and f_write function as well, however,
|
||||
the file size cannot be expanded by write function.
|
||||
Please note, fast-seek is only allowed for read-mode files, if a
|
||||
file is opened in write-mode, the seek mechanism will automatically fallback
|
||||
to the default implementation.
|
||||
|
||||
|
||||
config FATFS_FAST_SEEK_BUFFER_SIZE
|
||||
|
@ -29,15 +29,17 @@ Most applications use the following workflow when working with ``esp_vfs_fat_``
|
||||
|
||||
4. Call the C standard library and POSIX API functions to perform such actions on files as open, read, write, erase, copy, etc. Use paths starting with the path prefix passed to :cpp:func:`esp_vfs_register` (for example, ``"/sdcard/hello.txt"``).
|
||||
|
||||
5. Optionally, call the FatFs library functions directly. In this case, use paths without a VFS prefix (for example, ``"/hello.txt"``).
|
||||
5. Optionally, by enabling the option `CONFIG_FATFS_USE_FASTSEEK`, use the POSIX lseek function to perform it faster, the fast seek will not work for files in write mode, so to take advantage of fast seek, you should open (or close and then reopen) the file in read-only mode.
|
||||
|
||||
6. Close all open files.
|
||||
6. Optionally, call the FatFs library functions directly. In this case, use paths without a VFS prefix (for example, ``"/hello.txt"``).
|
||||
|
||||
7. Call the FatFs function ``f_mount`` for the same drive number, with NULL ``FATFS*`` argument, to unmount the filesystem.
|
||||
7. Close all open files.
|
||||
|
||||
8. Call the FatFs function :cpp:func:`ff_diskio_register` with NULL ``ff_diskio_impl_t*`` argument and the same drive number to unregister the disk I/O driver.
|
||||
8. Call the FatFs function ``f_mount`` for the same drive number, with NULL ``FATFS*`` argument, to unmount the filesystem.
|
||||
|
||||
9. Call :cpp:func:`esp_vfs_fat_unregister_path` with the path where the file system is mounted to remove FatFs from VFS, and free the ``FATFS`` structure allocated in Step 1.
|
||||
9. Call the FatFs function :cpp:func:`ff_diskio_register` with NULL ``ff_diskio_impl_t*`` argument and the same drive number to unregister the disk I/O driver.
|
||||
|
||||
10. Call :cpp:func:`esp_vfs_fat_unregister_path` with the path where the file system is mounted to remove FatFs from VFS, and free the ``FATFS`` structure allocated in Step 1.
|
||||
|
||||
The convenience functions ``esp_vfs_fat_sdmmc_mount``, ``esp_vfs_fat_sdspi_mount`` and ``esp_vfs_fat_sdcard_unmount`` wrap the steps described above and also handle SD card initialization. These two functions are described in the next section.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user