RanFS是基于C(C89)编写的,提供POSIX兼容的文件操作API,轻量级的文件系统库。
RanFS目标是为嵌入式设备提供功能完善和高效的文件操作API,通过上层接口封装实现对多种文件系统的读写或读支持。
可运行在资源很少的单片机环境里,比如 8051, PIC, AVR, ARM, DSP, Z80, 78K 等等
目前支持 fat12/16/32 可读写文件系统,ntfs、ext2、ext3、ext4可读文件系统,支持大于512字节扇区的盘,支持超过2T的硬盘,支持多分区 多文件,支持长文件名打开、创建、删除,支持通过扇区偏移量快速打开文件,支持创建目录等等。
只需提供设备扇区读写函数和时间获取函数。
通过宏控制,来选择使用全局变量,还是需要时使用malloc进行动态分配,如使用malloc,那么同时打开的分区和文件个数,取决于可用内存。如果选择使用全局变量,那么需要进一步的配置支持的扇区大小 分区数 文件数等,来决定内存空间的使用。
由于完整的库占用比较大的空间,所以提供宏对每个api进行开启和关闭,来实现功能和空间的取舍。