File system manipulation
Overview
This sample app demonstrates use of the file system API and uses the FAT or Ext2 file system driver with SDHC card, SoC flash or external flash chip.
To access device the sample uses Disk Access.
Requirements for SD card support
This project requires SD card support and microSD card formatted with proper file system
(FAT or Ext2) See the Disk Access documentation for Zephyr implementation details.
Boards that by default use SD card for storage: arduino_mkrzero
, esp_wrover_kit
,
mimxrt1050_evk
, nrf52840_blip
and olimexino_stm32
. The sample should be able
to run with any other board that has “zephyr,sdmmc-disk” DT node enabled.
Requirements for setting up FAT FS on SoC flash
For the FAT FS to work with internal flash, the device needs to support erase
pages of size <= 4096 bytes and have at least 64kiB of flash available for
FAT FS partition alone.
Currently the following boards are supported:
nrf52840dk/nrf52840
Requirements for setting up FAT FS on external flash
This type of configuration requires external flash device to be available
on DK board. Currently following boards support the configuration:
nrf52840dk/nrf52840
by nrf52840dk_nrf52840_qspi
configuration.
Building and Running FAT samples
Boards with default configurations, for example arduino_mkrzero
or
nrf52840dk/nrf52840
using internal flash can be built using command:
west build -b nrf52840_blip samples/subsys/fs/fs_sample
Where used example board nrf52840_blip
should be replaced with desired board.
In case when some more specific configuration is to be used for a given board,
for example nrf52840dk/nrf52840
with MX25 device over QSPI, configuration
and DTS overlays need to be also selected. The command would look like this:
west build -b nrf52840dk/nrf52840 samples/subsys/fs/fs_sample -- -DEXTRA_CONF_FILE=nrf52840dk_nrf52840_qspi.conf -DDTC_OVERLAY_FILE=nrf52840dk_nrf52840_qspi.overlay
In case when board with SD card is used FAT microSD card should be present in the microSD slot. If there are any files or directories present in the card, the sample lists them out on the debug serial output.
Warning
In case when mount fails the device may get re-formatted to FAT FS.
To disable this behaviour disable CONFIG_FS_FATFS_MOUNT_MKFS
.
Building and Running EXT2 samples
Ext2 sample can be built for hifive_unmatched/fu740/s7
or bl5340_dvk/nrf5340/cpuapp
. Because
FAT is default file system for this sample, additional flags must be passed to build
the sample.
west build -b hifive_unmatched/fu740/s7 hifive_unmatched/fu740/u74 samples/subsys/fs/fs_sample -- -DCONF_FILE=prj_ext.conf
A microSD card must be present in a microSD card slot of the board, for the sample to execute. After starting the sample a contents of a root directory should be printed on the console.