本文以一个PDA项目为依托,在项目中,主要是开发该设备的软件。其工作包括:上层应用程序的开发、引导程序的编写、Linux操作系统的移植和各种外设驱动程序的编写以及文件系统的改进。 本文首先分析了Linux操作系统的虚拟文件系统、高速缓冲区、MTD以及驱动程序模块。接着,本文分析了JFFS2文件系统的不足,以及在大容量闪存设备中挂载速度过慢的原因。然后,本文结合JFFS2文件系统在开发过程中所出现的各种问题,以及在大容量闪存芯片上进行挂载时的性能要求,对JFFS2文件系统作了一些实际的改进。文中的创新性贡献包括以下几个方面: (1)在扫描一个擦除块之前,首先把擦除块中的所有内容读进内存。然后,在内存中进行所有的判断操作以及拷贝,这样就可以减少I/O操作。另外,由于所有的拷贝操作都在内存中进行,所以挂载速度就可以有所提升。 (2)通过加入“空闲区域管理节点”对闪存中的空闲区域进行管理。这样,在扫描的过程中,一旦发现该节点就可以跳过它所描述的空闲区域,从而加快挂载的速度。 (3)在扫描的阶段中对有效数据实体进行硬链接数的计算,因此,临时目录节点就不需要创建了,这样也免除了临时目录的删除步骤,所以对挂载速度也有明显的提高。 最后,基于以上的研究与改进,结合本项目的实际要求,对大容量闪存设备的JFFS2文件系统的挂载过程进行了改进的实践。
标签:
FLASH
ARM
嵌入式闪存
实践
上传时间:
2013-07-26
上传用户:damozhi