diff --git a/examples/filesystem/README.md b/examples/filesystem/README.md index 0b61f97dcd..c7791dc83e 100644 --- a/examples/filesystem/README.md +++ b/examples/filesystem/README.md @@ -7,16 +7,19 @@ application. In particular, this example shows: -- how to mount/format/unmount a file system, either with spiffs, littlefs, fatfs - or constfs +- how to mount/format/unmount a file system, either with constfs for all + devices and the default fs for devices that have a filesystem mountpoint + configured by the board. - how to open/read/write/close a file with and without newlib -In RIOT, most file systems use a `mtd` as flash interface. So to use this -example one must define `MTD_0`. `MTD_0` is a pointer to a `mtd_dev_t` -instance. +A `constfs` file system is demonstrated with two files for all targets +to demonstrate the file system functionality without an external mass +storage device. + +For targets that feature an onboard external mass storage device with a +mount point configured, like the Nordic nRF52840 Development Kit +(see `boards/nrf52840dk`), the flash chip is automatically added by VFS. -This example uses `littlefs` as default file system on the whole `mtd`. -A `constfs` file system is also demonstrated with two files. All the RIOT file systems are used through the `vfs` interface, and on most platforms files can be accessed transparently with `open/close/read/write/...` @@ -75,3 +78,52 @@ Hello World! cat /const/hello-riot Hello RIOT! ``` + +## Example on `nrf52840dk` with `littlefs` + +- Build and flash `filesystem` example application of the `nrf52840dk` target + +``` +make BOARD=nrf52840dk -C examples/filesystem all flash +[...] +``` + + - When connecting to the board via the serial console, it should display the + following output: +``` +main(): This is RIOT! (Version: 2024.04-devel-254-gee0f6d) +constfs mounted successfully +> +``` + +- The flash chip is empty by default and has to be formatted, which can be + done with the `vfs format /nvm0` command. After that it has to be mounted + with `vfs mount /nvm0`. Once the flash is formatted, it will be + automatically mounted during boot. +``` +> vfs format /nvm0 +> vfs mount /nvm0 +> vfs df +Mountpoint Total Used Available Use% +/const 27 B 27 B 0 B 100% +/nvm0 8 MiB 8 KiB 8184 KiB 0% +``` + +- After formatting, the flash is empty, but new files can be created + with `tee` and printed with `cat`. + +``` +> ls /nvm0 +./ +../ +total 0 files +> +> tee /nvm0/testfile "This is written to the flash!" +> cat /nvm0/testfile +This is written to the flash!> +> vfs ls /nvm0 +./ +../ +testfile 30 B +total 1 files +```