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 和 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 來與我們取得聯繫,點此查看更多聯繫方式。

下一頁
上一頁