FAT 文件系统 - 嵌入式 FAT12, FAT16 & FAT32 文件系统

FAT 文件系统概述

FAT 文件系统 (FAT FS) 使嵌入式开发人员方便、快捷的将自己的系统与其他主流系统整合起来,实现与 MS-DOS/Windows 兼容的文件系统互操作。之士公司的 FAT 文件系统可以完美运行于各种操作系统,也可以在非 ROST 系统上运行。该系统具有高效能、高速度、低空间占用率的优点,只需极少 RAM 和 ROM 即可运行。

截至 2008 年, 使用之士的 FAT 文件系统的设备超过 2500 万个,在全球消费电子和存储应用领域处于领先位置。

嵌入式 FAT 文件系统是安全可靠、功能齐全、高性能高效能的 FAT12/16/32 和 VFAT (长文件名)文件系统。它可以支持 MCU、CPU、DPS 等平台。它是一个专为嵌入式设备读取兼容个人计算机存储介质而编写的源代码产品,它可以支持固定和移动存储介质例如:SD 卡、SDHC 卡、MMC 卡、CF 卡、ATA/IDE 硬盘、SATA 硬盘、优盘、NAND 闪存等。

嵌入式 FAT 文件系统的源代码全部采用标准 ANSI C编写。经过了大量的测试,使之可以使用绝大多数开发工具包括:ARM STD、ARM ADS、ARM RVDS、GNU GCC、Keil、Visual C++ 等开发。

FAT 文件系统特点

  • 支持标准 FAT 文件集系统,包括:FAT12、 FAT16、 FAT32 and VFAT (支持长文件名)
  • 完全兼容 MS DOS/Windows FAT文 件系统
  • 可用于各种处理器和操作系统
  • 源代码全部使用 ANSI C 编写,保证移植性
  • 针对 MCUs/DSPs 进行优化,可以保证运行性能及稳定性
  • 根据配置情况 RAM 和 ROM 占用量高度灵活可调。
  • 占用资源极少:精简版 <1KB RAM / 4KB ROM、标准版本 <2K RAM / 10K ROM
  • 兼容 POSIX 接口 (fopen(), fread(),fwrite(), fclose(), etc.)
  • 可以格式化与创建分区
  • 运行时错误处理
  • 大量代码注释和开发文档
  • 演示程序和设备驱动
  • 一年免费技术支持
  • 一年免费升级服务
  • 只需交纳一次性授权费用

支持的存储介质

  • Secure Digital Cards: SD, SDHC, microSD, microSDHC
  • CompactFlash
  • MultiMediaCard (MMC)
  • USB
  • SATA
  • ATA/IDE
  • PCMCIA
  • NAND Flash
  • NOR Flash
  • DataFlash

FAT 文件系统应用程序接口

FS_mount
为嵌入式 FAT 文件系统挂在设备和创建缓冲。

FS_unmount
为嵌入式 FAT 文件系统释放全部资源。

FS_format
格式化设备。

FS_size
获取设备和 FAT 文件系统空间大小信息。

FS_mkdir
创建一个文件夹(目录)。

FS_chdir
修改当前文件夹。

FS_rmdir
删除一个空文件夹。

FS_getCWD
返回当前文件夹的路径。

FS_opendir
打开一个文件夹。

FS_closedir
关闭一个文件夹。

FS_readdir
读取一个目录。

FS_remove
通过制定路径删除一个文件。

FS_length
返回一个文件的大小。

FS_fopen
打开一个文件。

FS_fread
通过一个句柄读取数据。

FS_fwrite
通过一个句柄写入数据。

FS_fflush
刷新一个句柄。

FS_fclose
关闭一个文件。

FS_fseek
移动文件指针到指定位置。

FS_ftell
获取一个文件指针的当前位置。

FS_feof
测试是否已到达文件尾

FS_rewind
将指针重定位至文件头。

FS_truncate
修改文件长度的大小。

FS_rename
重命名一个文件或文件夹。

FS_findFirst
根据通配符查找文件或目录。

FS_findNext
根据上一次调用 FS_findFirst() 继续查找。

FS_setDateTime
设置一个文件或文件夹的时间日期属性。

FS_getDateTime
获取一个文件或文件夹的时间日期属性。

FS_setAttributes
设置一个文件或文件夹的属性。

FS_getAttributes
获取一个文件或文件夹的属性。

驱动程序和端口接口

FATDriver_init


FS_STATUS FATDriver_init( FATDriver_DEVICE * device )


初始化 FAT 文件系统的存储设备驱动程序。

参数


device FSDriver_DEVICE 类型的设备指针。


返回值

当返回 FS_SUCCESS 表示成功。否则则表示失败。

FATDriver_deinit


FS_STATUS FATDriver_deinit( void )


释放 FAT 文件系统的存储设备驱动程序占用的资源。

返回值

当返回 FS_SUCCESS 表示成功。否则则表示失败。

FATDriver_getStatus


FS_STATUS FATDriver_getStatus( void )


检查可移动存储卡 FAT 文件系统当前状态。

返回值

当返回 FS_SUCCESS 表示成功。否则则表示失败。

FATDriver_writeSectors


FS_STATUS FATDriver_writeSectors( void * buffer, unsigned long sector, unsigned long count )


写入输入到设备指定扇区。

参数


buffer 数据写入缓存区 sector 开始写入数据扇区 count 要写入的数量


返回值

当返回 FS_SUCCESS 表示成功。否则则表示失败。

FATDriver_readSectors


FS_STATUS FATDriver_readSectors( void * buffer, unsigned long sector, unsigned long count )


读取扇区数据

参数


buffer 数据读取缓存区 sector 开始读取数据扇区 count 要读取的数量


返回值

当返回 FS_SUCCESS 表示成功。否则则表示失败。

FATPort_getDateTime


void FATPort_getDateTime( FS_DATE_TIME * date_time )


从目标系统获取当前日期时间信息。

参数


date_time 存储当前日期和时间信息。


授权

之士嵌入式 FAT 文件系统拥有自主知识产权,所以没有使用或修改的限制,方便您快速设计您的产品。

购买我们的产品只需要缴纳一次性授权费用。

之士公司不仅是全球领先的嵌入式文件系统研发机构,也是在大中华地区唯一直接提供本土技术支持的供应商。

想了解更多产品信息,可以通过电子邮件:sales@zeeis.cn 或拨打电话:0755-32820600 来与我们取得联系,点此查看更多联系方式

联系我们