基于CF卡的嵌入式文件系统:CompactFlash(简称CF卡)是一种应用空问广闷,成奉低的存储设备。介绍了SEP3203嵌人式处理器和CF卡的接口电路,CF卡的工作原理以盟CF书的驱动程序。FAT文件系统在嵌入式系统中应用越来越广泛,传统的8.3格式文件名已经满足不了某些应用的需求。本发明专利技术说明短文件名和长文件名之间的差异,分析了支持长文件名的数据结构,以CF为存储介质设计和实现了FAT16文件系统.这一文件系统支持长文件名文件的读写操作,有效地解决了嵌入式环境下使用长文件名所存在的问题。
【技术实现步骤摘要】
本专利技术涉及基于CF卡的嵌入式文件系统,本专利技术说明短文件名和长文件名之间的差异,分析了支持长文件名的数据结构,以CF为存储介质设计和实现了 FAT16文件系统.这一文件系统支持长文件名文件的读写操作,有效地解决了嵌入式环境下使用长文件名所存在的问题。
技术介绍
随着电子技术、计算机技术的飞速发展,嵌入式系统越来越多地出现在消费类、通讯类的电子产品中。嵌入式系统的发展,要求系统能够存储和管理大量的数据。SEP3203是东南大学自主研发的一款ARM7TDMI的嵌入式微处理器。SEP3203移动终端应用处理器针对低成本个人移动终端的应用需求,为用户提供了面向移动终端应用的丰富外设、低功托管理和低成本的外存配置。CF卡是专门为海量存储设计的的闪存卡,具有成本低、兼容性好等优点。为了 CF卡能够和Windows系统进行数据交换,实现以FAT16文件系统来驱动基于CF卡的文件操作。FAT文件系统在嵌入式系统中应用越来越广泛,传统的8.3格式文件名已经满足不了某些应用的需求。
技术实现思路
基于上述问题,特此专利技术基于CF卡的嵌入式文件系统.此系统支持长文件名文件的读写操作,有效地解决了嵌入式环境下使用长文件名所存在的问题。1.CF卡驱动程序设计;CF卡的渎写操作都是通过内部寄存器实现的。CF卡有两组内部寄存器:命令寄存器组和控制寄存器组。命令寄存器组给磁盘寄存器发送命令并进行数据交换,控制寄存器组用来控制磁盘驱动器。这两组寄存器是通过CEl和CE2来选择的。A2 一 AO是寄存器的寻址线。通过地址线A2 — AO和片选CEl和CE2访问各个寄存器。在读写时,IDE接口有两种工作方式:LBA(逻辑块地址)和CHS(柱面磁头/扇区)。这两种方式由磁头寄存器的第六位区分。在LBA方式下,系统隐藏扇区是不能访问的,能访问的扇区从O柱面、O磁头、I扇区开始,在LBA方式下为第O号扇区。所有的扇区依次统一编号。CHS(柱面P磁头P扇区)寻址时,直接输人相应的柱面P磁头P扇区数值就可以了。在LBA访问方式时,要将所要访问的逻辑扇区值转换成相应的物理磁道、柱面和扇区号。本设计采用LBA寻址。在O、卡读写操作过程中,首先设置渎写访问地址的寻址方式,然后按照所设置的寻址方式分别设置驱动器/磁头寄存器、柱面低字节寄存器、柱面高字节寄存器、扇区号寄存器以得到渎写操作的起始地址。接着设置扇区计数器来决定所要读写的数据块数量,最后以块为单位对CF卡进行读写。2.文件系统的设计;众多的嵌入式的应用领域涉及到文件的渎写,同时CF卡读卡器一般是在Windows系统下操作。所以必须建立一套文件系统,本设计选取FAT16格式,支持长文件名、中文文件名。(I).CF卡磁盘划分为:引导扇区,FAT区,根目录区和数据区。引导扇区占512字节,包括跳转指令、厂商标识和版本号、BPB、扩展BPB和系统引导程序。FAT区是FAT文件系统用来记磁盘录数据区簇链结构的。根目录区用来保存目录信息。数据区保存文件的数据。其中,RS为保留扇区数,FS为FAT表占用扇区数,NF为FAT表备份数,默认是2,DB为根目录起始扇区,DS为根目录数,SS为每扇区所占字节数。(2).长文件名的实现;FAT文件系统在长文件名方面的扩展称为VFAT。传统的FAT16文件系统只支持8.3格式的文件名。一个8.3格式的文件名目录格式如表2所示。一个长文件名在目录上实际上存储着两个名字:一个长文件名的别名(短文件名)和一个长文件名。作为别名的短文件名以8.3格式存储在目录项中,长文件名则存储在属性标志为CFH的若干个目录项中。其中,短名目录项使用GR2312码格式,每个字符需要I个字节空间;长文件名目录项使用Unicode码格式,所以必须建立GB2312码到Unicode码之间的转换表。由于在嵌人式领域中,只建立常用3600个汉字的转换表,通常可以满足应用的需求了。GB2312码是规则排列的,而与GB2312码——对应的Unicode码是不规则的L6J。所以可以按照GB2312码的规则建立一张表。当GB2312码转换为Unicode码时,就可以很方便得到偏移量,当Unicode码转换为GB2312码时,就只能通过顺序查找整张表。对于一个长文件名来说,短文件名和长文件名都存储在目录项中,长文件名目录按照第一个字节的目录序列号存储。其中,关于文件是否存在的判断如下:先判断文件名是不是一个长文件名,若不是,则按照传统方法判断。若是一个长文件名,先在目录项查找别名(短文件名)的目录项,若没有则打开不成功。若有,再根据长文件名目录合成一个长文件名,与之比较,若相同,则说明存在这个文件,若不同,则不存在。找到目录项之后,就可以获得文件的首簇号,实现文件的读写操作。创建一个新文件的过程是:先判断文件名是不是一个长文件名,若不是,则按照传统方法创建。若是一个长文件名,则先在目录项上申请一个足够大的空间,可以存放别名(短文件名)和长文件名,若没有空间则失败。再按照短文件名和长文件名的格式填写目录项,返回文件标示符。本文档来自技高网...
【技术保护点】
基于CF卡的嵌入式文件系统:该系统以CF为存储介质设计和实现了FAT16文件系统。
【技术特征摘要】
1.关于CF卡的嵌入式文件系统:该系统以CF为存储介质设计和实现了FAT16文件系统。2.根据权利要求1的基于CF卡的嵌入式文件系统,此系统主要由CF卡驱动程序设计、长文件名的实现进行操作。CF卡的读写操作都是通过...
【专利技术属性】
技术研发人员:杨际荣,
申请(专利权)人:镇江华扬信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。