MiniOS7 file system, MFS, 提供了一个相较于传统硬盘, SD 卡,更为可靠, 不受振动和非预期断电影响的文件系统。 针对 64MB/256MB NAND 闪存, MFS 实现了一个可靠的文件系统,提供 C 语言的 API ,让在 MiniOS7 嵌人式控制器上记录数据变为简单。
ITEM | DESCRIPTION |
---|---|
磁盘数量 | 2 (disk A and B) |
磁盘大小 | 1/2 闪存的容量大小 |
文件数量 | 456/每個磁盘 |
文件大小 | 最大為磁盘容量大小 |
文件操作模式 | 1. 唯读 2. 唯写: 创建一个新文件以写入数据,或覆盖一个既有文件。 3. 添加: 将数据添加到一个文件中。 |
File Handle | 10/每個磁盘 唯读模式: 10个文件手柄可以全部用于每个磁盘的读取操作。总共可以打开20个文件用于读取模式。 唯写和添加模式: 在所有的磁盘上只能使用一个文件手柄进行写入操作。 |
写入验证 | 默认为启用。 呼叫 mfs_EnableWriteVerification 和 mfs_DisableWriteVerification 可以改变设置。 |
自动恢复文件系统 | Yes 假如发生非预期的 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 |
最大写入数据的长度 | 32767 bytes |
最大读取数据的长度 | 32767 bytes |
这个 NAND 闪存被分割为 2 个磁盘, 每个磁盘可以储存 456 个文件。你可以建立文件,用来写入或是添加数据。然后将储存好的文件,透过 Ethernet 传到 PC 做后续的数据处理与分析。
这些 API 与 turbo C, Borland C 提供的,非常相似,所以在使用 MFS 库是非常容易上手。
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.) 之后,除了将数据马上写到闪存,同时间 MFS 也将重要资讯 (例如: 文件名稳称, 指标, 闪存的储存位置, 等等) 存到 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 | 如何将一个字符串写入闪存的文件中。 |
Gets | 如何从闪存的文件中获得一个字符串。 |
uPAC-7186EX-FD / uPAC-7186EXD-FD