欢迎来到天天文库
浏览记录
ID:13169169
大小:51.50 KB
页数:4页
时间:2018-07-21
《基于vxworks的trueffs文件系统的构建与设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于VxWorks的TrueFFS文件系统的构建与设计 VxWorks是一种的高性能实时操作系统,其强实时性、高可靠性、良好的可剪裁特性、友好的集成开发环境Tornado,使VxWorks成为实时操作系统中最有特色的操作系统之一。加之VxWorks对ARM系列芯片有着良好的支持,使其在军事、航天、通信、工业控制等诸多方面应用十分广泛。但是目前大多数的嵌入式软件开发人员都仅仅是开发了一些驱动程序,这样也可以让系统运行起来,然而仅仅做到这些是不够的,构建文件系统,采用文件系统的方式对各个程序加以细化的管理和操作,将更加有利于提高整个系统的效率和可靠性。 TrueFFS是一种硬盘仿真技
2、术,TrueFFS应用程序能从闪存中读写,其过程如同从磁性介质的机械硬盘驱动器上的MS-DOS文件系统中读写一样。TrueFFS用磨损测评技术和无用单元收集算法,像硬盘一样最合理的分配和使用每一个区块,减少了区块迁移和区块过度使用,让闪盘更可靠、使用寿命更长。可以在许多嵌入式系的DOC中得以广泛应用。 VxWorks操作系统在文件系统与设备驱动程序之间使用一种标准的I/O操作接口,这样使得在单个VxWorks操作系统中可以运行多个相同或者不同类型的文件系统。依据这些标准接口协议,用户可以为VxWorks操作系统编写自己的文件系统,并且可融入自己编写的设备驱动程序,以实现两者的自由组
3、合。有较高的灵活性和可扩展性。1软件结构 Window下的文件系统如FAT、NTFS往往不适合用在嵌入式应用系统中,因为第一:嵌入式应用系统工作条件往往比较恶劣。第二:实际的嵌入式应用系统往往资源很有限、不便于支持大型的文件系统。第三:闪存的过编程易造成闪存的损坏。 VxWorks中可支持的文件系统有:dosFs文件系统、TrueFFS文件系统(TrueFFS支持闪存设备)、rawFs文件系统、tapeFs文件系统、cdromFs文件系统、TSFS目标服务器文件系统。其中dosFs文件系统适合于块存储设备的实时操作,与MS-DOS文件系统兼容。TrueFFS提供面向多种闪存设备
4、的块设备接口,可以重进入、线程安全、并支持所有装载VxWorks的CPU结构。由于闪存非常适合移动设备、手持设备和大多数的嵌入式系统,而这些要求对于机械硬盘而言则难以满足。TureFFS与dosFs文件系统是兼容的所以很有实用价值。 TureFFS与dosFs的区别在于TrueFFS不支持分区表,也不支持ioctl。值得注意的是,Tornado的这个版本支持SSFDC规范的NAND器件,但不支持NOR器件。VxWorks中的软件体系结构如图1所示。 至底向上依次是硬件设备、块存取设备、文件系统、设备驱动、应用程序。硬件设备是闪存、DRAM、串口、网口等;块存取设备驱动程序主要
5、是面向设备的启动层;文件系统主要有dosFs和TrueFFS,这部分是非常重要的,一个良好而高效的嵌入式系统必须要有这样一个或者多个文件系统。接着是I/O系统接口,VxWorks操作系统中的I/O系统可以提供简单、统一、与任何设备无关的接口,包括基本I/O和缓冲I/O系统,适应高实型的要求。最顶部是用户的编写应用程序与下层的代码也不直接与硬件联系。2TureFFS层次架构 图2TrueFFS具有分层结构1.核心层:该层将其他各层连接起来,并处理全局事务,如后台处理、碎片搜集、计时器和其他系统资源,核心层只有二进制形式。2.转换层:该层包含了存储媒质的文件系统视图与闪存擦除之间的映射。转
6、换层只有二进制形式。3.MTD层:MTD执行闪存媒质的低级编程(映射、读、写、擦除),MTD具有源代码和二进制形式。4.Socket层:Socket层提供TrueFFS与板级硬件之间的接口,提供指定板硬件的存取程序。Socket驱动程序只具有源代码形式。3构建支持TrueFFS系统的步骤①选择MTD组件,MTD是软件模块既可以用WINDRIVER公司的产品也可以用户自己编写。MTD支持的闪存设备有CFI接口的也有SCS接口,根据自己的Flash芯片,决定采用什么样的BSP组件。②确定Socket驱动程序、sysTffs.c文件中执行、在相应的BSP中也要有所定义。③配置系统。添加dos
7、Fs和其他组件。并且必须要有一个核心组件INCLUDE_TFFS。④构建项目。在这里包含多种组件,主要是与选择的Flash种类有关,各种公司生产的闪存设备都对应了不同的组件。如INCLUDE_MTD_AMD就是包含AMD、Fujitsu的闪存设备。⑤引导目标机以及格式化驱动程序。⑥安装驱动程序。使用usrTffsConfig()函数将文件系统安装在TrueFFS闪存驱动器。⑦检测驱动程序。确保文件操作的正确性。启动系统,注册Socket驱动程序
此文档下载收益归作者所有