我在电路板上有数字信号处理器tms320vc5509a和NOR闪存AT26DF321,我将把指定的数据存储在闪存中。我不需要目录层次结构,损耗平衡(我希望系统将写入闪存很少的次数),但CRC是强烈需要的。谢谢
发布于 2010-06-22 23:17:32
您可以查看ELM-Petit FAT File System Module,以获得良好的小型文件系统实现。不确定它是否具有CRC,但您可以将其添加到您的低级硬件驱动程序中。
发布于 2010-06-23 09:41:44
在NOR闪存上,尤其是还包含引导代码和应用程序的闪存上,我通常会避免正式文件系统的开销。相反,我从擦除块边界开始存储每个“有趣的”对象,并从至少包含对象大小和校验和的头结构开始。将名称或资源ID添加到标头是一种自然扩展。
引导加载程序在使用该块之前通过验证校验和来查找有效的应用程序。同样,其他资源也可以在使用前确认有效。
它还使得固件更新实用程序在擦除对象并将其编程到闪存之前可以轻松地验证对象。
处理小资源池的最佳方式可能是将其包装在容器中以进行闪存。如果运行时资源支持,我很想使用ZIP来包装文件,将ZIP存档的图像包装在大小和校验和头中,并将其存储在擦除块边界。如果您负担不起解压缩时间,仍然可以对未压缩的文件使用ZIP,或者使用更简单的格式,如tar。
当然,NAND闪存的情况是非常不同的。在这里,我强烈建议选择一个专为NAND闪存设计的成熟的(商业或开源)文件系统。
https://stackoverflow.com/questions/3092549
复制相似问题