doc: Add documentation for file system subsystem
Add documentation for file system subsystem. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
This commit is contained in:
parent
d6870e408a
commit
5049694a20
1 changed files with 45 additions and 4 deletions
|
@ -3,13 +3,54 @@
|
|||
File Systems
|
||||
############
|
||||
|
||||
Zephyr RTOS Virtual Filesystem Switch (VFS) allows applications to mount multiple
|
||||
file systems at different mount points (e.g., ``/fatfs`` and ``/nffs``). The
|
||||
mount point data structure contains all the necessary information required
|
||||
to instantiate, mount, and operate on a file system. The File system Switch
|
||||
decouples the applications from directly accessing an individual file system's
|
||||
specific API or internal functions by introducing file system registration
|
||||
mechanisms.
|
||||
|
||||
In Zephyr, any file system implementation or library can be plugged into or
|
||||
pulled out through a file system registration API.
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
int fs_register(enum fs_type type, struct fs_file_system_t *fs);
|
||||
|
||||
int fs_unregister(enum fs_type type, struct fs_file_system_t *fs);
|
||||
|
||||
Zephyr RTOS supports multiple instances of a file system by making use of
|
||||
the mount point as the disk volume name, which is used by the file system library
|
||||
while formatting or mounting a disk.
|
||||
|
||||
A file system is declared as:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
static struct fs_mount_t mp = {
|
||||
.type = FS_FATFS,
|
||||
.mnt_point = FATFS_MNTP,
|
||||
.fs_data = &fat_fs,
|
||||
};
|
||||
|
||||
where
|
||||
|
||||
- ``FS_FATFS`` is the file system type like FATFS or NFFS.
|
||||
- ``FATFS_MNTP`` is the mount point where the file system will be mounted.
|
||||
- ``fat_fs`` is the file system data which will be used by fs_mount() API.
|
||||
|
||||
Known Limitations
|
||||
*****************
|
||||
|
||||
NFFS supports only one instance of file system due to the library's internal
|
||||
implementation limitation.
|
||||
|
||||
|
||||
.. comment
|
||||
not documenting
|
||||
.. doxygengroup:: file_system
|
||||
.. doxygengroup:: file_system_storage
|
||||
Sample
|
||||
******
|
||||
|
||||
A sample of how the file system can be used is supplied in ``samples/subsys/fs``.
|
||||
|
||||
API Reference
|
||||
*************
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue