引言

在便携电子设备中,随着系统复杂性的增加,存储容量的扩大,嵌入文件系统成为一种必然趋势。而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 NOR Flash。我们在NOR 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 /System/StorageManager/Profiles下,每个配置文件都是位于基本配置文件项的下面,以此配置文件名称标识的项。例如,我们 利用了Inter的PSM文件系统,其配置文件位于注册表HKEY_LOCAL _MACHINE/System/StorageManager /Profiles/PSMFSD下。Flash驱动的配置文件位于注册表HKEY_LOCAL_ MACHINE/Drivers/BuiltIn/StrataFMD下,在此文件系统中,我们使用了微软自带的Flash驱动。

结语

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

原文地址:http://www.zhanxian.cn/dianzichanpin/dianzishejijiagong/2007/09/10/09101730567432.shtml

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

  1. 基于IOT背景下,嵌入式电子相册的设计

    基于IOT背景下,嵌入式电子相册的设计 目录 基于IOT背景下,嵌入式电子相册的设计 一.设计目的 二.整体设计 三.软件设计 四.测试视频 五.总结 前言:随着物联网技术的不断发展,物联网技术在城市 ...

  2. 打印服务器协议,基于TCP/IP协议的嵌入式网络打印服务器设计

    摘要: 随着电子技术和计算机网络技术的发展,嵌入式系统在家庭和工业的各个领域都得到了广泛的应用,各种信息家电,网络设备以及工业控制领域都出现了嵌入式系统的身影,其数量已经远远超过了各种通用计算机.但是 ...

  3. 基于Linux的嵌入式文件系统构建与设计

    摘 要: Linux是当今一种十分流行的嵌入式操作系统.由于其具有执行效率高.占用空间小.实时性能优良和可扩展性强等特点,因此被广泛应用于工业控制领域.该文对其文件系统进行了简单的介绍,结合嵌入式系统 ...

  4. 关于linux下的嵌入式文件系统以及flash文件系统选择(转)

    嵌入式linux下常见的文件系统 • RomFS:只读文件系统,可以放在ROM空间,也 可以在系统的RAM中,嵌入式linux中常用来作 根文件系统 • RamFS:利用VFS自身结构而形成的内存文件 ...

  5. 基于spi FLASH的嵌入式文件系统 littlefs(转)

    基于spi FLASH的嵌入式文件系统 littlefs 转载于:https://www.cnblogs.com/LittleTiger/p/10737640.html

  6. 文件系统加密 嵌入式Linux,基于Linux的NAND Flash加密文件系统的设计与实现

    摘要: NAND Flash以其大容量,低成本,低功耗,抗震荡在非易失存储介质中占据重要地位,已经被广泛应用于消费型电子,航空设备等领域.但是由于NANDFlash的物理特性不同于磁盘存储设备,需要为 ...

  7. 基于nand flash的文件系统的整理

    一.            Nandflash简介 基本概念:flash芯片.block.page.附加页 1.1结构 Flash芯片的擦除以块为单位,写以页为单位.在每个flash芯片中包括非常多的 ...

  8. 在linux下进行嵌入式系统设计,一种应用于测控系统的基于Linux的嵌入式系统的设计...

    描述 1.前言 随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用.工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点.随着32位嵌入式CPU价格 ...

  9. LittleFS - 一个高度完整的嵌入式文件系统

    LittleFS - 一个高度完整的嵌入式文件系统 拥有小巧灵活的文件系统对许多物联网设备至关重要.使用文件系统并将其与正确的存储技术(如外部闪存或SD卡)配对可能很困难.Mbed操作系统使文件系统的 ...

最新文章

  1. 核爆rpg手机版_好嗨游戏:不玩吃亏 ,20款全世界最佳移动RPG角色扮演游戏(上)...
  2. 李德毅院士《探索新一代人工智能产业发展》
  3. mysql数据集_Mysql 数据库-我的测试环境
  4. IT项目协调-网络整改项目
  5. java实现排程算法_康托展开算法和逆康托展开算法[Java实现]
  6. MySQL的常见存储引擎介绍与参数设置调优
  7. 如何在XenDesktop没有工具栏情况下实现U盘自动映射为可移动磁盘
  8. 单元测试中使用Mockito模拟对象
  9. 数组的fill方法_数组fill()方法以及JavaScript中的示例
  10. 26日直播预告丨 经典知识库:ASM元数据简介及案例分享
  11. 2017.10.7 括号序列 思考记录
  12. python垃圾回收离职_垃圾回收gc.md
  13. 计算机软考做题app,计算机软考真题app
  14. Foxmail中的文件夹丢失解决方法
  15. 慢慢来,一切都来得及
  16. 网易企业邮箱注册后,管理员怎么管理邮箱?
  17. DM数据库中数据字典表分类及常用查询。
  18. 掩码、反掩码和通配符
  19. QLabel图片居中无拉伸
  20. 005.西门子M440变频器电动电位计控制

热门文章

  1. 卡尔曼滤波原理和Matlab以及python代码实现
  2. Python就是牛,2行Python就能实现 文本文件 差异对比!
  3. 光明大陆服务器等级在哪显示,《光明大陆》新版周五上线 等级直升系统详解备战萨达尔!...
  4. 50 个新酷的 jQuery 插件
  5. Clutter为设备和开发增加了新酷元素
  6. 计算机共享修复方法,win10系统设置共享后看不到共享电脑的修复办法
  7. 心得整理之一--RDLC多数据源多表
  8. iris-session梳理
  9. DVWA 之文件上传漏洞
  10. 软件设计的开发原则-SOLID