嵌入式操作系统VxWorks的TFFS文件系统的实现
基于TFFS的成像声呐文件系统设计

基于TFFS的成像声呐文件系统设计1 VxWorks 系统的启动流程嵌入式VxWorks 操作系统的启动包括两个阶段,一是BootRom 引导,二是VxWorks 操作系统映像的启动。
BootRom 映像也叫做启动映像,它主要是初始化串口、网口等很少的硬件系统来下载VxWorks 映像。
VxWorks 映像包含完整的VxWorks OS,是真正在目标板上运行的操作系统。
它启动后会重新初始化几乎所有的硬件系统,这样操作系统才可以在目标板上正常运行。
两种映像的区别如表 1 所示。
VxWorks 内核有多种启动流程。
本文基于的声呐原型机采用了最常见的一种启动方法,将BootRom 映像存放在Flash 中,负责初始化一些简单的硬件如网口、串口等,然后下载VxWorks 映像到RAM 中并将控制权交由操作系统开始执行。
VxWorks 映像存放在干端主机上,通过网络加载到目标机中,启动时还需要打开FTP 进行配置。
产品定型之后,BootRom 映像和VxWorks 映像不再需要进行修改,本文建立基于Flash 的文件系统,将VxWorks 映像拷贝到文件系统中,通过Flash 文件系统加载VxWorks 映像,不需要网络和FTP 软件的支持,提高了启动速度。
基于Flash 文件系统的加载的VxWorks 启动方式如2 Flash 文件系统2.1 文件系统比较与选择文件系统的选择与存储设备的物理特性和系统的要求密切相关。
I/O 系统、文件系统和块设备之间的联系如dosFs 文件系统是一种与MS_DOS 文件系统相兼容的文件系统,具有能够满足实时应用的多种要求;支持可扩展的目录结构;支持使用连续文件;支持存储盘缓存,提高数据读写效率的特点。
TrueFFS(简称TFFS)旨在提高闪存的使用效率。
它具有线程安全、可重。
嵌入式操作系统VxWorks中TFFS文件系统的构建

嵌入式操作系统VxWorks中TFFS文件系统的构建摘要:目前的嵌入式系统多使用FLASH 作为主存,因此,如何有效管理FLASH上的数据非常重要。
文章以MX29LV160BT芯片为例,讨论了在VxWorks操作系统下NorFlash 上建立TFFS文件系统的一般步骤,从而为FLASH上的数据管理提供了理想的选择方式,同时也为开发者和用户升级程序提供了方便。
关键词:VxWorksFlashMTDTFFS文件系统嵌入式系统正随着Internet的发展而在各个领域得到广泛的应用,作为一个优秀的操作系统,VxWorks实现了比其他实时操作系统更好的有效性、商用性、可裁减性以及互操作性,广泛应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
如今越来越多的嵌入式操作系统中,通常都使用FLASH作为主存介质。
许多开发者和用户为了方便以后升级用户程序,通常在FLASH上建立TFFS文件系统,建立文件系统后,我们就可以象在windows操作系统下对硬盘操作一样,进行数据的拷贝、删除以及文件的建立等操作。
NOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NORflash技术,彻底改变了原先有EPROM和EEPROM一统天下的局面。
NOR的特点是芯片内执行XIPexecuteInPlace,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,因此在嵌入式系统得到广泛的应用。
一、TFFS文件系统结构简介Tornado的TrueFFS是和VxWorks兼容的一种M-SystemsFlite实现方式,版本为。
它为种类繁多的flash存储设备提供了统一的块设备接口,并且具有可重入、线程安全的特点,支持大多数流行的CPU构架。
有了Tornado的TrueFFS,应用程序对flash存储设备的读写就好象它们对拥有MS-DOS文件系统的磁碟设备的操作一样。
基于嵌入式操作系统VxWorks的多任务并发程序设计(全)

1引言嵌入式系统定义为:嵌入到对象体系中的专用计算机系统。
“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。
目前,随着高端消费类电子产品(如PDA、手机、智能家电)的普及,嵌入式计算机系统获得了相当广泛的应用。
操作系统在嵌入式软件体系中占据着重要低位,学习和掌握相关的知识是一名嵌入式系统研发人员的必须。
1.1本文的读者对象与写作目的本文针对的读者对象为入门级的嵌入式系统软件开发人员以及其他对嵌入式操作系统感兴趣的朋友,顺利阅读本文需要读者具备的基本知识能力为:(1)熟练的C语言程序设计能力;(2)操作系统的基本知识。
如果读者具备在Windows平台下进行多线程程序设计或者其他嵌入式操作系统本台下进行多任务程序设计的经验,将对阅读本文有很大的帮助。
本文虽然以VxWorks为介绍的主体对象,但是其中所论述的概念和方法并不局限于VxWorks操作系统本身。
它们也同样适用于其它嵌入式操作系统,如WinCE、嵌入式Linux、ucos等,所谓“万变不离其宗”。
笔者力求能以通俗和形象的语言进行论述,但是由于水平有限,文中难免存在错误和纰漏,诚盼读者朋友指正。
1.2 为什么以VxWorks为写作对象之所以选择VxWorks操作系统为本文的写作对象,是因为:(1)VxWorks具备清晰的多任务并发控制及任务间通信的成熟机制;(2)VxWorks有广泛的使用基础,国内外分布着大量的VxWorks程序员;(3)VxWorks简单易学,便于我们集中目标讲解多任务控制程序本身。
1.3 什么是VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一席。
VxWorks具备高可靠性和实时性,因而被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
嵌入式论文——嵌入式操作系统VxWorks

嵌入式操作系统VxWorks摘要:本文介绍了嵌入式操作系统VxWorks的内部结构和特点,以及跟其他操作系统的进行比较,了解各自的有缺点以及使用的领域,最后对WxWorks进行展望。
关键字:嵌入式操作系统VxWorks1.嵌入式操作系统背景随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等武器系统,到处都有嵌入式系统的身影。
在嵌入式系统的应用开发中,采用嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。
这已逐渐成为嵌入式系统开发的一个发展方向。
2.什么是VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。
良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
3.VxWorks的组成VxWorks操作系统包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。
VxWorks只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。
VxWorks由以下几个主要部分组成:3.1高性能的实时操作系统核心windVxWorks的核心,被称作wind,包括多任务调度(采用优先级抢占方式),任务间的同步和进程间通信机制以及中断处理,看门狗和内存管理机制。
一个多任务环境允许实时应用程序以一套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。
vxworks的TFFS分析

vxworks的TFFS分析Vxworks的tffs分析1. Tffs简介Vxworks的tffs位于dosfs文件系统和底层硬件中,其存在的目的是:dosfs文件系统是针对磁盘的FAT文件系统,而我们大部分嵌入式设备存储设备是flash,flash和磁盘在物理特性上差别很大;首先磁盘和flash的读写方式不一样,磁盘可以一个字节一个字节的修改,而flash在写之前必须先擦除;flash的擦除和写有次数限制(大部分flash设备是10万次);tffs的存在使得dosfs对flash操作犹如对flash操作一样,这样tffs就屏蔽了底层设备的差异。
Tffs有以下几个特性:: Wear-leveing算法:此算法的目的在于均衡flash损耗,使得flash各个块的擦除和写次数平衡。
碎片回收:TrueFFS 使用一种被称为碎片回收(garbage collection)的机制来回收那些不再包含有效数据的块。
该机制从一个预擦除单元(source era se unit)内拷贝所有的有效数据块到另一个新的被称为转移单元(transfer unit)的擦除单元。
TrueFFS然后更新 block-to-flash映射表再擦除这个废旧的预擦除单元。
错误恢复:此功能使用了写后删除技术(erase after write),使得数据唯一性,不会产生中间数据。
下图是整dosfs+tffs文件系统架构:可以看到dosfs是位于tffs上层的,tffs包含三层:翻译层、MTD层和socket层。
我们增加tffs特性时需要修改MTD层和socket层。
翻译层由vxworks提供,不需要修改。
下面介绍各层的作用。
翻译层:主要实现 TrueFFS和 dosFs之间的高级交互功能。
它也包含了控制 flash映射到块、wear-leveling、碎片回收和数据完整性所需的智能化处理功能。
MTD层:即设备驱动层,包含flash读、写、擦除、ID识别等驱动。
TFFS

这个问题查了好久,是由于dos文件系统使用了长文件名选项造成。dos文件系统的选项有:
DOS_OPT_CHANGENOWARN
DOS_OPT_AUTOSYNC
DOS_OPT_LONGNAMES
DOS_OPT_EXPORT
1)调试的时候首先要确保FLASH的write和erase函数是完全正确的。
2)用sysTffsFormat(tffsDevFormat)格式化,这一步最难通过,如果这一步通过了,基本也就OK了。
3)tffsDevCreate函数创建设备,如果成功,就修改的代码主要是tffsConfig.c和sysTffs.c连个。
调试1;windows的大小不是2的n次幂。
原来的5600子卡上用了一片I28F128flash,共16M,划出第一个block共128K用来保存bootline,这样实际用做tffs的只有
(16M-128K)大小了,于是用这个值来标识chipSize和WindowsSize。这样调试时用sysTffsFormat格式化的时候,一些分区信 息都写入flash了,但到最后总是返回错误,也不能创建设备。后来设windowsSize=16M,chipSize=(16M-128k),再格式化就好了,也能创建设备了。
DOS_OPT_LOWERCASE
要合理使用这些选项。
TFFS的英文原意是True Flash File System。是M-system的一个产品。作为vxWorks的一个插件,实现时是分3层实现的。我们一般只要负责最底层MTD(Memory technology driver)层就可以了。MTD的上层FTL层只要MTD层提供3个标准函数即:read,write,erase就可以了。如果要包含TFFS文件系统只要定义INCLUDE_TFFS和INCLUDE_DOSFS(or INCLUDE_DOSFS2)这两个宏就可以了。系统会自动包含src/config/usrTffs.c和src\drv\tffs\sockets\systffs。c,src\drv\tffs\tffsConfig.c但一般的做法是把sysTffs。c和tffsConfig。c放到BSP目录下取消usrExtra对sysTffs。c的自动包含,在makefile的MACH_EXTRA里加入。
嵌入式PowerPC上的TFFS文件系统的建立

嵌入式PowerPC上的TFFS文件系统的建立
陈留国
【期刊名称】《电子制作》
【年(卷),期】2015(0)4
【摘要】本文主要介绍了TFFS文件系统结构,并以I28F128为例介绍在嵌入式
操作系统VxWorks上建立TFFS文件系统步骤和VxWorks镜像加载的具体方法。
【总页数】2页(P88-89)
【作者】陈留国
【作者单位】中国电子科技集团公司第三十八研究所安徽合肥 230088
【正文语种】中文
【相关文献】
1.嵌入式文件系统及jffs2文件系统在Flash上的实现 [J], 刘金梅;张振东;路全;杨
建华
2.嵌入式Linux系统在PowerPC上的实现 [J], 叶梅;赵京伟;初元萍
3.嵌入式操作系统VxWorks的TFFS文件系统的实现 [J], 吴楠;郭政慧
4.嵌入式操作系统VxWorks的TFFS文件系统的实现 [J], 吴楠;郭政慧
5.如何建立嵌入式操作系统的Flash文件系统 [J], 魏大木
因版权原因,仅展示原文概要,查看原文内容请购买。
嵌入式实验指导书-VxWorks

《嵌入式计算机系统》VxWorks实验指导书编写:魏晓敏西北工业大学2013年11月实验一基于VxWorks的多任务设计第一部搭建VxWorks开发环境VxWorks 是专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理、实时的系统资源以及实时的任务间通信。
VxWorks是种功能强大而且复杂的操作系统,仅仅依靠人上编程调试,很难发挥它的功能并设计出可靠、高效的嵌入式系统,必须有与之相适应的开发工具。
Tornado就是为开发基于VxWorks 的应用系统而提供的集成开发环境,Tornado中包含的工具管理软件,可以将用户自己的代码与VxWorks 的核心系统有效地组合起束,从而轻松、可靠地完成嵌入式应用厅发。
Tornado是Windriver 公司开发的嵌入式软件开发环境。
Tornado开发环境的最新版本是2.2 ,它在延续了Tornado2.0 开发环境的基础上,增加了更多易于使用、性能优异的工具,因此在商业上取得了较大成功,获得了用户的好评。
Tornado开发环境是嵌入式实时领域里最新的开发调试环境,是编写嵌入式实时应用程序的完整的软件开发平台。
它给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境a。
它包含3 个高度集成的部分:●运行在宿主机和目标机上的强有力的交叉开发工具和实用程序●运行在目标机上的高性能、可裁剪的实时操作系统VxWorks●连接宿主机和目标机的多种通讯方式,如以太网、串u线、ICE 或ROM 仿真器VxWorks的开发环境为Tornado,我们实验室用的是Tornado2.2。
包括Wind_River_tornado2.2.1_vxworks5.5.1 和Wind_River_vxworks5.5.1_BSP_drivers 两部分,需要分别安装,安装的顺序是先安装VxWorks5.5.1,再安装BSP包。
1.1Tornado安装步骤1.1.1 获取Tornado安装文件Tornado安装文件,包括 TORNADO2.2 和BSP的文件,可以从网上下载(/ShowFile.asp?FileID=62525)。