我正在寻找一种存储库,用于在嵌入式系统的闪存中存储数据。由于缺乏功能和简单性的正确混合格式,我即将编写一个自定义格式。
理想情况下,它应该是一个格式和C/C++库,它比存储原始结构更好,但比完整的文件系统更简单。我需要存储多个数据结构,其中一些是可选的,并且可能会不时地更改格式。
如果拥有简单的损耗平衡/日志记录方案和数据冗余/可靠性特性,那就更好了。简单的日志记录是因为我正在使用的大多数低级闪存芯片在你从一端写到另一端并从顶部重新开始时是最快乐的。可以使用数据冗余/可靠性,并对奇偶校验位或完整额外拷贝进行校验。
有什么建议吗?
发布于 2010-07-15 01:41:23
JFFS2是一个明显的候选者。我把它用在MIPS和SuperH上,但只用在NAND上。它在磨损均衡和性能方面提供了很好的结果。不,它是一个成熟的文件系统,似乎不是你所描述的那样,但老实说,我认为你不会找到一个你想要的单一解决方案。但它可能是最简单的解决方案: JFFS2 + {SQLite|Protobuf|Berkeley DB}
我真的希望我错了,你能找到一个。:-)
发布于 2010-07-15 16:28:44
像罗伯特和地铁一样,我可以推荐FatFs Generic File System Module。我在一个有3个逻辑设备(USB、SD卡和外部闪存)的Cortex-M3上使用它。特别是f_mkfs非常方便地将FileSystem放到外部闪存中。我自己编码的“唯一”事情是低级磁盘I/O函数。如果您不需要FatFs模块提供的所有功能,那么使用config.h (不记得名称:D)可以很容易地减小模块大小。
编辑:我选择了FAT,因为它可以被Win和Linux使用。
https://stackoverflow.com/questions/3248791
复制相似问题