首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 嵌入式系统中的线性Flash文件系统设计

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

资料介绍
嵌入式系统论文

嵌入式系统中的线性Flash文件系统设计
作者: WuYJ@263.net.cn
   
摘要:设计一种能够在典型嵌入式环境下应用的线性文件系统,为嵌入式系统Flash空间
的管理提供一种非常有效的手段。它包装和通用文件系统类似的API接口,设计的实现独
立于实时操作系统(RTOS)和具体的Flash典型,可方便移植到不同的嵌入式应用中。
在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访
问Flash。目前,可以购买到的Flash文件系统一般都是兼容DOS的文件系统(Flash
File
System,FFS),这对需要一个具有复杂的目录层次,并且DDS文件兼容的系统来说是必
要的;但是对大多数的嵌入式应用来说,这种文件系统太过奢侈。笔者在参与嵌入式系
统项目的时候,设计了一种线性文件系统,它适用于大多数的嵌入式应用对Flash文件系
统的需求。
线性文件系统设计基于三个目标:一是提供给应用程序通过文件名而不是物理地址访
问系统Flash的能力;二是文件系统的设计独立于实时操作系统(RTOS),这样可以很容
易移植到不同的嵌入式应用中;三是设计统一的底层接口,适应不同的Flash类型。本文
设计的线性文件系统为典型的嵌入式系统提供了所需的类文件系统能力。需要注意的是
,本文件系统不支持复杂的Flash扇区擦写次数均衡算法,没有目录层次,并且和其它的
文件系统不兼容。
1 线性文件系统
线性文件系统的设计思路是这样的:文件分为文件头和文件数据区两个部分,每个文
件按照顺序存放在Flash中,以单向链表来链接文件。文件的起始部分是文件头,包含文
件的属性、指向下一个文件头的指针、文件头和文件数据区的32位循环冗余校验和(CR
C32)等。文件头用一个32位的字来表示文件属性,每位表示一种属性,如数据文件或者
是可执行文件,
嵌入式系统中的线性Flash文件系统设计
本地下载

评论