I want a simple filesystem in pure C (no FUSE, or anything).

It needs directories, and files that can grow.

Specs of embedded system I want to use it on:

128KB of flash

64KB of RAM

RTOS available for threading, queues, and fixed-size memory allocation

No malloc available.

Note: using a simple read() and write() interface would be nice, rather than direct buffer acces... this would make porting to my board easier.

Note 2: I am looking for a library, not to make a filesystem.

  • FAT12 is a tiny file system with directories and growable files. Try looking for it's implementation in C. The data-reading part should be included in every boot loader – xmojmr Nov 24 '16 at 12:59
  • @xmojmr thanks for the response! I don't want ChaN's library though.. – user27945 Nov 24 '16 at 13:00
  • The linux kernel (www.kernel.org) has C based implementations of many file systems including FAT12/16/32. It has a subfolder named fs (file systems) and a subfolder fat. Some amount of tweaking would be needed to get it to work for you, but it could probably be done. – cybernard Nov 28 '16 at 22:42
  • @cybernard Thank you for the suggestion! I'm not a Linux programmer, though, and porting this might be difficult and it might be too big for my project. – user27945 Nov 28 '16 at 22:53
  • How about lean fs freedos-32.sourceforge.net/lean – cybernard Nov 28 '16 at 23:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy