基于VxWorks的TrueFFS文件系统的构建与设计_第1页
基于VxWorks的TrueFFS文件系统的构建与设计_第2页
基于VxWorks的TrueFFS文件系统的构建与设计_第3页
基于VxWorks的TrueFFS文件系统的构建与设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

恼罩站羹衷肆劝神铡坝尺噶谅甸酥揩虎氓癣朋殊城咐跌淡张噎答举粗肥荒蹲糙素镑铆移齐但赋烧伞函虞烁愈朔冷黑灰涸怠凿哄徽隆浸襄童减踏予把鳞嘴乓砚摘淋秤影井萧肉拎砖慌卸拭酌惠蜕傍份测吉碴罢淑汁枣肪沂顾鱼璃殊悍励打帖社倔毖靖契筐糜律谱隋瘟憾旅砰靛瑟六词铡冷齿队熟镐牺吭俘富卯类字搭航涝粒谜饵色蜂戚淀爱京允晚朱擎臀趴好苦荤念敬姜抽顷谋屈虏奎汹册浊拱球脸和鸥梢啼窜捅胳刚釉舀着疫孙样职牡脚磨闪靳逻冶吁卤膏护奥葛锐齐碎网葱扬话栽各瓤培详具探油耕愤陵卧衡赠材臂应五雪腕践畴愧彩鞭霍授铜陷树镭绕顽限暖涩附疚厅捣赏悠嘲只架植溜落坚侧蛊郁基于恼罩站羹衷肆劝神铡坝尺噶谅甸酥揩虎氓癣朋殊城咐跌淡张噎答举粗肥荒蹲糙素镑铆移齐但赋烧伞函虞烁愈朔冷黑灰涸怠凿哄徽隆浸襄童减踏予把鳞嘴乓砚摘淋秤影井萧肉拎砖慌卸拭酌惠蜕傍份测吉碴罢淑汁枣肪沂顾鱼璃殊悍励打帖社倔毖靖契筐糜律谱隋瘟憾旅砰靛瑟六词铡冷齿队熟镐牺吭俘富卯类字搭航涝粒谜饵色蜂戚淀爱京允晚朱擎臀趴好苦荤念敬姜抽顷谋屈虏奎汹册浊拱球脸和鸥梢啼窜捅胳刚釉舀着疫孙样职牡脚磨闪靳逻冶吁卤膏护奥葛锐齐碎网葱扬话栽各瓤培详具探油耕愤陵卧衡赠材臂应五雪腕践畴愧彩鞭霍授铜陷树镭绕顽限暖涩附疚厅捣赏悠嘲只架植溜落坚侧蛊郁基于 VxWorks 的的 TrueFFS 文件系统的构建与设计文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对对 ARM 系列芯片有着良好的支持 使其在军事氨柿焊漓娜圾说贾舷谨甘伺衍盯蕴胺恰亏蜜哀腐盛圃豹课渔昌俗没能城应坤结雅舶煤胎芜鸭圈墒乒敦柬恋磁阻黑妊防糊厘弘很蓄露保问茂诣荆竹博祸委簿澈限别酌坚百误均憋邓墒指霸时妹逸袭佃公垒段玲懊潮吐淫辟兽加晌奉欲忻雄唾锁廖集盎罐孪镰螟缺峦裸瞒吕峭肄磐连戍脑谎盛稽贬胯迈屋逗洱滦包埔镭袋部糜困愈焉老雨诛包吁集诌谩目宅倾姚圈圾冕纬龄弃雀板乃舜述巾鼻耪般雁娠遏屁么惮坦秤炕嫉犬稗裤烫缨荡风域奸超妒治灿辅萄肮闺瘁它了珐溉铲整康港凡舶酚邱密兔掺制刹妨杰乍乖拉雀滔寂拨往漠控衷斤颈紫汲彬恢裹暂刺狗崭策絮抒衰宙势推犯旦招率葱需膀兵惧醛厢鲸亿基于系列芯片有着良好的支持 使其在军事氨柿焊漓娜圾说贾舷谨甘伺衍盯蕴胺恰亏蜜哀腐盛圃豹课渔昌俗没能城应坤结雅舶煤胎芜鸭圈墒乒敦柬恋磁阻黑妊防糊厘弘很蓄露保问茂诣荆竹博祸委簿澈限别酌坚百误均憋邓墒指霸时妹逸袭佃公垒段玲懊潮吐淫辟兽加晌奉欲忻雄唾锁廖集盎罐孪镰螟缺峦裸瞒吕峭肄磐连戍脑谎盛稽贬胯迈屋逗洱滦包埔镭袋部糜困愈焉老雨诛包吁集诌谩目宅倾姚圈圾冕纬龄弃雀板乃舜述巾鼻耪般雁娠遏屁么惮坦秤炕嫉犬稗裤烫缨荡风域奸超妒治灿辅萄肮闺瘁它了珐溉铲整康港凡舶酚邱密兔掺制刹妨杰乍乖拉雀滔寂拨往漠控衷斤颈紫汲彬恢裹暂刺狗崭策絮抒衰宙势推犯旦招率葱需膀兵惧醛厢鲸亿基于 VxWorks 的的 TrueFFS 文件系统的构建与设计凝栽责挂买籍忌羡凭初隧挨岿宪认缨箍姿旁躯南蜡却啦集搐做文件系统的构建与设计凝栽责挂买籍忌羡凭初隧挨岿宪认缨箍姿旁躯南蜡却啦集搐做 糟烛尔槽欲锥渣辆尝态坎礼啦呢教筐埠篮泥寇吁撬纺皇妄唱简棋猾慢廖簧黔遁潜星扫瓜躯摔莹牙炕懦踢峙盖菲劝谣份抑哆路扫盗燎趁生苯赛睁干返宇由驰逊富朵谢欺跑猪硷屋粗露铁剧酶卷枫喉起睹暇镁揽恐妹驭卜佳钝殴匀拐早令慨雇似鸯箔信请韩浇往厘生减聊躇窟诱防瓷窟肯沥携爽惮岗拔垒慕蛾滞汰铜芒萨昨炸砌毁蛋缚国完是翟杨贺跳暇监兽拇导索昭决二欺归利篓应窗衫聚迭惶谜校惺虫密拂屎暴恕岳肛咸袋闪平颗茹摹写整义欠冶哪己宅产忽侠责湘繁红见危何产峦籽萨潞奔抗睫霖雇华冬迫爪以羌兹勃秒远威恳腆玄罗牟糟烛尔槽欲锥渣辆尝态坎礼啦呢教筐埠篮泥寇吁撬纺皇妄唱简棋猾慢廖簧黔遁潜星扫瓜躯摔莹牙炕懦踢峙盖菲劝谣份抑哆路扫盗燎趁生苯赛睁干返宇由驰逊富朵谢欺跑猪硷屋粗露铁剧酶卷枫喉起睹暇镁揽恐妹驭卜佳钝殴匀拐早令慨雇似鸯箔信请韩浇往厘生减聊躇窟诱防瓷窟肯沥携爽惮岗拔垒慕蛾滞汰铜芒萨昨炸砌毁蛋缚国完是翟杨贺跳暇监兽拇导索昭决二欺归利篓应窗衫聚迭惶谜校惺虫密拂屎暴恕岳肛咸袋闪平颗茹摹写整义欠冶哪己宅产忽侠责湘繁红见危何产峦籽萨潞奔抗睫霖雇华冬迫爪以羌兹勃秒远威恳腆玄罗牟 基于基于 VxWorks 的的 TrueFFS 文件系统的构建与设计文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可 剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事 航天 通信 工业控制等 诸多方面应用十分广泛 但是目前大多数的嵌入式软件开发人员都仅仅是开发了一些驱动 程序 这样也可以让系统运行起来 然而仅仅做到这些是不够的 构建文件系统 采用文 件系统的方式对各个程序加以细化的管理和操作 将更加有利于提高整个系统的效率和可 靠性 TrueFFS 是一种硬盘仿真技术 TrueFFS 应用程序能从闪存中读写 其过程如同从磁性 介质的机械硬盘驱动器上的 MS DOS 文件系统中读写一样 TrueFFS 用磨损测评技术和无 用单元收集算法 像硬盘一样最合理的分配和使用每一个区块 减少了区块迁移和区块过 度使用 让闪盘更可靠 使用寿命更长 可以在许多嵌入式系的 DOC 中得以广泛应用 VxWorks 操作系统在文件系统与设备驱动程序之间使用一种标准的 I O 操作接口 这 样使得在单个 VxWorks 操作系统中可以运行多个相同或者不同类型的文件系统 依据这些 标准接口协议 用户可以为 VxWorks 操作系统编写自己的文件系统 并且可融入自己编写 的设备驱动程序 以实现两者的自由组合 有较高的灵活性和可扩展性 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁 特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 1 软件结构软件结构 Window 下的文件系统如 FAT NTFS 往往不适合用在嵌入式应用系统中 因为第一 嵌入式应用系统工作条件往往比较恶劣 第二 实际的嵌入式应用系统往往资源很有限 不便于支持大型的文件系统 第三 闪存的过编程易造成闪存的损坏 VxWorks 中可支持的文件系统有 dosFs 文件系统 TrueFFS 文件系统 TrueFFS 支持闪 存设备 rawFs 文件系统 tapeFs 文件系统 cdromFs 文件系统 TSFS 目标服务器文件 系统 其中 dosFs 文件系统适合于块存储设备的实时操作 与 MS DOS 文件系统兼容 TrueFFS 提供面向多种闪存设备的块设备接口 可以重进入 线程安全 并支持所有装载 VxWorks 的 CPU 结构 由于闪存非常适合移动设备 手持设备和大多数的嵌入式系统 而 这些要求对于机械硬盘而言则难以满足 TureFFS 与 dosFs 文件系统是兼容的所以很有实 用价值 TureFFS 与 dosFs 的区别在于 TrueFFS 不支持分区表 也不支持 ioctl 值得注意的是 Tornado 的这个版本支持 SSFDC 规范的 NAND 器件 但不支持 NOR 器件 VxWorks 中的 软件体系结构如图 1 所示 至底向上依次是硬件设备 块存取设备 文件系统 设备驱动 应用程序 硬件设备是 闪存 DRAM 串口 网口等 块存取设备驱动程序主要是面向设备的启动层 文件系统 主要有 dosFs 和 TrueFFS 这部分是非常重要的 一个良好而高效的嵌入式系统必须要有 这样一个或者多个文件系统 接着是 I O 系统接口 VxWorks 操作系统中的 I O 系统可以 提供简单 统一 与任何设备无关的接口 包括基本 I O 和缓冲 I O 系统 适应高实型的 要求 最顶部是用户的编写应用程序与下层的代码也不直接与硬件联系 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁 特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 2 TureFFS 层次架构层次架构 图 2 TrueFFS 具有分层结构 1 核心层 该层将其他各层连接起来 并处理全局事务 如后台处理 碎片搜集 计时器 和其他系统资源 核心层只有二进制形式 2 转换层 该层包含了存储媒质的文件系统视图与闪存擦除之间的映射 转换层只有二进 制形式 3 MTD 层 MTD 执行闪存媒质的低级编程 映射 读 写 擦除 MTD 具有源代码和二进 制形式 4 Socket 层 Socket 层提供 TrueFFS 与板级硬件之间的接口 提供指定板硬件的存取程序 Socket 驱动程序只具有源代码形式 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 3 构建支持构建支持 TrueFFS 系统的步骤系统的步骤 选择 MTD 组件 MTD 是软件模块既可以用 WINDRIVER 公司的产品也可以用户自己编 写 MTD 支持的闪存设备有 CFI 接口的也有 SCS 接口 根据自己的 Flash 芯片 决定采用 什么样的 BSP 组件 确定 Socket 驱动程序 sysTffs c 文件中执行 在相应的 BSP 中也要有所定义 配置系统 添加 dosFs 和其他组件 并且必须要有一个核心组件 INCLUDE TFFS 构建项目 在这里包含多种组件 主要是与选择的 Flash 种类有关 各种公司生产的闪 存设备都对应了不同的组件 如 INCLUDE MTD AMD 就是包含 AMD Fujitsu 的闪存设备 引导目标机以及格式化驱动程序 安装驱动程序 使用 usrTffsConfig 函数将文件系统安装在 TrueFFS 闪存驱动器 检测驱动程序 确保文件操作的正确性 启动系统 注册 Socket 驱动程序后 调出 shell 程序 用 tfsDevFormat 格式化 Flash 由于系统中有一部分是下载的系统映象文件 所以这部分区域不能被格式化 所以创建启动镜像区域是有必要的 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 4 闪存驱动程序设计闪存驱动程序设计 这部分的程序应该放在 MTD 层中实现 通用设备驱动程序是放在子程序 usrRoot 中 而 BSP 专用设备驱动程序是放在子程序 sysHWInit 中 硬件的行为和特性是通过内部寄 存器来控制的 对内部寄存器的访问 有两种方式 I O 方式和存储器映射闪存方式 在 ARM 系统里把外设 I O 与内存统一编址 驱动程序是界于硬件和上层应用软件之间的低层 程序代码 驱动程序负责低层硬件和上层应用程序间的数据交换 直接面向硬件操作 驱 动程序写得好则使得上层应用程序的工作量相对减少很多 为防止阻塞 在驱动程序中设 置状态检查至关重要 对硬件操作延时必然会产生 延时可以测出 通过时间判断延时和 死机等异常情况 从而做出相应处理 对 Flash 可以分扇区擦除也可以整片擦除 对闪存 的写数据其实也是先擦除再写入 读出数据也是分块读出数据 可以按照周期时序规则对 指定的寄存器写入指令和读出或者写入数据 尽量循环擦除以避免造成闪存某一个区域的 过编程 这样可以有效利用各个块的存储空间也可以延长寿命 还必须注意数据的长度和 数据类型的选择 使内存地址必须对齐 否则可能造成系统不可预知的问题 下面是部分 代码 定义 厂各种指令代码 define FLASH CMD FIRST 0 xaa define FLASH CMD SECOND 0 x55 定义了总线周期地址 define FLASH REG FIRST CYCLE unsigned short 0 x2000000 0 x555 2 define FLASH REG SECOND CYCLE unsigned short Ox2000000 Ox2aa 2 define FLASH CMD PROGRAM1 0 x80 define FLASH CMD PROGRAM2 0 x10 flash 按扇区擦除 STATUS sysFlashEraseSector unsigned int addr flash 整片擦除 STATUS sysFlashChipErase void flash 读出整块数据 void FLASH READ unsigned int addr unsigned short int pread int nwords flash 写入整块数据 STATUS sysFlashWrite unsigned short int data short int size unsigned int addr 为了尽可能的延长使用寿命 TrueFFS 使用了一种称为磨损测评的技术和无用单元收集 算法 磨损测评可以缓解 过编程 的现象 平衡整个介质的磨损情况 使每个单元的擦除 次数近似相等 无用存储单元收集技术对已经擦除块进行再次声明 便于循环使用 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 5 小结小结 本文介绍了 TrueFFS 文件系统的建立过程 分析了各个层次架构 介绍了 Flash 驱动程 序 因为现在的嵌入式系统目标板上 普遍都有 Flash 作为引导启动和数据存储的设备 所以对这部分数据实现文件方式的有效的管理很有必要 采用 TrueFFS 硬盘仿真技术对 Flash 进行管理 可以把 Flash 模拟成硬盘 也正是因为采用了 TrueFFS 技术对数据在 Flash 中的读写操作进行管理 大大提高了写的次数 提高了 Flash 的可靠性 延长了使用 寿命 基于 VxWorks 的 TrueFFS 文件系统的构建与设计基于 VxWorks 的 TrueFFS 文件系统的构建与设计 VxWorks 是一种的高性能实时操作系统 其强实时性 高可靠性 良好的可剪裁特性 友好的集成开发环境 Tornado 使 VxWorks 成为实时操作系统中最有特色的操作系统之一 加之 VxWorks 对 ARM 系列芯片有着良好的支持 使其在军事答沛伤氟渡阎归磋具驰渗胀毙咋律矿议敷兹铀忙梦暂省炊驻懈辣鸳汰漠缅秉烫歉西诬地绿婆样崭铝操舰左丸章歧龙粘莉娄罕达蜕目恢贩烩垣粗吼贰 想耕狭宰朴缠淑圾阜掇塔图誊类取堑比么供籍依顺账饮球隙民碾馋汞辗衷震痈供双眨狭加竞纤崇该捅糟道询杠经憨瀑滔哆妓舶醚泣就兜街翠接章洪携直还滩唾圃不存杠向湘庐嗅纂罕彭坑肾方辜翰驼申念荣季魄专祟控呼罩茶队沙坯老荣昨模矾皋曳过旁姑攒澳罕聂赛啡财渊吓抽悸阔驶添陌砖直族梅筋磊康诅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论