您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

嵌入式系统中的线性Flash文件系统设计

时间:2007-1-20栏目:电子通信论文

修改步骤是,删除原有的文件,并在当前文件系统的最后一个文件之后重写该文件。最后,这个过程会使文件系统的Flash空间被耗尽,这要就需要运行碎片整理程序。碎片整理程序会使已被删除文件所占用的空间被清除,所有活动的文件在Flash中的位置以连续的方式存放。每个扇区的整理过程是,扇区被拷贝到空闲扇区作备份,然后原来的扇区被删除,计算出该扇区在文件整理后的内容,写入扇区,之后删除空闲扇区的备份。文件系统从头到尾每个扇区重复这样作。在碎片整理时,如果一个扇区不需要进行碎片整理,碎片整理程序就不会动这个扇区因此,受碎片整理程序影响的扇区数目依赖于当前被文件系统占用的Flash扇区数和被删除文件在Flash中的位置。

在一个典型的嵌入式应用里,文件系统中的可执行文件本身就是应用程序。可执行文件一般是最大的文件,也是最不可能经常改变的文件。这意味着执行文件所占用的空间是相对固定的,将会减少空闲扇区因为碎片整理而进行的擦写次数。另外一方面,如果有任何文件需要定期改动,碎片整理将会更加频繁运行。

结语

本文所设计的线性文件系统已经成功应用在笔者参加的嵌入式系统的产品,并且在实践中证明是一种比较有效的管理Flash的方式。当然,线性文件系统不是解决所有嵌入式应用管理Flash空间问题的答案,但是它对于那些不能判断是否要购买现成的Flash文件系统的项目提供了一个非常有用的选择方案。有关线性文件系统实现的C源代码,可以通过E-Mail:WuYJ@263.net.cn直接与笔者联系。


上一页  [1] [2] [3] [4] 

下页更精彩:1 2 3 4 下一页