FileX FAQ

What is FileX?

FileX provides an embedded file system optimized for resource‑constrained environments. It delivers high performance and reliability and integrates with RTOS platforms such as ThreadX, FreeRTOS, or custom operating systems.

What types of file systems does FileX support?

Use FileX to manage files on FAT12, FAT16, FAT32, and exFAT file systems. FileX also operates on storage devices such as SD cards, NAND and NOR Flash memories, and hard drives.

Is FileX compatible with RTOS?

FileX integrates seamlessly with standard RTOS platforms including ThreadX and FreeRTOS.

How to configure FileX for an embedded project?

To configure FileX in an embedded project:

  1. Include the required FileX header files (for example, ‘fx_api.h’) in your application sources.

  2. Configure user parameters in the ‘fx_user.h’ file (for example, cache size, statistics, and fault‑tolerance options).

  3. Initialize a media device (for example, an SD card or NOR Flash) using FileX functions such as ‘fx_media_open()’.

  4. Mount the file system on the target media and start reading and writing files through the FileX API.

What are the advantages of FileX compared to other file systems?

FileX offers several advantages for embedded projects:

  • High performance: FileX optimizes sector access and caching strategies for embedded workloads.

  • Low memory footprint: FileX adapts to systems with limited RAM and code size constraints.

  • Reliability: Fault‑tolerant options help protect data in the event of unexpected resets or power failures.

  • Portability: FileX runs across multiple MCU architectures and RTOS integrations.

  • exFAT support: FileX supports modern file systems suitable for high‑capacity storage devices.

Does FileX support fault tolerance?

Yes. FileX provides fault‑tolerant features such as transaction logging and recovery mechanisms. When configured, FileX uses these mechanisms to maintain data integrity after power failures or system crashes during file operations.

How to enable logging in FileX?

To enable logging for FileX:

  1. Configure the relevant logging options in the ‘fx_user.h’ file or in the integration layer.

  2. Initialize the logging mechanism using the appropriate FileX or application‑specific APIs.

  3. Reserve sufficient storage space for log data on the selected media device.

What types of storage devices does FileX support?

FileX supports a wide range of storage devices, including:

  • SD/MMC cards

  • NAND and NOR Flash memories

  • Hard drives

  • RAM disks

  • USB mass‑storage devices (when combined with the appropriate USB middleware)

How to manage local paths in FileX?

FileX provides APIs to manage local paths efficiently so that each thread can work in its own directory context. For example:

  • Use ‘fx_directory_local_path_set()’ to associate a local path with a thread.

  • Use ‘fx_directory_local_path_get()’ to retrieve the current local path for a thread.

  • Use ‘fx_directory_local_path_clear()’ to clear the local path when it is no longer needed.

These functions simplify directory navigation and make it easier to manage thread‑specific directory contexts in multitasking environments.