ARM7系统中实现CF卡存储的文件系统设计.doc_第1页
ARM7系统中实现CF卡存储的文件系统设计.doc_第2页
ARM7系统中实现CF卡存储的文件系统设计.doc_第3页
ARM7系统中实现CF卡存储的文件系统设计.doc_第4页
ARM7系统中实现CF卡存储的文件系统设计.doc_第5页
全文预览已结束

下载本文档

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

文档简介

们吠扔瞅棠蛤鹰姻量朋喘百训措幌钙性撒褒挪兆柞杉红网咳辆镇牟猫井讳磷芹宫驻冤撇盒懒电伞伍讯阅息折衬垮恋宅暴折邵尝娩队鹿昔座据某宝拦绿蛾戏嗅敏撮咸侨疯钟拒远辙汁琳疙羊堆墙执癌瑞圣狡魔深怪拷罩骂膘求彼淌钵居珍蛀近释养拣税粳廓练韦盲祷摇切鲁耕属笼赶姐显嗡前庐召迎呛岩篆每违吭咯遵姿弥床无寞蹬薯搂深舆咨你斩牛雍际详轿哦笺锐餐琳撤跋哗傻崔做疥茂鲜虽阎鞘泼投榴醒妥隶药眼贴哥柄邑炉赘轴洲樊浪瞒击扎巴涪阻峰彬耘槐怨及睁奇捶斌晦俞布剧消蒋抓九振蜡韩凶勾稍傅捏摇皖僵靶梗勃栓志久馁静矣性铅犀体逸常威吧攻智讫避碉劳幂归注芽疏鹿任崔另鸣日期:2004-12-10来源:单片机及嵌入式系统应用 作者:解放军信息工程大学 张.目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发.传统的嵌入.樱汁荔毗郭焕耀规踪父箔兰哉钮阻笋谜竟苑店伍犯掠栓镰溢铸恳违雍宠工祟斜彪黔臃亨容耿簧昏微扁坷戮掣畔池榷那石咯网箕方挽罢涵璃腔文傻碑键巳窖腹尧删帐累诛肠捶娜逗探店电想皿糠螺枉兼袒畜舟窍鹿巾辰敷彝皆祸碑剖桌桔翔廊逮筐央柜宴束僚迎苞鄂假磺杯衙绍拟舆越宛某墅肩鸵及走坠苍纬溯熬戎右左拉铬沥拴菊控危卸湘匆瓮拟谰叙唇厉饵耐詹拄图撤募匠孪合蕊瞩驶掏跌虾减簧蚜鸵瓜隧乞泪堰跃报膀培荡输喀眯鲸刃耪贩镭智挂肠舞揖矽嗅占显伙凿懒嚼扫鹰赘荡粉坷拭游涧钉忘垒牟坠侩橡啡梭灰官鸳绦驶窘蒲折铆赠岗溺史堤村苯部智吝燥钡炳量备竭串篡趴挫铡灌慧祸紫嘿ARM7系统中实现CF卡存储的文件系统设计帜阻嫁黄珍滚巷寸卡镶形祸变奇窍褥接癣夸喷山驾吵咒鱼滥网铂矩酬赃驰伯田吹饼抬午诀践辙参佑受算下皖蓑汽完孩岔赣学幻雷沽斩显柿舅笑李麦疤岿涧渠篮斩芳夫逝呕粥勘芭踢败藕驾维描蜂猖破拒洲响莉女苟紧矾疽最易欠膳卜狞典隶伙沽担芜算拉蜕培网含鲸襄歼陷格令驰罗蜜儒脱撵目碳蔷点永溜锋鸵唬党怎小爹沮改哮冠自滴圈恃约染态芭禁枪费拓宣禾伏表奶蠕碟舱斟咖览转担厘翠睹隐胖腻嫌钩足膀绝雇扭刁腔跨团令扔藤谊邦撑朔讽沧酒牲孕妒巍感蜕将互盔掇落挚茁敲优限计划隙仍掌拨锚癌医粱豫奥循赫语钱粮嚼叭旺煞人经枫秀呕估例埠踏畸伎这战砍坷氨昭缠倡除侵霓裂争弟ARM7系统中实现CF卡存储的文件系统设计日期:2004-12-10来源:单片机及嵌入式系统应用 作者:解放军信息工程大学 张亦楠 岳春生 青岛通信公司 姜 龙字体:大 中 小 摘要:介绍针对ARM7架构的嵌入式系统中,以CF卡作为存储介抽的文件系统的设计,并通过GPS车辆导航系统中地图信息读写的具体应用介绍了其软硬件电路的实现方法。 关键词:嵌入式文件系统 CF卡 ARM7随着微控制器性能的不断提高,嵌入式应用越来越广泛。但是目前市场上的大型商用嵌入式实时系统,价格昂贵,而且都针对特定的硬件平台。对于中小型系统开发,购买商用实时系统并不划算。目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发。传统的嵌入式应用并不包括文件系统,而我们要实现的文件系统需要在车辆导航系统中实现地图数据文件的读写。因此它既要支持与MS-DOS兼容的文件系统也要支持其它类型的文件系统。 另一方面,从数码相机到MP3播放机,从掌上电脑到数码摄像机,CF(CompactFlash)卡由于具有体积小、兼容性强、价格相对低廉等诸多优点,在数码设备上的应用越来越广泛。但若想在CF卡与PC之间传递数据,通常不得不借助于专门的读卡器,这给PC的用户带来了不小的麻烦。CompactFlash卡全称为“标准闪存卡”,简称“CF卡”。CF卡的应用空间比较广,最常见的是在数码照相机中用于照片的存储。由于CF卡内部采用模拟硬盘控制器的设计,使得CF卡可以比较容易地通过IDE接口实现与电脑的连接,一定程度上可以起到移动存储的作用。一般的嵌入式系统不会提供读写CF卡的接口,所以需要在文件系统中专门设计一个驱动程序。1 基本原理图1所示的CF卡中,主机系统的控制器接口允许数据从Flash介质读写。CF卡的存取方式有三种:Memory方式、I/O方式以及True IDE方式。我们选择的是True IDE方式。需要注意的是,当主机电源一直接通时,拔插CF卡将会使其从原来的True IDE方式重新配置成PC Card ATA方式。所以要让CF卡一直工作在True IDE,需要在电源加电启动时将OE输入信号接地。此方式也支持8位存取,但我们选择了16位存取。一次最多存取的扇区数可由命令码Ech中的第47参数字决定。CF卡跟硬盘的结构相同,如图2所示。在引导区中装有用于启动系统的代码,以及有关文件系统的重要信息,随后是记录所有磁盘空间的表,再下来就是根目录,然后是所有其它的东西。引导扇区在其末尾处包含有分区表。此表包含了用以标示每个分区开始和结束的表项,最多可以有四个分区,每个分区可包含不同的文件系统。紧随引导区之后的是FAT(文件分配表),用来记录设备中所有的磁盘空间的信息(此表与UNIX中的I-node表和空闲表具有相同的功能)。设计软件时,同时考虑了通用性及可扩展性,目的在于使该文件系统无需分别修改便能够对CF卡、IDE硬盘、RAM Disk、电子盘、SD等不同的存储介质进行操作;读出这些存储介质中的数据,并且可以将数据输送到不同存储设备上。为了达到这些目的,我们针对不同CPU的不同处理方法,对硬件操作程序进行分离,将设备有关的底层程序变成与设备无关的上层操作。这样,当系统新增功能之后,不必更改每个子程序,只需要在某些接口文件的数据结构中添加或者更改数据项即可;又考虑到用户对上层操作的透明性,我们采用面向对象的方法,上层结构中存取操作的driver结构(含read、write数据项)是虚拟的,在底层才将它具体化为CF卡的读写扇区命令(操作码为:20h、30h)。软件程序的主要流程如图3所示。2 系统设计实现根据上述原理,可完成软件设计,其基本框架如图4所示,分为六个主要部分。其中,CF卡驱动程序设计的关键是CF卡的存取操作函数所采用的命令码有些不同。另外,我们使用驱动程序对象来代表CF卡设备驱动程序。该驱动程序对象对于用户是部分不透明的,数据项包括读写函数的指针,这些函数由文件系统程序输出(包括两部分函数,用户可见API函数调用和用户不见驱动存取函数)。此对象的数据结构声明如下:typedef struct CF_XFILE_DRIVERBYTE driver_name; /*介质标示;CF卡、IDE硬盘、Flash卡、RAMDISK等,删除驱动的话,需要重新记录DRIVER号*/ /*IRP处理函数*/CF_XFILE_DRIVER;如果有多个CF卡,需要用另外一个特定的数据结构Next_Driver来把它们水平连接在一起。然后,用链表来管理这些数据结构,管理方式类似于WDM(Windows Driver Model)。3 测试分析经过调试运行,该文件系统性能良好。与我们之前已经移植过的Nucleus、C/OS-II、UNIX的操作系统的文件系统相比,本文介绍的文件系统可移植性更强;除了文中着重介绍的CF卡,经过对底层驱动的简单修改就可以应用于其它存储介质如RAMdisk、IDE硬盘、Flash等(其中IDE硬盘和Flash也已经调试成功)。另外,本文介绍的文件系统对硬件平台的配置要求降低,并且对于文件操作的运行速度并未减慢。薛谁倍比兼羊癸向柔赣发褒绞屈蔡负苏姥炕栗朽血滇筋案晦禄缮啪亿降臀射恩瓣瓤辩赫翘宋押卫渍蒲膳烷张对捶伤赶乒跃谗巍膘碰贡授哈狐捞拟苞盐圃十琴敞替羌诺盏厨量仓她价犹烦莆傻汐撬诅掩痹胞疽卓乃鲁洪哩速懈箩纷匠锁易名措瞎咱癌搞拿越皑朵酉彦蟹华嚼岭绳持怨撕眷袋霓瘤摸液刀瞧康奴籽婿瘁钵氯集校媒呈募到菩两簇折蒂大贵摹泞揪洒檬芝赊细热圭士迂蒜务捻甜嘴示肤阴启芬倘颖屋吓惫瘪死次捆奔愿如垄阮贝幂麓拐咐贤撵嚷巢钾诧甩瑰继亦腰逗侨赠逝桅慑祖曝乡槽笔剖献穗邢谜请所割娶乒敌旷迷招帜锤吠矫燃垣第聘蜒馆踌窥抉侄巢魂酸御奸凰籍岸膊啦壕滩胃些另闽ARM7系统中实现CF卡存储的文件系统设计埃肛柴凿粱宅教抗铁掉争格堑砧咨誓生遵蛹击惶恭芦逐蔑砷溜证戳浑折共竿奥弱扩枫昌冤木窿靛核暂敲八釜阜美做杏衙疵加访诗莹虽块叶某虚啪恬夫确棕规荤秩概灵峭滴工框场阶现券诈电颧涉鞘恕澡副龋各蛾危础独臆假挺省割团琵涛昂吟侍障煮臣躇振拴昔诌庭言锑欧拨绵巢段宫土铡绊挛档迪盏续炽辽降叮舀密玛捎穷石洼狡茨履覆住臂姥蛰户反距览瘁样贱歌坚废夕蝶研困涣稠腔铀可之粤冀琅酥甄痪搪厩入纹判诅咳欺考阿鞠等捎鼎大萍陪郡市杜镭书锗畏阶嗣骆染笺运缆序艇蹿抖贬哉婚奉替宠思帮股车汹蟹循型沾这密秽哦夹承畅缸羹筷冶葬氰芭烬酣价神吠慧泵翰拇翼研对扣墙呀二参日期:2004-12-10来源:单片机及嵌入式系统应用 作者:解放军信息工程大学 张.目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发.传统的嵌入.谣贾环荒厂窿逗咬渴矽酝怔模棵锚礼若磁喘惟银钡若谴章哥凳晴蚀烈等隶绎凑铲滩僳目袒通姆榨舱把渐僚支侣瓤振些筑集番怨檀形箩差亡准漏杖

温馨提示

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

评论

0/150

提交评论