zephyr/samples/subsys/fs/format
Keith Packard 0b90fd5adf samples, tests, boards: Switch main return type from void to int
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.

Most of these changes were automated using coccinelle with the following
script:

@@
@@
- void
+ int
main(...) {
	...
-	return;
+	return 0;
	...
}

Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-14 07:49:41 +09:00
..
src samples, tests, boards: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
CMakeLists.txt
prj_ram.conf
prj.conf
README.rst
sample.yaml

.. _fs_format_sample:

FS Format Sample
################

Overview
***********

This sample shows how to format different storage
devices for different file systems. There are 2 scenarios prepared for this
sample:
* littleFS on flash device
* FAT file system on RAM disk

Building and running
********************

To run this sample, build it for the desired board and scenario and flash it.

The Flash scenario is supported on the nrf52dk_nrf52832 board.
The RAM disk scenario is supported on the mimxrt1064_evk board.
To build the RAM disk sample, the configuration `prj_ram.conf` needs to be used by setting `CONF_FILE=prj_ram.conf`.

The Flash sample for the nrf 52DK board can be build as follow:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/fs/format
   :board: nrf52dk_nrf52832
   :goals: build flash
   :compact:

The RAM disk sample for the MIMXRT1064-EVK board can be build as follow:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/fs/format
   :board: mimxrt1064_evk
   :conf: "prj_ram.conf"
   :goals: build flash
   :compact:

Sample Output
=============

When the sample runs successfully you should see following message on the screen:
.. code-block:: console

  I: LittleFS version 2.4, disk version 2.0
  I: FS at flash-controller@4001e000:0x7a000 is 6 0x1000-byte blocks with 512 cycle
  I: sizes: rd 16 ; pr 16 ; ca 64 ; la 32
  I: Format successful