Embedded File System

Advanced, Industrial Grade FAT File System

FILEX embedded file system is Express Logic’s advanced, Industrial Grade solution for Microsoft FAT file formats, designed specifically for deeply embedded, real-time, and IoT applications. FILEX supports all of Microsoft’s file formats, including FAT12, FAT16, FAT32 and exFAT. FILEX also offers optional fault tolerance and FLASH wear leveling via an add-on product called LevelX. All of this combined with an extremely small footprint, fast execution, and superior ease-of-use, make FILEX the ideal choice for the most demanding embedded IoT applications.

* Please contact Microsoft Inc. for licensing information concerning exFAT support.


FILEX embedded file system has a remarkably small minimal footprint of 8.6KB to 12KB for basic file read/write support.

Minimal FILEX RAM usage is on the order of 1.8KB for one media instance and with only a 512-byte logical sector cache.

Like THREADX, the size of FILEX automatically scales based on the services actually used by the application. This virtually eliminates the need for complicated configuration and build parameters, making things easier for the developer.

Fast execution

FILEX provides a logical sector cache as well as a FAT entry cache. The size of both are under direct control

of the application. In addition, FILEX provides contiguous cluster allocation and direct consecutive cluster reading and writing. Read/write requests of whole sectors are done directly between the application buffer and the media – i.e., no intermediate buffering is done. All of this and a general performance oriented design philosophy helps FILEX achieve the fastest possible performance.

Advanced technology

FILEX is advanced technology, including the following:
  • FAT 12/16/32 and exFAT support
  • Multiple partition support
  • Automatic scaling
  • Endian neutral
  • Long file name and 8.3 support
  • Optional fault tolerance support
  • Logical sector cache
  • FAT entry cache
  • Pre-allocation of clusters
  • Contiguous file support
  • Optional performance metrics
  • TRACEX system analysis support

NOR/NAND Wear Leveling (LEVELX)

LEVELX is Express Logic’s NOR/NAND FLASH wear leveling product. LEVELX can be used in conjunction

LEVELX is Express Logic’s NOR/NAND FLASH wear leveling product. LEVELX can be used in conjunction with FILEX or as a stand-alone, direct read/write FLASH sector library for the application.

Fastest time-to-market

FILEX is easy to install, learn, use, debug, verify, certify and maintain. As a result,

FILEX is one of the most popular FAT file systems for embedded IoT devices.

The following are some reasons for our consistent time-to-market advantage:

  1. Quality Documentation – please review our FILEX User Guide and see for yourself!
  2. Complete Source Code Availability
  3. Easy-to-use API
  4. Comprehensive and Advanced Feature Set

Pre-certified by TUV and UL to many safety standards

FILEX has been certified by SGS-TUV Saar for use in safety-critical systems, according to IEC-61508 SIL 4, IEC-62304 SW Safety Class C,

ISO 26262 ASIL D and EN 50128. The certification confirms that FILEX can be used in the development of safety-related software for the highest safety integrity levels of IEC-61508, IEC-62304, ISO 26262 and EN 50128 for the “Functional Safety of electrical, electronic, and programmable electronic safety-related systems.” SGS-TUV Saar, formed through a joint venture of Germany’s SGS-Group and TUV Saarland, has become the leading accredited, independent company for testing, auditing, verifying and certifying embedded software for safety-related systems worldwide. The industrial safety standard IEC 61508, and all standards that are derived from it, including IEC-62304, ISO 26262 and EN 50128, are used to assure the functional safety of electrical, electronic, and programmable electronic safety-related medical devices, process control systems, industrial machinery, automobiles and railway control systems.


FILEX has been recognized by UL for compliance with UL 60730-1 Annex H, CSA E60730-1 Annex H, IEC 60730-1 Annex H, UL 60335-1 Annex R, IEC 60335-1 Annex R, and UL 1998 safety standards for software in programmable components. UL is a global, independent, safety-science company with more than a century of expertise innovating safety solutions, ranging from the public adoption of electricity to breakthroughs in sustainability, renewable energy, and nanotechnology.


Artifacts (Certificate, Safety Manual, Test Report, etc.) associated with the TUV and UL certifications are available for sale. Please contact us for more details at

In cases where the application needs additional certification, a certification service is available through Express Logic for providing turn-key certification to various standards using the actual hardware platform and even covering the application code. Please contact us for more details on our certification service.

Royalty free

FILEX is licensed royalty-free, for the lowest possible manufacturing cost. There are five basic types

of licenses and the ability to create a custom license for unique situations. Please see the licensing page for more information.

Full, highest-quality source code

From the very beginning, FILEX was designed to be an Industrial Grade FAT file system solution distributed with full C source code.

Throughout the years, FILEX source code has set the bar in quality and ease of understanding. In addition, the convention of having one function per-file, provides for easy source navigation. The following is an example of the FILEX fx_media_open_notify_set.c function:

FILEX Source Code

Supports most popular architectures

FILEX runs on most popular 32/64-bit microprocessors, out-of-the-box, fully tested and fully supported, including the following:
  • Analog Devices: SHARC, Blackfin, CM4xx
  • Andes Core: RISC-V
  • Ambiqmicro: Apollo MCUs
  • ARM: ARM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A15/A5/A7/A8/A9/A5x 64-bi/A7x 64-bit/R4/R5, TrustZone ARMv8-M
  • Cadence: Xtensa, Diamond
  • CEVA: PSoC, PSoC 4, PSoC 5, PSoC 6, FM0+, FM3, MF4, WICED WiFi
  • Cypress: RISC-V
  • EnSilica: eSi-RISC
  • Infineon: XMC1000, XMC4000, TriCore
  • Intel & Intel FPGA: x36/Pentium, XScale, NIOS II, Cyclone, Arria 10
  • Microchip: AVR32, ARM7, ARM9, Cortex-M3/M4/M7, SAM3/4/7/9/A/C/D/E/G/L/SV, PIC24/PIC32
  • Microsemi: RISC-V
  • NXP: LPC, ARM7, ARM9, PowerPC, 68K, i.MX, ColdFire, Kinetis Cortex-M3/M4
  • Renesas: SH, HS, V850, RX, RZ, Synergy
  • Silicon Labs: EFM32
  • Synopsys: ARC 600, 700, ARC EM, ARC HS
  • ST: STM32, ARM7, ARM9, Cortex-M3/M4/M7
  • Tl: C5xxx, C6xxx, Stellaris, Sitara, Tiva-C
  • Wave Computing: MIPS32 4K, 24K, 34K, 1004K, MIPS64 5K, microAptiv, interAptiv, proAptiv, M-Class
  • Xilinx: MicroBlaze, PowerPC 405, ZYNQ, ZYNQ UltraSCALE
** Please note that all timing and size figures listed are estimates and may be different on your development platform.

Subscribe to our news