Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
---|
FATFS Filesystem Operations Example
(See the README.md file in the upper level 'examples' directory for more information about examples.)
This example demonstrates some of the POSIX functions available for working with the FATFS filesystem. Including basic read and write operations, as well as creating moving, and deleting files and directories.
Overview
-
Partition labeled
storage
is mounted (and formatted if necessary) as FATFS filesystem to/spiflash
mountpoint. -
All existing files and directories in the root directory are deleted.
-
File
hello.txt
is created and written to. -
File
hello.txt
is inspected usingfstat
function showing file size and last modification time. -
File
hello.txt
is written to again, appending to the end of the file. -
File
hello.txt
is read from and the contents are printed to the console. -
New directory
new_dir
is created. -
All files and directories in the root directory are listed.
-
File
hello.txt
is moved and renamed tonew_dir/hello_renamed.txt
.
How to use example
Build and flash
To run the example, type the following command:
# CMake
idf.py -p PORT flash monitor
(To exit the serial monitor, type Ctrl-]
.)
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
Example output
Here is the example's console output:
...
I (323) example: Mounting FAT filesystem
I (333) example: Deleting everything in /spiflash:
I (333) example: Deleting everything in /spiflash/new_dir:
I (673) example: Creating a file
I (683) example: Writing to the file
I (733) example: File stats:
File size: 13 bytes
File modification time: Thu Jan 1 00:00:00 1970
I (743) example: Wait for 1 seconds
I (1743) example: Write more to the file
I (1743) example: File stats:
File size: 26 bytes
File modification time: Thu Jan 1 00:00:00 1970
I (1743) example: Go to the beginning of the file
I (1753) example: Reading from file:
Hello World!
Hello World!
I (1753) example: Closing file
I (1993) example: Listing files in /spiflash:
/spiflash:
file : hello.txt
I (1993) example: Creating a new directory
I (2383) example: Listing files in /spiflash:
/spiflash:
file : hello.txt
directory: new_dir
I (2383) example: Rename a file
I (2503) example: Listing files in /spiflash:
/spiflash:
directory: new_dir
I (2503) example: Listing files in /spiflash/new_dir:
/spiflash/new_dir:
file : hello_renamed.txt
I (2513) example: Unmounting FAT filesystem
I (2643) example: Done
...
The logic of the example is contained in a single source file, and it should be relatively simple to match points in its execution with the log outputs above.