【问题标题】:What free tiniest flash file system could you advice for embedded system?您可以为嵌入式系统推荐什么免费的最小闪存文件系统?
【发布时间】:2010-06-22 11:18:35
【问题描述】:

我在板上安装了 DSP tms320vc5509a 和 NOR flash AT26DF321,我将在闪存上存储命名数据。我不需要目录层次结构、磨损均衡(我希望系统很少写入闪存),但强烈需要 CRC。 谢谢

【问题讨论】:

  • FAT12 对于这样的应用程序实际上并没有那么糟糕。但据我所知,没有内置的 CRC。你可以加一个。
  • 为什么需要文件系统?
  • 请注意,FAT 在某种程度上是抗磨损平衡的,因为它必须在每次重大文件更改时更新 FAT。也就是说,这通常是一个简单的选择,对于本质上只读的活动来说,这不是一个糟糕的选择。
  • 代码中有一些常量数组——校准系数,它们存储在闪存中。用户(工程师)可以通过 USB 更改它。我想概括一下soft在flash中放置数组的方式。

标签: c++ embedded


【解决方案1】:

您可以查看ELM-Petit FAT File System Module 以获得良好的小文件系统实现。不确定它是否具有 CRC,但您可以将其添加到低级硬件驱动程序中。

【讨论】:

    【解决方案2】:

    在 NOR 闪存上,尤其是还包含我的启动代码和应用程​​序的闪存上,我通常会避免正式文件系统的开销。相反,我存储每个“有趣”的对象,从擦除块边界开始,并以至少包含对象大小和校验和的标题结构开始。在标头中添加名称或资源 ID 是一种自然扩展。

    引导加载程序通过在使用块之前验证校验和来寻找有效的应用程序。同理,其他资源可以在使用前确认有效。

    它还可以让固件更新实用程序在擦除对象并将其编程到 FLASH 之前轻松验证对象。

    处理小资源池的最佳方法是将其包装在容器中以进行闪烁。如果运行时资源支持它,我会很想使用 ZIP 来包装文件,将 ZIP 存档的图像包装在大小和校验和标头中,并将其存储在擦除块边界处。如果你负担不起解压运行时,仍然可以对未压缩文件使用 ZIP,或者使用更简单的格式,例如 tar。

    自然,NAND 闪存的情况非常不同。在那里,我强烈建议选择专为 NAND 闪存的怪癖而设计的成熟(商业或开源)文件系统。

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2015-09-06
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多