《嵌入式文件系统在触摸屏中的应用.docx》由会员分享,可在线阅读,更多相关《嵌入式文件系统在触摸屏中的应用.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式文件系统在触摸屏中的应用yangliu导语:本文介绍在触摸屏工业图形显示器系统中文件系统的设计和应用。该系统采用嵌入式领域应用最为广泛的存储设备-flash作为系统的存储器,本文件系统是结合它的特性进展设计的摘要:32位微处理器芯片的出现,使得嵌入式系统迅速开展。文件系统是操纵系统的核心,本文介绍在触摸屏工业图形显示器系统中文件系统的设计和应用。该系统采用嵌入式领域应用最为广泛的存储设备-flash作为系统的存储器,本文件系统是结合它的特性进展设计的。关键词:嵌入式系统;文件系统;Flash1.前言近几年来,嵌入式操纵系统得到飞速的开展,从支持8位微处理器到16位、32位甚至64位,从支
2、持单一的微处理器芯片到支持多品种微处理器芯片,从只有实时内核到除了内核外还提供其它功能模块如:高速文件系统、TCP/IP网络系统、GUI系统等。嵌入式操纵系统的文件系统是指嵌入式操纵系统中文件的组织与治理构造,它是嵌入式操纵系统的核心。从外部看来,文件系统是一组文件和目录的操纵。文件可以被读写,目录可以被创立和删除。而在内部看,文件系统却迥然不同。文件系统的设计者,必须考虑到存储区怎样分配以及系统怎样记录文件、使用了哪些块等。文件系统的可靠性和性能也是一个重要问题。文件系统是操纵系统的核心,不同的操纵系统其文件系统也不尽一样,这主要表达在文件存储空间的动态分配机制上,各种文件系统各有自己的特点
3、。本文将介绍基于嵌入式实时操纵系统micro;COS-II的嵌入式应用实例中的文件系统的设计及实现方法。2.文件系统简介目前嵌入式操纵系统分商用和免费两种。在国内市场占有率第一的商用操纵系统是VxWorks,免费的操纵系统包括micro;COS-II,QNX和linux。由于商用操纵系统价格昂贵,所以很多的研究机构使用免费操纵系统。本嵌入式系统的操纵系统采用的是对研究机构免费使用的micro;COS-II。C/OS-II是JeanLabrosse编写的一个免费的、源码公开的嵌入式实时内核。对于开发计算机嵌入式应用产品来讲是一个实用价值很高的实时嵌入式操纵系统ERTOS。FATFilealloc
4、ationtable文件分配表,是一个应用了几十年的贸易化软件产品,其MS-DOS文件系统技术成熟、构造简单、系统资源开销小,易于在嵌入式系统的硬件平台上实现。它不用于表示引导区、文件目录表的信息,也不真正存储文件内容,只反映磁盘空间当前的使用情况,是这个文件系统的核心。文件在磁盘的分布情况是以簇链的方式记录在FAT中。每个文件都有自己的存储簇,可以是连续的也可以是不连续的,通过FAT表来实现其完好性。JFFS2是为在嵌入式系统中使用flash存储设备而专门设计的一种日志文件系统,作为一种日志构造的文件系统,它的文件由一长串节点组成,每个节点包含文件的局部信息。垃圾采集技术是JFFS2的重要局
5、部,其原理是当需要增添新内容时,就在节点链表的末端添加新的节点、存储新的内容;假设要修改文件的某局部,JFFS2将该局部标记为废弃,并在节点链表末端添加修改后的内容。JFFS2如此不断地在flash上添加新的内容,当flash上的存储空间用完时,系统就回收标记为废弃的空间,该经过就称为垃圾采集。3.Flash的特性Flash具有高密度和良好的存取速度等优点,是嵌入式领域应用最为广泛的存储设备。它在读取方面与普通的SRAM存储器类似,一般可以实现完全随机的读取,最大的不同在于写操纵方面。Flash存储器的写操纵需要经过“擦除写入两个操纵经过。本系统使用的flash是sst39VF160型,假如希
6、望对某一个单元进展写入时,首先必须对这个存储单元所在的扇区Sector或者块Block执行擦除操纵,擦除操纵成功完成后,整个扇区或者块的数据内容都被清空。一般被设置成0XFF;然后对目的单元所在的扇区或者块执行写入操纵,这就意味着修改数据比单独的写和读操纵需要更多的时间。为了进步flash利用率,减少碎片,本系统定义了簇,它是写操纵的最小单位,并规定每簇占256type。Sst39VF160的大小是1M16bit,分32个块Block,32kword,分512个扇区Sector,2kword,包含8192个簇。Sst39VF160提供了Sector-Erase,Block-Erase和Chip
7、-Erase三种擦除方式,Chip-Erase是把整个Flash擦除,内容设置为1;Block-Erase和Sector-Erase分别以块和扇区为单位删除flash,而且flash的擦除次数是有限的。当一个块或者扇区提早到达擦除次数的上限时将导致整个flash无法使用。通常上限为每个块可擦除100000次。为了防止任意一个块在其它块之前到达这个极限,文件系统必须保证擦除次数在各擦除块之间尽可能均匀分布,这一经过称为“平衡磨损WearLeveling。4.触摸屏的简介:触摸屏工业图形显示器,简称触摸屏,它是一种连接人和设备主要是PLC的人机界面HumanandMachineInterface/
8、ManandMachineInterface,简称HMI/MMI。它是用来替换传统的控制面板和键盘的智能化操纵显示器,是工业场合常用的操纵台,一般用来连接PLC、变频器等设备。图1触摸屏系统主要的功能包括:设备监视功能以数据曲线、图形或者动画的形式来反映设备的内部状态;设备控制功能通过触摸操纵来改变设备如PLC的存放器的内部存放器,进而介入控制经过;数据记录功能通过标准的大容量CF卡存储配方数据,实时采样的数据和历史报警信息。通常,在上位机pc用组态软件HMI/MMI设计控制系统,然后将系统包括系统文件、画面文件、通讯协议等下载到触摸屏,此时PC和触摸屏是上位机和下位机的关系。触摸屏运行时实时
9、与PLC通讯,根据情况读写PLC存放器,并把存放器值的变化在显示器内部以图形、画面、曲线等形式表现出来,此时触摸屏和PLC是主机和从机的关系。5.文件系统本论文嵌入式系统使用的CPU是三星的ARM7系列的S3C44B0,存储器采用的是sst39VF160型flash,操纵系统选用的是实时操纵系统micro;COS-II。该文件系统在根本构造上与MS-DOS的FAT文件系统类似。本flash文件系统的根本构造如表1所示:表1本Flash文件系统的构造Flash的空间分配如表2:表2Flash空间分配Flash前面的32k存放bootloader程序,bootloader程序是在操纵系统内核运行之
10、前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,进而将系统的软硬件环境带到一个适宜的状态,以便为最终调用操纵系统内核预备好正确的环境。簇表记录了除文件首簇以外文件使用的所有簇的情况文件的首簇使用情况记录在文件分配表中,簇表的序号与文件所使用的簇号有逐一对应的关系。图2给出了本文件系统中簇表和文件分配的关系,配合这个例子,可以清楚的理解簇表在文件系统中的作用及文件系统是怎样利用簇表来完成工作的。例子中文件的起始簇号为4,占用4个簇的空间第4簇到第7簇。图2簇表和文件分配的关系根据簇表可以知道某簇的使用情况,是使用还是未使用。在进展文件操纵时,根据文件分配表中找到文件
11、的起始簇,然后在簇表中查出链接簇号。簇表内容见表3。表3簇表系统信息表:存放媒质信息和最重要的文件系统信息。媒质信息诸如flash存储器的类型、容量,划分成多少个区块,每区块包含多少个扇区等。文件系统信息包括版本信息、保存区块的数目和位置、文件分配表和文件登记表所在的位置和大小、数据区域的位置和大小等。簇表:本flash系统定义256type为一簇,簇表存放着flash存储器的簇的占用与空闲情况。FAT文件系统中有12位、16位、32位三种不同的FAT格式。考虑到在微处理器上实现的方便及本系统使用的flash是16bit,所以将簇表固定为16位的格式。由于flash的前32k用来固定存放boo
12、tloader,簇表的前128项被闲置,如今用来存放系统信息表内容。数据区域:用于存放文件的数据内容。本flash文件系统中,数据分配的最小单位是簇,而扇区sector是一个根本擦除单位。本flash文件系统提供:文件系统的格式化,文件的翻开、关闭、删除、建立、读、写。针对系统的特点和需求,本文件系统未提供目录访问功能。文件系统运行时,首先上位机通过Jtag口把bootloader程序烧写flash中,然后上位机通过RS232串口将系统下载到下位机,下载经过中生成文件系统。簇表类似FAT格式,当文件系统要建立文件时,它总是首先进入簇表,然后搜索簇表寻找可用簇,尽量找连续的可用簇其簇表项值为0,
13、并将该簇簇号作为该文件的起始簇号写到文件分配表中的起始簇号项中,并将数据存入该簇中。假如一个连续空簇还未存下此文件那么找下一个连续空簇,这样就形成了一个簇链。前一个簇对应的簇表项中总是记录着下一个簇的簇号,而在最后一个簇表项中填入文件完毕标志0xFFFF,访问文件时,顺着这条扇区链就可以找到全部文件的内容。为理解决flash存在先擦除再写的缺陷和“平衡磨损问题。本文件系统在修改某个画面文件并下载到下位机时,文件系统检查到flash存在这个文件的旧数据,这个时候,遵循先写后擦除的原那么。即在簇表寻找未使用的空簇,写入新的文件数据,同时,修改簇表,将存放原来文件对应的簇表项置0x1111脏数据,自
14、动修改文件分配表,将该文件的起始簇由原来的簇号改为如今的簇号。固然不能完全到达“平衡磨损,但在一定程度上缓解了这个问题,知足实际的需求。当文件比拟多而flash的空间紧张时,借鉴JFFFS2文件系统的垃圾集回收技术的思想,规定当空的扇区数少于6个,激活一个任务,开场回收脏空间,始终保证系统有至少6个扇区的空间使用。6.结论本文件系统针对flash本身先擦除再写的缺陷和“平衡磨损的特性,同时结合了FAT文件系统和JFFF2文件系统的特点,实现了对文件的组织与治理,保证了系统的正常运行。本文件系统应用于触摸屏产品当中,实际运行效果良好,同时,也可以作为其他嵌入式文件系统的参考。参考文献1.李桂良,刘发贵,JFFS2文件系统的关键技术及其在嵌入式系统的应用,计算机应用,2003年7月2董明,刘加等,适宜于嵌入式多媒体应用的Flash文件系统,电子技术应用,2002年第9期3JeanJ.Labrosse著,邵贝贝等译,嵌入式实时操纵系统micro;COS-II,北京航空航天大学出版社,2003年5月4sst39VF160技术手册0