关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于NOR FLASH存储器的嵌入式文件系统的设计

基于NOR FLASH存储器的嵌入式文件系统的设计

作者:时间:2007-09-10来源:网络收藏

引言

在便携电子设备中,随着系统复杂性的增加,存储容量的扩大,嵌入文件系统成为一种必然趋势。而Flash由于具有存储容量大、掉电数据不丢失、何种小以及可多次擦写等许多优点,正逐步取代其他半导体件而广泛应用于便携电子产品中。在Flash中使用文件系统,可将存储空间当作直观的名称空间,不用在每次应用开发中都从头使用存储器,还可方便地利用标准接口同主系统通信。

本文中,我们将以嵌入式操作系统WINCE为背景,来讨论嵌入式手持移动终端中文件系统的实现。

WINCE文件系统结构

WINCE文件系统采用了模块化设计,允许自定义文件系统、筛选器和多种不同的块设备类型。文件系统和所有与文件相关的API都是通过FileSys.exe进程来管理的。

FileSys.exe 由下列几个组件组成:
ROM文件系统
存储管理器
对象存储


ROM文件系统是基于ROM的文件系统。用来固化系统信息。

存储管理器 (Storage Manager),负责管理系统中的存储设备,以及用于访问它们的文件系统。存储管理器功能由系统中的fsdmgr.dll模块实现。其主要的组成部分为块设备驱动程序管理器、分区管理器、文件系统驱动程序管理器。存储管理器组件之间的关系如图1所示。

图1 存储管理器组件之间的关系


对象存储是一个内存堆,由FileSys.exe控制。对象存储包含RAM系统注册表、RAM文件系统和属性数据库。它们都是FileSys.exe模块的可选组件。RAM文件系统和属性数据库是完全可选的,并且在某些系统中可以根本不存在。

FileSys.exe各组件之间的关系如图2所示。

图2 FileSys.exe各组件之间的关系图


操作系统启动时,NK.exe将直接从ROM文件系统加载FileSys.exe。然后,FileSys.exe对ROM文件系统内的默认注册表进行初始化。接着,FileSys.exe将读取注册表项,以便启动各种应用程序。

我们在WINCE文件结构的基础上构建自文件系统。

构建基于PXA272存储器的

嵌入式手持设备硬件结构如图3所示。其主要由嵌入式微控制器PXA272,采集单元,显示单元,存储单元,通信模块和电源单元构成。

图3 手持设备终端硬件结构框图

Intel PXA272处理器是Intel公司推出的32位,基于Xscale架构的高性能的嵌入式芯片。其工作频率为512MHZ,内部集成64Mb Flash。我们在 Flash上基于WINCE的文件结构来构建我们自己的文件系统。

先将Flash划分位三部分,第一部分存放EBOOT和512K配置文件,第二部分存放32M的NK.BIN,最后一部分划为32M的文件系统,其具体划分如图4所示。

图4 Flash的划分


PSM(Peristent Storage Manage)是Inter公司独有技术,是专门为WEINCE系统定制的,它为各种Flash存储设备提供了统一的设备接口,支持Inter的CPU架构。我们利用PSM作为存储管理器,用微软提供的Flash驱动构建文件系统,支持FAT格式的文件。其系统结构图如图5所示。

图5 系统文件结构图


最后,文件系统的配置文件是一组注册表值,用于定义有关块设备和应当如何在系统中使用它的信息。配置文件位于注册表HKEY_LOCAL_MACHINE SystemStorageManagerProfiles下,每个配置文件都是位于基本配置文件项的下面,以此配置文件名称标识的项。例如,我们利用了Inter的PSM文件系统,其配置文件位于注册表HKEY_LOCAL _MACHINESystemStorageManager ProfilesPSMFSD下。Flash驱动的配置文件位于注册表HKEY_LOCAL_ MACHINEDriversBuiltInStrataFMD下,在此文件系统中,我们使用了微软自带的Flash驱动。

结语

此文件系统已经在手持移动终端上得到应用,和上层的数据库系统实现对接。经过多次测试,此文件系统稳定可靠,效果良好。可以用来存储大量数据而且又能满足不同需求。相对于TrueFFS文件系统,在可靠性、系统资源开销等方面的性能提高是可观的,特别是和Inter的Flash相结合时。



评论


相关推荐

技术专区

关闭