Embedded FAT file system

The embedded FAT file system used by professional developers

The PX5 FILE embedded FAT file system is ultrasmall making it ideal for the most memory-constrained embedded devices.

Extensive caching mechanisms—caches for logical sectors, FAT entries, and directory search entries—enable ultrahigh performance. All caching is optional, and the developer controls the size of each cache.

PX5 FILE is rigorously tested for each release with 100% C statement and branch-decision coverage testing. In addition, it leverages pointer data verification (PDV) for integrity verification of stacks and internal system objects during runtime. Finally, optional run-time fault tolerance guarantees file system integrity after power loss.

PX5 FILE is simple to use. It implements the industry-standard FAT file system format:

  • FAT 12/16/32 bit support.
  • 8.3 and Long File Name (LFN) support.
  • A simple read/write sector direct call driver interface.
  • Linux file system API (open, close, read, write) is implemented natively.

PX5 FILE has ultra-small footprint, making it ideal for memory-constrained devices, while also offering ultra-high performance.

Components of PX5 FILE

Mouse over for component details
PX5 FILE API (open, close, read, write, etc.) Simple Read/Write sector driver
(RAM Disk, LEVELX, SDCard, etc.)
  • Small, fast and easy to use
  • Linux File API support
  • Fault-tolerant support
  • Pointer data verification (PDV)
  • FAT 12/16/32 support
  • 8.3 and long file name (LFN)
  • Simple r/w sector driver
  • FLASH wear-leveling
  • Arm Cortex-M/R/A & RISC-V
  • IAR, GCC, Arm tools & Renesas RX
  • Full source and no royalties
  • Professional support


PX5 FILE has extensive caching for optimal run-time performance. The logical sector cache stores the most often used logical sectors, eliminating costly reads from the physical device. The FAT entry cache consists of the most often used FAT entries, which reduces the number of FAT sectors read. The directory entry cache improves searching for files and sub-directories by caching sub-directory entries. All caches (and memory required) are under the complete control of the developer.


PX5 FILE is one of the smallest embedded file systems on the market, requiring less than 6KB of FLASH and 2KB of RAM for minimal use. Equally important, since PX5 FILE is implemented as loosely coupled C functions, the flash memory requirements scale automatically based on precisely what is being used. The linker automatically omits unused code if an API is not being used.


The PX5 FILE embedded file system comprises one source file, px5_file.c, which can be easily added to any project. The only additional requirement is to set up the project’s include path so that px5_file.h can be located during compilation. At this point, PX5 FILE is ready for operation—no complicated projects and linker control file changes are necessary.

Sample code:

#include <pthread.h>
#include  <px5_file.h>

unsigned char     memory[1024];
unsigned char     buffer[512];
int               file_handle;

int    main()

ssize_t         bytes_read;
unsigned char   read_buffer[8];

    /* Start PX5 RTOS.  */
    px5_pthread_start(1, memory, sizeof(memory));

    /* Start PX5 FILE.  */ 

    /* Open a volume.  */ 
    px5_volume_open(‘0’, physical_driver, NULL, buffer,sizeof(buffer);

    /* Open a file.  */ 
    file_handle =  open(“TESTFILE.TXT”, O_RDWR);

    /* Read 8 bytes from the file.  */ 
    bytes_read =  read(file_handle, read_buffer, sizeof(read_buffer));



PX5 FILE uses the global data encapsulation technique used by the RTOS. This technique enables register-relative code generation and makes detecting memory corruption of the PX5 FILE global data easier.

Full Source Code

PX5 FILE is delivered with complete source code designed to be easy to understand. It is also rigorously tested—100% C statement and branch decision coverage testing for every release. The PX5 FILE source code is genuinely high quality.

Processor Support

PX5 FILE is entirely written in ANSI C, making it highly portable to any processor architecture with C compiler support, including all popular Arm architectures (Cortex-A/R/M) and RISC-V.

Tool Support

PX5 FILE also supports the most popular embedded development tools, including those from IAR, Arm, and GCC.

Royalty Free

PX5 FILE is offered royalty-free, with simple and easy-to-understand licensing terms.


Professional Support

The embedded software experts on the PX5 support team are always ready to help and promise quick action on every support request. We are here to help!



To take advantage of the advanced PX5 RTOS in your next embedded design, please contact us about licensing options today!

Please also reach out to us if you have any questions about the PX5 RTOS and how it might benefit your development.




User Guide


Please Sign in

You need to Log In first before you can download User Guide.

Log In

Please Sign in

You need to Log In first before you can download White paper.

Log In

FILE News Sign Up

Message Sent

Thank you for subscribing!
You’ll get company news and helpful tips, upcoming events, and more.

Your Feedback


Please answer 5 quick questions to help us better meet your needs!

What do you like about the PX5 RTOS?

What do you dislike about the PX5 RTOS?

What would you like to see the PX5 RTOS?

What do you like about our website?

How can we improve our website?

Survey Completed

Thank you

We sincerely appreciate your valuable input and the time you’ve taken to complete a survey.