emFile是一个面向嵌入式应用的文件系统,支持各种类型的存储设备。emFile作为一个通用的高性能软件库,以ANSI C代码实现,并针对RAM和ROM占用以及运行速度进行了高度优化,可以运行在各种CPU架构之上。

emFile提供了NAND和NOR flash,SD卡和eMMC等各种存储介质驱动,可以与各种存储设备一起实现丰富的嵌入式应用。


emFile特性
· MS DOS/ Windows兼容的FAT12、FAT16和FAT32及私有的EFS文件系统
· 支持RAID(RAID0/RAID1/RAID5)技术,提高性能和数据安全
· 支持长文件名
· 提供多种存储介质驱动
· 设备驱动允许同时访问不同的存储介质
· 支持Cache,将最近使用过的扇区数据保存在RAM中,提高文件系统性能
· 与多种RTOS集成,实现线程安全
· 为用户应用提供ANSI C stdio.h类型的API
· 简单的设备驱动结构:emFile设备驱动仅需实现基本的块读写函数
· 可选的NOR flash(EEPROM)驱动:支持CFI兼容的NOR flash,提供磨损平衡
· 可选的NAND flash驱动:高速读/写,提供磨损平衡和ECC功能
· 可选的MultiMedia&SD卡驱动,支持SPI模式和card模式
· 可选的IDE驱动,支持CompactFlash,使用True IDE模式或Memory card模式
· 可选的私有文件系统(EFS),支持长文件名
· 可选的journaling(日志)模块,异常复位时保证文件系统的完整性
· 提供NAND flash评估板
· 源代码遵循MISRA C:2012
· 文件名支持日语字符(可选)

· 可选的BigFile模块,支持大于4GB文件


NAND和NOR flash支持

emFile提供的NAND flash设备驱动支持SLC(单层单元)及MLC(多层单元)的flash设备。支持使用NAND flash设备内置的ECC引擎或专门的NAND flash控制器实现一位和多位ECC纠正;或者使用Segger 的emLib-ECC,通过软件方式实现ECC。为了支持大容量的NAND Flash设备,NAND驱动允许存储块分组,以节约管理所需的RAM空间。NOR flash驱动支持串行及并行flash设备、CFI兼容的flash及QSPI flash。


Segger (Q)SPI评估板


flash驱动利用静态及动态磨损平衡技术,跟踪块的擦除次数,确保每个块的擦除次数大致相同,延长存储设备的寿命。此外,NAND和NOR驱动还支持垃圾回收,垃圾回收功能在需要的时候自动执行,应用可以主动调用垃圾回收功能最小化写延迟。


SD卡和eMMC支持

emFile提供了访问SD卡和eMMC设备的驱动程序。支持各种存储容量的SD卡,包括SDSC,SDHC,SDXC等。同一设备驱动程序支持所有设备类型,减少ROM使用。利用支持DMA方式的4/8位数据总线的SD主机控制器实现高效的数据传输。在资源受限的系统中,提供基于SPI接口的数据传输。


文件加密

emFile的附加模块Encryption可以实现单个文件或整个存储设备的加密。加密模块支持EFS及FAT文件系统,支持所有类型的存储介质,如NAND、NOR、SD卡、eMMC卡。仅需在应用代码中执行简单的修改,选择加密算法,设置卷设备或文件的密码即可实现加密操作。


Journaling(日志)

Journaling模块是emFile的附加模块。在文件系统之上,用于提供文件系统层的故障安全。标准文件系统(如FAT)是非故障安全的。使用了日志模块后,文件系统先将文件更新记录到日志中,然后更新主文件系统。防止异常中断如掉电等造成的破坏。Journaling层存储每次写访问,以保持文件系统的连续性。


内存需求

emFile的具体内存消耗取决于使用的CPU、编译器、内存模型及配置选项和使用的存储设备驱动等因素。
ROM: 9-40KB
RAM:2KB
*准确的值取决于使用的功能。在不同的目标系统上测量,数值会有所不同。
京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司