filesystems - 有人可以为嵌入式项目建议一个小型Flash文件系统

标签 filesystems embedded

我正在使用具有512Kbyes闪存的AVR 32位处理器。我追求的是一个小型文件系统,该系统可以编译到20Kbytes以下的程序内存,并提供一些耗损均衡功能,因为该应用程序将写入/记录相当恒定的数据流。

Wikipedia上的文章列出了很多选项,但是其中大多数看上去都像是重量级的Linux文件系统(老实说,我不知道它们可以编译到多小)
Wiki List of File systems

我从引用了Petit FAT的Stack Overflow中找到的最好的东西,它提供了缩放比例(〜5Kbyes已编译)和基本功能,但是基于FAT系统,因此不提供任何损耗平衡。

有没有人有任何推荐的文件系统或不错的文章来帮助我为Petit FAT系统添加磨损平衡

顺便说一句,当我在搜索查询中使用单词“ flash”时,如何停止所有Adobe“ Flash”问题出现在结果中

最佳答案

我创建了一个简单的弹性日志文件系统,称为log_fs。它是Piconomix FW库的一部分。

它是为Adesto AT45D DataFlash编写的,但我相信它可以重新用于任何串行Flash设备。它固有地具有良好的耗损均衡度,因为它将分配的页面视为较大的循环缓冲区。

为了解决问题,我创建了一个示例Pressure & Temperature Logging application

它具有CLI界面,因此您可以检查AT45D DataFlash和log_fs文件系统。

2017年2月14日更新:我检测非易失性循环缓冲区开始和结束的算法存在致命缺陷。我已经修复了算法,结构打包和对齐问题,以及改进了API和扩展了文档。

关于filesystems - 有人可以为嵌入式项目建议一个小型Flash文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5247104/

相关文章:

java - 是否有跨平台的 Java 方法来删​​除文件名特殊字符?

linux - Eclipse 与 powerpc-linux-gcc 可能吗?

我可以在 C 语言的闪存中连接两个 #define 字符串吗?

c - 如何绕过 Linux VFS inode 缓存?不将 inode 添加到其 super_block 列表是否安全?

http - 如何使文件系统为http.Handler

vbscript - 获取系统临时文件夹?

c - 在为定制平台构建 newlib 时指示 libgloss 机器

在开关盒中类型转换成更大的类型

linux - make <package> 意味着新的提取

unix - 使用符号链接(symbolic link)存储数据