Advanced, Industrial Grade FAT File System
FILEX is Express Logic’s advanced, Industrial Grade solution for Microsoft FAT file system 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.
Minimal FILEX RAM usage is on the order of 1.8KB for one media instance and with only a 512-byte logical sector cache.
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.
- 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 with FILEX or as a stand-alone, direct read/write FLASH sector library for the application.
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:
- Quality Documentation – please review our FILEX User Guide and see for yourself!
- Complete Source Code Availability
- Easy-to-use API
- Comprehensive and Advanced Feature Set
Pre-certified by TUV and UL to many safety standards
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.
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
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:
Supports most popular architectures
- Analog Devices: SHARC, Blackfin
- ARM: ARM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A5/A7/A8/A9/A52/A53/A57/R4/R5
- Cadence: Xtensa, Diamond
- CEVA: TeakLlte-lll
- EnSilica: eSi-RISC
- Imagination: MIPS32 4K, 24K, 34K, 1004K, MIPS64 5K, microAptiv, interAptiv, proAptiv, M-Class
- Intel: 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
- 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
- Xilinx: MicroBlaze, PowerPC 405, ZYNQ