FatFS

通用的文件系統模塊

FatFs 是一個通用的文件系統(FAT/exFAT)模塊,用於在小型嵌入式系統中實現FAT文件系統。 FatFs 組件的編寫遵循ANSI C(C89),完全分離於磁碟 I/O 層,因此不依賴於硬體平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, ARM, Z80, RX等等,不需要做任何修改。

函數規則


FAT12, FAT16 與 FAT32.多個卷(物理驅動器與分區).兩種分區規則: FDISK 與 Super-floppy.多種配置選項:長文件名支持。可選的編碼頁,包括DBCS(譯者:DBCS為雙位元組字元系統 Double Byte Char Systems )多任務支持只讀,最小化API,緩衝區配置等等應用程序介面

函數應用


FatFs 提供下面的函數:
f_mount - 註冊/註銷一個工作區域(Work Area)
f_open - 打開/創建一個文件
f_close - 關閉一個文件
f_read - 讀文件
f_write - 寫文件
f_lseek - 移動文件讀/寫指針
f_truncate - 截斷文件
f_sync - 沖洗緩衝數據 Flush Cached Data
f_opendir - 打開一個目錄
f_readdir - 讀取目錄條目
f_getfree - 獲取空閑簇 Get Free Clusters
f_stat - 獲取文件狀態
f_mkdir - 創建一個目錄
f_unlink - 刪除一個文件或目錄
f_chmod - 改變屬性(Attribute)
f_utime - 改變時間戳(Timestamp)
f_rename - 重命名/移動一個文件或文件夾
f_mkfs - 在驅動器上創建一個文件系統
f_forward - 直接轉移文件數據到一個數據流 Forward file data to the stream directly
f_gets - 讀一個字元串
f_putc - 寫一個字元
f_puts - 寫一個字元串
f_printf - 寫一個格式化的字元 磁碟I/O介面
Since the FatFs module is completely separated from disk I/O layer, it requires following functions to lower layer to read/write physical disk and to get current time. The low level disk I/O module is not a part of FatFs module and it must be provided by user. The sample drivers are also available in the resources.
因為FatFs模塊完全與磁碟I/O層分開,因此需要下面的函數來實現底層物理磁碟的讀寫與獲取當前時間。底層磁碟I/O模塊並不是FatFs的一部分,並且必須由用戶提供。資源文件中也包含有範例驅動。
disk_initialize - Initialize disk drive 初始化磁碟驅動器
disk_status - Get disk status 獲取磁碟狀態
disk_read - Read sector(s) 讀扇區
disk_write - Write sector(s) 寫扇區
disk_ioctl - Control device dependent features 設備相關的控制特性
get_fattime - Get current time 獲取當前時間