MiniOS7 file system, MFS, 提供了一個相較於傳統硬碟, SD 卡,更為可靠, 不受振動和非預期斷電影響的檔案系統。 針對 64MB/256MB NAND flash 記憶體, MFS 實現了一個可靠的檔案系統,提供 C 語言的 API ,讓在 MiniOS7 嵌人式控制器上記錄資料變為簡單。
ITEM | DESCRIPTION |
---|---|
磁碟數量 | 2 (disk A and B) |
磁碟容量 | 1/2 size of the flash memory size |
檔案數量 | 456 files max. for each disk |
檔案容量 | Disk size max. for each file |
檔案操作模式 | 1. 唯讀 2. 寫入: 建立新的檔案, 或是覆寫既有檔案 (假如檔案已存在) 3. 添加: 添加資料到現有檔案 |
File Handle | 10 max. for each disk. 唯讀模式: 在每一個磁碟可以開啟 10 個 file handles 進行讀取資料。兩個磁碟同時可以開啟 20 個檔案進行讀取資料。 寫入和添加模式: 兩個磁碟,同時間只能開啟 1 個 file handle 進行寫入資料的動作 |
寫入驗証 | 預設為啟用 呼叫 mfs_EnableWriteVerification, mfs_DisableWriteVerification 可以更改這個設定 |
自動復原檔案系統 | 假如發生非預期的 Reset 或是斷電情況, 所有已經儲存的檔案和被開啟為唯讀的檔案都不會被影響。只有正在寫入檔案(mfs_WriteFile) 的最後一筆資料有可能無法被正確寫入檔案。 當檔案系統再次啟動後,它會復原最後一次正確寫入檔案的操作,確保此一檔案不會毀損。 |
寫入速度 | mfs_WriteFile: 147.5 KB/Sec (啟用寫入驗証)(預設值) 244.0 KB/Sec (取消寫入驗証) mfs_Puts: 142.1 KB/Sec (啟用寫入驗証)(預設值) 229.5 KB/Sec (取消寫入驗証) |
讀取速度 | mfs_ReadFile: 734.7 KB/Sec mfs_Gets: 414.2 KB/Sec |
Max. Length of Writing Data | 32767 bytes |
Max. Length of Reading Data | 32767 bytes |
這個 NAND flash 被分割為 2 個磁碟, 每個磁碟可以儲存 456 個檔案。你可以建立檔案,用來寫入或是添加資料。然後將儲存好的檔案,透過 Ethernet 傳到 PC 做後續的資料處理與分析。
這些 API 與 turbo C, Borland C 提供的,非常相似,所以在使用 MFS lib 是非常容易上手。
mfs_OpenFile, mfs_CloseFile, mfs_ReadFile, mfs_WriteFile, mfs_Gets, mfs_Puts, mfs_Getc, mfs_Putc, mfs_EOF, mfs_Seek, mfs_Tell, mfs_DeleteFile, mfs_DeleteAllFiles, mfs_GetFileInfoByName, mfs_GetFileInfoByNo, … etc.
寫入的資料會被讀回進行比對,驗証是否正確寫入。這個功能可以被取消來提升寫入的速度,但是為了資料的正確性,我們還是建議啟用這個功能。
假如發生非預期的 Reset 或是斷電情況, 所有已經儲存的檔案和被開啟為唯讀的檔案都不會被影響。 只有正在寫入的最後一筆資料有可能會遺失。
MFS 在呼叫完寫入的命令(such as mfs_WriteFile, mfs_Puts, mfs_Putc, etc.) 之後,除了將資料馬上寫到 Flash. 同時間 MFS 也將重要資訊 (例如: 檔名, 指標, flash 的儲存位置, 等等) 存到 NVRAM (非揮發性記憶體).
當發生非預期的 Reset 或是斷電,只有最後一次寫入的動作(例如:mfs_WriteFile, mfs_Puts, mfs_Putc, 等等.) 的資料可能會遺失。 當檔案系統再次啟動後,它會參考存在 NVRAM 裡面的資料來復原檔案系統。先前正在寫入資料,而未關閉的檔案將被自動關閉,並且其最後一次寫入操作前所寫入的所有資料都會被正確儲存。
這個壓縮檔包含 MFS lib 和範例程式
FILE NAME | RELEASE DATE | SIZE | DOWNLOAD |
---|---|---|---|
mfs.rar | 2015/02/04 | 137 KB |
這個壓縮檔包含了下面的資料夾和檔案
lib folder for MFS Libraries
FOLDER | DESCRIPTION |
---|---|
- | MFS Libraries MFS.h MFS_V224.LIB MFS_History.txt |
MFS 範例程式
DEMO | DESCRIPTION |
---|---|
Utility | Utility for the MiniOS7 File System. 包含 Dir, Read, Write, 等等的操作 |
MFS_QA | MiniOS7 檔案系統的 QA 程式 包含各個功能的測試, 讀/寫 效能測試 |
Puts | 如何寫入一個字串到 Flash 裡的一個檔案 |
Gets | 如何從 Flash 裡的檔案讀出一個字串 |
uPAC-7186EX-FD / uPAC-7186EXD-FD