FAT 文件系统
嵌入式 FAT12, FAT16 & FAT32 文件系统
FAT 文件系统 (FAT FS) 使嵌入式开发人员方便、快捷的将自己的系统与其他主流系统整合起来,实现与 MS-DOS/Windows 兼容的文件系统互操作。之士公司的 FAT 文件系统可以完美运行于各种操作系统,也可以在非 ROST 系统上运行。该系统具有高效能、高速度、低空间占用率的优点,只需极少 RAM 和 ROM 即可运行。
FAT 文件系统概述
截至 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 文件系统拥有自主知识产权,所以没有使用或修改的限制,方便您快速设计您的产品。 购买我们的产品只需要缴纳一次性授权费用。
之士公司不仅是全球领先的嵌入式文件系统研发机构,也是在大中华地区唯一直接提供本土技术支持的供应商。 想了解更多产品信息,可以通过电子邮件:[email protected] 或拨打电话 024-31876750 来与我们取得联系,点此查看更多联系方式。