The embedded file system of choice for professional developers

The PX5 FILE embedded FAT file system is ultrasmall requiring less than 6KB of instruction memory and 2KB of RAM for minimal use. This makes it ideal for the most memory-constrained devices.

ultrahigh performance is achieved through its extensive caching mechanisms, including caches for logical sectors, FAT entries, and directory search entries. 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, it provides optional run-time fault tolerance, which guarantees file system integrity after power loss.

PX5 FILE is SIMPLE to use. It implements the industry standard FAT file system format, including FAT 12/16/32 bit support, 8.3 and Long File Name (LFN) support, and a simple read/write sector direct call driver interface. The industry standard LINUX file system API (open, close, read, write) is natively implemented, which most developers are already familiar with (no training is required for a proprietary API).

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

PX5 FILE Diagram

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
  • 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
  • Full Source & 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. This file 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 utilizes the global data encapsulation technique also used by PX5 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 architectures.

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.