第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010).ppt
-
资源ID:80599147
资源大小:776KB
全文页数:71页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010).ppt
第二讲:嵌入式操作系统第二讲:嵌入式操作系统VxWorks及其开发工具及其开发工具Tornado主主 讲讲 人:人:办公地址:办公地址:联系方式:联系方式:刘利强刘利强31号楼号楼222房间房间825190691上节课主要内容:上节课主要内容:n为什么要学习嵌入式技术为什么要学习嵌入式技术n嵌入式系统概述嵌入式系统概述n嵌入式系统的应用嵌入式系统的应用n嵌入式实时系统基础嵌入式实时系统基础21 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法3n什么是什么是VxWorks?n为什么为什么VxWorks被广泛采用?被广泛采用?nVxWorks系统与通用操作系统的对比系统与通用操作系统的对比n什么是什么是Tornado?nTornado的工具及其开发环境的工具及其开发环境nTornado的目录结构的目录结构nTornado的主要目录结构的主要目录结构4什么是什么是VxWorks?n VxWorks操作系统是美国风河公司(操作系统是美国风河公司(Wind River System 公司,公司,WRS)于)于1983年设计开发的一种运行在年设计开发的一种运行在目标机上的高性能、可裁减的目标机上的高性能、可裁减的嵌入式强实时操作系统嵌入式强实时操作系统。它。它凭借着良好的可持续发展能力、高性能的内核以及友好的凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一用户开发环境,在嵌入式实时操作系统领域占据了重要一席。席。VxWorks系统具备高可靠性和实时性,目前被广泛地系统具备高可靠性和实时性,目前被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。如美国的求极高的领域中。如美国的F-16战斗机、战斗机、FA-18战斗机、战斗机、B-2隐形轰炸机、爱国者导弹上、火星探测器等均使用了隐形轰炸机、爱国者导弹上、火星探测器等均使用了VxWorks操作系统。操作系统。5什么是什么是VxWorks?n高性能系统内核高性能系统内核Wind 多任务调度(基于优先级抢多任务调度(基于优先级抢占方式的实时调度算法)占方式的实时调度算法)内部任务的通讯内部任务的通讯n其它标准工具其它标准工具 设备驱动设备驱动 文件系统文件系统 I/OI/O系统系统 内存管理内存管理 网络协议栈网络协议栈VxWorks的主要组成如下:的主要组成如下:6为什么为什么VxWorks被广泛采用?被广泛采用?n可靠性考虑可靠性考虑 操作系统的用户希望在一个工作稳定、可以信赖的环操作系统的用户希望在一个工作稳定、可以信赖的环境中工作,而稳定、可靠是境中工作,而稳定、可靠是VxWorks的一个突出优点。的一个突出优点。n实时性考虑实时性考虑n可裁剪性考虑可裁剪性考虑 由于存储空间和资源的限制,及提高运行效率考虑,由于存储空间和资源的限制,及提高运行效率考虑,用户在使用嵌入式操作系统时,并不是操作系统的每一个用户在使用嵌入式操作系统时,并不是操作系统的每一个部件都要用到,例如图形显示、文件系统以及一些设备驱部件都要用到,例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。动在某些嵌入式系统中往往并不使用。VxWorks由一个由一个8kB的内核和一些可裁剪的系统模块组成,可以根据需要的内核和一些可裁剪的系统模块组成,可以根据需要很容易的定制。很容易的定制。7为什么为什么VxWorks被广泛采用?被广泛采用?n软硬件支持能力考虑软硬件支持能力考虑 鉴于鉴于VxWorks系统拥有良好的声誉和众多的用户,并且系统拥有良好的声誉和众多的用户,并且具有较好的开放性,很多硬件厂商提供了基于具有较好的开放性,很多硬件厂商提供了基于VxWorks平平台的驱动支持,也有很多软件厂商开发了基于台的驱动支持,也有很多软件厂商开发了基于VxWorks的的第三方软件产品。软硬件支持能力较强。第三方软件产品。软硬件支持能力较强。n易用性考虑易用性考虑 开发系统的易用性是大多数用户非常关心的问题,开发系统的易用性是大多数用户非常关心的问题,WRS公司开发了一个用于公司开发了一个用于VxWorks系统应用开发的集成开系统应用开发的集成开发环境发环境Tornado,提供了友好的、便捷的嵌入式软件开发方,提供了友好的、便捷的嵌入式软件开发方法。法。8VxWorks操作系统与通用操作系统的对比操作系统与通用操作系统的对比n实时与非实时(实时与非实时(实时处理、分时处理实时处理、分时处理)n“更快更快”(从实时性角度讲,实时性好从实时性角度讲,实时性好)n系统更小,并且可配置(系统更小,并且可配置(采用微内核结构采用微内核结构)n所有任务都运行在超级用户模式所有任务都运行在超级用户模式 所有的所有的VxWorksVxWorks工具都可以被作为一个一般的函数被调用。工具都可以被作为一个一般的函数被调用。9n所有任务都存在于公共地址空间内(所有任务都存在于公共地址空间内(代码段、数据段、堆栈段代码段、数据段、堆栈段)可以使任务间的通讯更快更容易可以使任务间的通讯更快更容易 可以使任务间上下文切换更快可以使任务间上下文切换更快 一个任务的不正常可能会导致其它任务出错一个任务的不正常可能会导致其它任务出错10什么是什么是Tornado?n Tornado是一个用于开发实时嵌入式应用的集成是一个用于开发实时嵌入式应用的集成开发环境,即用于开发基于开发环境,即用于开发基于VxWorks系统的嵌入式系统的嵌入式软件的开发工具,与软件的开发工具,与Windows系统中的系统中的VC类似。类似。它把它把VxWorks系统编程的不同方面都集成到同一系统编程的不同方面都集成到同一个环境里,允许开发者在主机上组织、编写和编译个环境里,允许开发者在主机上组织、编写和编译应用程序,然后下载到目标机,并运行和调试它们,应用程序,然后下载到目标机,并运行和调试它们,提供了一种高效的开发实时嵌入式应用的方法和工提供了一种高效的开发实时嵌入式应用的方法和工具。具。11什么是什么是Tornado?nTornado的主要组成的主要组成 VxWorks实时操作系统:实时操作系统:以源码或目标文件的以源码或目标文件的形式存在于形式存在于Tornado安装目录下,可更改或裁剪,在安装目录下,可更改或裁剪,在发布最终系统时与应用程序一同编译。发布最终系统时与应用程序一同编译。集成开发环境:帮助管理和构建工程,并组织集成开发环境:帮助管理和构建工程,并组织和管理主机与目标机间的通信、运行、调试和监和管理主机与目标机间的通信、运行、调试和监视视VxWorks应用程序。应用程序。用于完成辅助测试、定时、调试等功能的开发用于完成辅助测试、定时、调试等功能的开发工具。工具。12Tornado开发工具的组成开发工具的组成n编辑器编辑器:源码编辑。:源码编辑。n工程管理工具工程管理工具:图形化方式构建、组织、配置:图形化方式构建、组织、配置VxWorks应用工程。应用工程。nWindSh:驻留在主机端的命令行解释器,提供从主机端控制运行系统:驻留在主机端的命令行解释器,提供从主机端控制运行系统的接口。的接口。n浏览器浏览器Browser:监视系统信息。:监视系统信息。n调试器调试器CrossWind:类似于:类似于VC调试工具,调试工具,远程远程源码级的调试器。源码级的调试器。n软件逻辑分析器软件逻辑分析器WindView:分析实时软件运行状态的逻辑分析器,可:分析实时软件运行状态的逻辑分析器,可提供任务上下文切换情况、事件和有关测量对象的信息。提供任务上下文切换情况、事件和有关测量对象的信息。n模拟仿真器模拟仿真器VxSim:在主机上模拟目标机的仿真器。:在主机上模拟目标机的仿真器。这些工具可以使用这些工具可以使用TCL(Tool Command Language,一种解释,一种解释性脚本语言)进行定制,以增加新的功能和用户接口。性脚本语言)进行定制,以增加新的功能和用户接口。工具的具体使用方法在后面介绍。工具的具体使用方法在后面介绍。13Tornado的开发环境的开发环境14Tornado的主要目录结构的主要目录结构nHost:Tornado的主机工具目录的主机工具目录nshare:共享的:共享的XDR(eXternal Data Representation)代码目录,代码目录,XDR是一种网络发送数据的标准格式,是一种网络发送数据的标准格式,XDR代码用于主机工具和目标机之间进行数据传输使代码用于主机工具和目标机之间进行数据传输使用。用。nTarget:VxWorks操作系统和板级支持包目录操作系统和板级支持包目录nDocs:在线:在线HTML文档文档15target的主要目录结构的主要目录结构nconfig配置和编译配置和编译VxWorks的文件的文件 all 通用的配置文件通用的配置文件 bspName 板级支持包板级支持包 comps VxWorks的组件描述文件的组件描述文件nproj VxWorks的工程目录的工程目录nh VxWorks的头文件的头文件nlibVxWorks的库文件的库文件nsrc部分部分VxWorks的源码的源码161 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法17常用的软件调试开发方法常用的软件调试开发方法 VxWorks系统是内嵌在系统是内嵌在Tornado集成开发环境集成开发环境中的,而不像中的,而不像Windows系统那样,直接安装到计算系统那样,直接安装到计算机上,并带有很多的应用和软件开发工具。在进行基机上,并带有很多的应用和软件开发工具。在进行基于于VxWorks系统的软件开发调试时,一般需要一个系统的软件开发调试时,一般需要一个安装有安装有Windows和和Tornado工具的计算机进行开发、工具的计算机进行开发、调试工作;同时需要一个运行调试工作;同时需要一个运行VxWorks系统的目标系统的目标机执行开发的软件。机执行开发的软件。18n使用目标机仿真器进行调试开发使用目标机仿真器进行调试开发 n虚拟机软件虚拟目标机进行调试开发虚拟机软件虚拟目标机进行调试开发 n使用真实的目标机进行调试开发使用真实的目标机进行调试开发 根据目标机的实现方法不同,可以将基于根据目标机的实现方法不同,可以将基于VxWorks系统的软件调试开发方法分为以下三种:系统的软件调试开发方法分为以下三种:19使用目标机仿真器进行调试开发使用目标机仿真器进行调试开发 n利用利用Tornado自带的自带的VxSim,在主机上虚拟出一个目,在主机上虚拟出一个目标机环境,基于此目标机环境进行调试开发。标机环境,基于此目标机环境进行调试开发。n可用于与硬件无关的简单软件的开发。可用于与硬件无关的简单软件的开发。【优点优点】简单,所有的工作都可以在一台计算机上完成。简单,所有的工作都可以在一台计算机上完成。【缺点缺点】软件模拟环境,无法模拟出真实目标机的硬件特性,软件模拟环境,无法模拟出真实目标机的硬件特性,仅用于学习与硬件无关的简单软件的开发。仅用于学习与硬件无关的简单软件的开发。20利用虚拟机软件虚拟目标机进行调试开发利用虚拟机软件虚拟目标机进行调试开发 n利用利用VMware等工具,在主机上虚拟出一个目标机等工具,在主机上虚拟出一个目标机硬件平台。硬件平台。n在在Tornado中使用与交叉开发一样的方式进行软件开中使用与交叉开发一样的方式进行软件开发和调试。发和调试。【优点优点】与与VxSimVxSim相比,更具真实性,并且可以进行网络编程相比,更具真实性,并且可以进行网络编程和对文件系统的操作。和对文件系统的操作。【缺点缺点】毕竟也是虚拟的平台,与硬件相关的功能无法开发调毕竟也是虚拟的平台,与硬件相关的功能无法开发调试。试。21使用真实的目标机进行调试开发使用真实的目标机进行调试开发 n使用嵌入式软件最终运行的硬件平台作为目标机,使用嵌入式软件最终运行的硬件平台作为目标机,进行交叉开发。进行交叉开发。【优点优点】目标机环境与系统真实环境一致,保证了在开发时目标机环境与系统真实环境一致,保证了在开发时的目标系统与发布后的系统之间具有最小可能的不同之处。的目标系统与发布后的系统之间具有最小可能的不同之处。【缺点缺点】开发调试过程复杂,速度慢。开发调试过程复杂,速度慢。221 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法23Tornado工具及其使用方法工具及其使用方法n编辑器编辑器n工程管理工具工程管理工具nWindSh工具工具n浏览器浏览器Browser工具工具n调试器调试器CrossWind工具工具n软件逻辑分析器软件逻辑分析器WindView工具工具24编辑器编辑器n编辑器可以进行标准的文本编辑,同时也为编程编辑器可以进行标准的文本编辑,同时也为编程环境提供了一些功能:环境提供了一些功能:创建、打开文件,并对文件进行编辑、导航、查找、替换、打印等操作;彩色高亮度显示程序语法要素,例如彩色显示C/C+的关键字、预处理开关、注释等;与调试器集成,在调试过程中编辑器自动与程序执行同步,可在编辑器窗口内跟踪代码执行;与编译器集成,把编译消息连接到编辑窗口。n与一般编辑器的使用方法基本一致与一般编辑器的使用方法基本一致 25工程管理工具工程管理工具n功能功能:提供了以图形化和自动化方式管理工程的功能。:提供了以图形化和自动化方式管理工程的功能。n术语术语:工程(工程(Project)源文件、二进制文件和编译规则的集合,工程工具提供了一个定义、修改和维护工程的不同构建选项的简单方法。在使用Tornado创建一个工程时,可选择为可下载工程(Downloadable Project)和可启动工程(Bootable Project)。26工作空间(工作空间(Workspace)一个逻辑和图形化的“容器”,可以容纳一个或多个工程,提供了相关工程同时工作的有效方法。工作空间可以以“Files”(工程源文件和目标文件)、“VxWorks”(VxWorks包含和不包含的组件)、“Builds”(编译规则)三种方式显示工程。可下载工程(可下载工程(Downloadable Project)被用于管理和编译可以下载并且能够动态链接到VxWorks映像上的应用程序模块的工程。可启动工程(可启动工程(Bootable Project)被用于为某一指定BSP配置并编译VxWorks映像的工程。在该工程中,应用程序的代码被静态的链接到VxWorks映像中。27组件(组件(Component)可裁减的VxWorks工具。工具链(工具链(Toolchain)为某一特定目标处理器构建应用程序的所有开发工具的集合(如编译器、链接器等)。演示:工程的创建工程的创建(可下载工程、可启动工程)工程的使用工程的使用 28WindSh介绍介绍WindSh是一个是一个驻留在主机端的命令行解释器驻留在主机端的命令行解释器,它,它提供从提供从主机端控制运行系统的接口主机端控制运行系统的接口,允许用户调用内存中的应用程序,允许用户调用内存中的应用程序模块或模块或VxWorks模块中的任何例程。模块中的任何例程。WindSh既是一个交互式的既是一个交互式的C语言解释器,又是一个交互式语言解释器,又是一个交互式的的Tcl解释器。由于我们在实际开发程序过程中很少将其作为解释器。由于我们在实际开发程序过程中很少将其作为Tcl解释器使用,这里仅介绍其作为解释器使用,这里仅介绍其作为C语言解释器的部分功能。语言解释器的部分功能。当作为当作为C语言解释器时,语言解释器时,WindSh可完成如下工作:可完成如下工作:访问访问VxWorks工具工具 下载和调用代码下载和调用代码 创建和检查变量创建和检查变量 调试程序调试程序29WindSh启动方法启动方法 WindSh的常用启动方法有三种:的常用启动方法有三种:在工具条单击按钮启动。在工具条单击按钮启动。从菜单栏选择从菜单栏选择Tools-Shell选项启动。选项启动。在控制台方式下键入在控制台方式下键入“windsh 选项选项 目标机目标机服务器名称服务器名称”命令启动。命令启动。若采用前两种方法,则在若采用前两种方法,则在Tornado开发环境开发环境中新启动一个中新启动一个Shell窗口;若采用第三种方法,则窗口;若采用第三种方法,则Shell就在调用它的控制台窗口中执行。就在调用它的控制台窗口中执行。30WindSh作为一个作为一个C语言解释器语言解释器演示:演示:在在shell下依次键入如下内容:下依次键入如下内容:year=2010 month=03 day=09 myName=“Liulq”printf(“My name is%sn,Today is%d-%d-%dn”,myName,year,month,day)31WindSh内嵌的部分命令(开发中常用的)内嵌的部分命令(开发中常用的)sp:以默认方式创建一个任务:以默认方式创建一个任务td:删除一个任务:删除一个任务pwd:查看当前所在目录:查看当前所在目录cd:改变当前目录:改变当前目录i/ti:给出(详细)任务信息:给出(详细)任务信息w/tw:显示任务当前正在等待的对象:显示任务当前正在等待的对象ld/unld:加载或卸载模块:加载或卸载模块show:在:在WindSh中显示对象信息中显示对象信息演示:在演示:在WindSh环境下下载并执行程序环境下下载并执行程序32浏览器浏览器Browser介绍介绍Tornado浏览器提供了以图形方式监视目标机的系统信息、状态浏览器提供了以图形方式监视目标机的系统信息、状态信息的功能。可监视下述内容:信息的功能。可监视下述内容:Memory Usage(内存使用情况信息)(内存使用情况信息)Module Information(加载的模块的信息)(加载的模块的信息)Object Information (VxWorks的对象信息)的对象信息)如信号如信号量、消息队列、看门狗定时器等量、消息队列、看门狗定时器等 Spy Chart(各任务的(各任务的CPU使用情况)使用情况)Stack Check(各任务堆栈的使用情况信息)(各任务堆栈的使用情况信息)Target Information(目标机信息)(目标机信息)Tasks(任务状态信息)(任务状态信息)Vector Table(中断向量表信息)(中断向量表信息)在本机模拟情况下没有在本机模拟情况下没有33浏览器浏览器Browser使用方法使用方法启动方法:启动方法:1、工具条按钮启动、工具条按钮启动2、菜单栏选项启动、菜单栏选项启动使用方法演示!使用方法演示!34调试器调试器CrossWind介绍介绍 Tornado提供了一个类似于提供了一个类似于VC调试工具的调调试工具的调试器试器CrossWind,它将图形调试界面和命令行调,它将图形调试界面和命令行调试界面很好的组合在了一起。试界面很好的组合在了一起。调试器提供了程序调试器提供了程序启动过程启动过程和和程序运行过程程序运行过程两两种情况下的调试,对于程序运行过程调试又可分为种情况下的调试,对于程序运行过程调试又可分为任务级任务级调试和调试和系统级系统级调试。调试。35调试器调试器CrossWind使用方法使用方法启动与停止方法:启动与停止方法:1、工具条按钮启动、工具条按钮启动/停止停止2、菜单栏选项启动、菜单栏选项启动/停止停止调试方法:调试方法:1、启动过程的调试(、启动过程的调试(演示演示)调试那些在程序启动后只单次执行的代码调试那些在程序启动后只单次执行的代码,例,例如初始化代码。如初始化代码。36调试器调试器CrossWind 使用方法使用方法2、对已经运行的任务进行调试(、对已经运行的任务进行调试(演示演示)调试那些在程序启动后会周期执行或受事件触发的代调试那些在程序启动后会周期执行或受事件触发的代码。主要是对任务的循环代码、事件触发代码和中断服务码。主要是对任务的循环代码、事件触发代码和中断服务程序进行调试。程序进行调试。系统模式。对整个应用系统进行调试,可在系统中系统模式。对整个应用系统进行调试,可在系统中设置断点等,调试中应用系统必须停下来。设置断点等,调试中应用系统必须停下来。任务模式(即动态调试)。调试是针对系统中某一任务模式(即动态调试)。调试是针对系统中某一任务模块进行的,整个系统仍可保留在工作状态。任务模块进行的,整个系统仍可保留在工作状态。37软件逻辑分析器软件逻辑分析器WindView介绍介绍WindView是一个可视化是一个可视化的软件实时逻辑分析器,的软件实时逻辑分析器,它可它可提供系统运行过程中任务上下提供系统运行过程中任务上下文切换、事件和有关对象的信文切换、事件和有关对象的信息,息,其结构如右图所示。其结构如右图所示。tWvRBuffMgr任务用于收任务用于收集事件数据,并存储在目标机集事件数据,并存储在目标机的内存(事件缓冲区)中。的内存(事件缓冲区)中。tWVUpload任务用于上传任务用于上传事件数据到主机。事件数据到主机。事件数据可以在主机上以事件数据可以在主机上以图形方式显示,或者以文件方图形方式显示,或者以文件方式存储。式存储。38软件逻辑分析器软件逻辑分析器WindView使用方法使用方法启动:启动:1、工具条按钮启动工具条按钮启动2、菜单栏选项启动、菜单栏选项启动配置:配置:在配置对话框中选择需要监在配置对话框中选择需要监视的事件操作,包括上下文切换、视的事件操作,包括上下文切换、任务状态转换和自定义方式三种。任务状态转换和自定义方式三种。操作控制:操作控制:在控制对话框控制各项操作。在控制对话框控制各项操作。(WindView配置、上传数据、配置、上传数据、查看事件日志、定时查看事件日查看事件日志、定时查看事件日志、启动志、启动WindView、停止、停止WindView)391 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法40交叉开发环境的建立方法交叉开发环境的建立方法n开发环境的启动过程开发环境的启动过程n配置目标机配置目标机n配置主机配置主机41开发环境的启动过程开发环境的启动过程开发环境的启动通过引导文件开发环境的启动通过引导文件bootrom.sys和操作系统映像文和操作系统映像文件件VxWorks两个文件完成。两个文件完成。引导文件引导文件bootrom.sys的主要作用类似于的主要作用类似于BIOS,一般存放在,一般存放在软盘、目标机硬盘或目标机软盘、目标机硬盘或目标机FLASH盘上,由盘上,由Vxld或其他程序加或其他程序加载到内存,用于初始化目标机上的硬件,建立载到内存,用于初始化目标机上的硬件,建立VxWorks的运行环的运行环境,从引导设备上加载境,从引导设备上加载VxWorks操作系统映像,然后将操作系统映像,然后将CPU的控的控制权交给操作系统。制权交给操作系统。VxWorks是操作系统的映像文件,可以存放在是操作系统的映像文件,可以存放在bootrom.sys所所在的软盘、目标机硬盘、目标机在的软盘、目标机硬盘、目标机FLASH盘或主机硬盘上(具体盘或主机硬盘上(具体的存放位置与引导参数设置有关),由的存放位置与引导参数设置有关),由bootrom.sys的加载程序加的加载程序加载到目标机内存。载到目标机内存。42开发环境的启动过程开发环境的启动过程1、启动目标机。、启动目标机。2、完成自检后,从引导盘的指定位置引导,由、完成自检后,从引导盘的指定位置引导,由Vxld或其他程序加载引导文件或其他程序加载引导文件bootrom.sys到内存。到内存。3、引导文件、引导文件bootrom.sys的主要作用类似于的主要作用类似于BIOS,用于初始化目标机上的硬件,建立,用于初始化目标机上的硬件,建立VxWorks的运的运行环境。行环境。4、加载、加载VxWorks操作系统映像,然后将操作系统映像,然后将CPU的的控制权交给操作系统。控制权交给操作系统。43bootrom.sys/vxWorks/引导盘之间的关系引导盘之间的关系引导盘是经过处理的,专门用于加载引导盘是经过处理的,专门用于加载bootrom.sys的介质(的介质(可可以是目标机上的软盘、硬盘、以是目标机上的软盘、硬盘、Flash盘等盘等),),bootrom.sys存在于引存在于引导盘上。导盘上。引导盘加载引导盘加载bootrom.sys后,初始化目标机上的硬件,建立后,初始化目标机上的硬件,建立VxWorks的运行环境,然后从指定的位置上加载的运行环境,然后从指定的位置上加载VxWorks操作系操作系统映像,将统映像,将CPU的控制权交给操作系统。(的控制权交给操作系统。(此处的指定位置与引此处的指定位置与引导盘无关,在引导行中已经指定,可以是目标机软盘、硬盘、导盘无关,在引导行中已经指定,可以是目标机软盘、硬盘、Flash盘或主机硬盘盘或主机硬盘)。)。VxWorks是操作系统的映像文件,可以存放在是操作系统的映像文件,可以存放在bootrom.sys所所在的软盘、目标机硬盘、目标机在的软盘、目标机硬盘、目标机FLASH盘或主机硬盘上(具体的盘或主机硬盘上(具体的存放位置与引导参数设置有关),由存放位置与引导参数设置有关),由bootrom.sys的加载程序加载的加载程序加载到目标机内存。到目标机内存。注注 bootrom.sysbootrom.sys的位置与的位置与VxWorksVxWorks的位置没有必然联系。的位置没有必然联系。4445主机相关主机相关安装安装Tornado1、安装、安装Tornado工具、工具、BSP、组件模块、软件、组件模块、软件补丁等。补丁等。2、在命令行方式下,使用、在命令行方式下,使用make命令编译操作命令编译操作系统和组件工具。系统和组件工具。(根据购买的(根据购买的Tornado,可能需要该项,可能需要该项操作)操作)返 回46主机相关主机相关设置环境变量设置环境变量在进行在进行VxWorks系统软件开发的过程中,经常会用到系统软件开发的过程中,经常会用到Tornado提供的命令行工具进行某些操作。如利用提供的命令行工具进行某些操作。如利用make命命令编译文件、利用令编译文件、利用mkboot命令制作启动盘等。这些命令命令制作启动盘等。这些命令都位于都位于WIND_BASEhostx86-win32bin(WIND_BASE为为Tornado的安装目录)的安装目录)目录下,每个命令对应一个可执行文件。目录下,每个命令对应一个可执行文件。默认情况下,需要在命令行方式下进入默认情况下,需要在命令行方式下进入WIND_BASEhostx86-win32bin目录才能执行相应的操目录才能执行相应的操作;此外,也可以把对应命令的可执行文件拷贝到我们需作;此外,也可以把对应命令的可执行文件拷贝到我们需要的目录下,然后在该目录下执行相应的操作。要的目录下,然后在该目录下执行相应的操作。47主机相关主机相关设置环境变量设置环境变量然而,在实际使用时经常需要在不同的目录下执行各种操作,然而,在实际使用时经常需要在不同的目录下执行各种操作,这就需要提供一种方式,使得既不用进入这就需要提供一种方式,使得既不用进入WIND_BASEhostx86-win32bin目录,也不用拷贝对应命令的目录,也不用拷贝对应命令的可执行文件到目标目录,从而完成对各种命令的调用。可执行文件到目标目录,从而完成对各种命令的调用。在在Tornado的的WIND_BASEhostx86-win32bin目录下提供目录下提供了一个批处理文件了一个批处理文件torVars.bat用于设置环境变量,该操作执行结用于设置环境变量,该操作执行结束后,即设置了命令的寻找路径,使得在任何目录下都可以成功束后,即设置了命令的寻找路径,使得在任何目录下都可以成功调用调用WIND_BASEhostx86-win32bin目录下的各种命令。目录下的各种命令。然而,使用然而,使用torVars命令也不是一个很方便的方法,因为每命令也不是一个很方便的方法,因为每次进入命令行方式后都需要重新执行次进入命令行方式后都需要重新执行torVars操作,然后才可以操作,然后才可以在任何目录中调用各种命令。在任何目录中调用各种命令。48主机相关主机相关设置环境变量设置环境变量为了方便使用,可将为了方便使用,可将torVars.bat中的内容设置到用户环境变中的内容设置到用户环境变量或系统环境变量中。内容如下:量或系统环境变量中。内容如下:WIND_HOST_TYPE=x86-win32(与主机系统有关)(与主机系统有关)WIND_BASE=C:Tornado2.2(与安装目录有关)(与安装目录有关)PATH=%WIND_BASE%host%WIND_HOST_TYPE%bin;返 回49主机相关主机相关配置配置FTP Server当配置引导行时,若设置目标机通过网络形式加载宿主机硬当配置引导行时,若设置目标机通过网络形式加载宿主机硬盘上的盘上的VxWorks映像文件,则目标机在引导时通过映像文件,则目标机在引导时通过FTP方式登录方式登录宿主机宿主机FTP Server,并下载执行宿主机硬盘上的,并下载执行宿主机硬盘上的VxWorks映像映像文件。在这种方式下,需要配置宿主机端的文件。在这种方式下,需要配置宿主机端的FTP Server,并且在,并且在目标机引导时启动该目标机引导时启动该FTP Server。配置用户名和密码(配置用户名和密码(与引导行中一致与引导行中一致)配置主目录(配置主目录(目标机通过目标机通过FTP方式登录到宿主机方式登录到宿主机FTP Server后所进入的默认的宿主机目录后所进入的默认的宿主机目录)返 回50主机相关主机相关配置配置target serverTarget Server在宿主机上运行,用于管理在宿主机上运行,用于管理Tornado主机工具主机工具和目标机系统之间的通讯。和目标机系统之间的通讯。Target Server通过目标机代理与目标机系统通讯,目标机代通过目标机代理与目标机系统通讯,目标机代理作为一个理作为一个VxWorks任务或任务或VxWorks的外层运行在目标机系统的外层运行在目标机系统上。为了能够正确的和目标机代理进行通讯,上。为了能够正确的和目标机代理进行通讯,Target Server要要使用一个与目标机代理配置有相同的通讯协议和传输层的通讯后使用一个与目标机代理配置有相同的通讯协议和传输层的通讯后端。端。在实际使用时,一般是一个在实际使用时,一般是一个Target Server对应一个目标机配对应一个目标机配置,在使用主机工具与目标机进行交互之前必须先启动与该目标置,在使用主机工具与目标机进行交互之前必须先启动与该目标机对应的机对应的Target Server。操作演示!操作演示!返 回51目标机相关目标机相关硬件设置硬件设置1、硬件连接和跳线设置。、硬件连接和跳线设置。2、若要目标机支持网络,加载网卡驱动,则需确定、若要目标机支持网络,加载网卡驱动,则需确定目标机网卡芯片型号。目标机网卡芯片型号。3、若目标机采用、若目标机采用10Mb网卡,需确定该网卡在目标网卡,需确定该网卡在目标机硬件环境下的中断号和基地址。机硬件环境下的中断号和基地址。返 回52目标机相关目标机相关制作引导盘制作引导盘VxWorks系统引导盘是用来存储系统引导盘是用来存储bootrom.sys文件,并文件,并能够在系统启动后可以自动加载能够在系统启动后可以自动加载bootrom.sys文件的介质。文件的介质。常用的作为引导盘的介质有软盘、硬盘或常用的作为引导盘的介质有软盘、硬盘或Flash盘。盘。Tornado提供了命令行工具提供了命令行工具vxsys用于制作用于制作VxWorks系系统引导盘,其命令格式为:统引导盘,其命令格式为:vxsys 盘符盘符。例如要将插入软。例如要将插入软驱驱A中的软盘做成中的软盘做成VxWorks系统引导盘,则需要在命令行方系统引导盘,则需要在命令行方式下键入式下键入“vxsys a:”。当要使用硬盘作为当要使用硬盘作为VxWorks系统引导盘时需要注意,用系统引导盘时需要注意,用于做引导盘的那个分区必须为于做引导盘的那个分区必须为FAT16格式,并且要被设置成格式,并且要被设置成活动的主引导区。活动的主引导区。返 回53目标机相关目标机相关制作制作bootrom(设置引导行设置引导行)引导行的功能是指示引导行的功能是指示VxWorks文件的加载地址,设文件的加载地址,设置一些目标机的配置信息(如目标机置一些目标机的配置信息(如目标机IP地址),以便于地址),以便于bootrom.sys文件按照引导行的要求从指定位置加载文件按照引导行的要求从指定位置加载VxWorks文件。文件。引导行的格式及常用的参数如下:引导行的格式及常用的参数如下:dev(unitNum,procNum)hostName:/filePath h=#e=#u=#pw=#o=#tn=#f=#s=#54dev代表存储或加载代表存储或加载VxWorks映像文件的介质,如下表所示:映像文件的介质,如下表所示:标识标识设备宏定义设备宏定义设备设备备注备注1备注备注2fdINCLUDE_FD软盘 需要DOSFS文件系统支持,需定义INCLUDE_DOSFS VxWorks映像存储在目标机端介质上ataINCLUDE_ATAATA硬盘ideINCLUDE_IDEIDE硬盘scsiINCLUDE_SCSISCSI硬盘tffsINCLUDE_TFFSDOCpcmciaINCLUDE_PCMCIAPCMCIA卡tsfsINCLUDE_TSFS串口 VxWorks映像存储在宿主机介质上fei等INCLUDE_FEI_END网口55dev示例:示例:若使用采用若使用采用Intel 82559芯片的网卡作为引导设备,则对芯片的网卡作为引导设备,则对应引导行的应引导行的dev为为fei;若采用若采用ATA硬盘作为引导设备,则对应引导行的硬盘作为引导设备,则对应引导行的dev为为ata=0,0。其中,等号后面的第一个数字代表。其中,等号后面的第一个数字代表ATA控制器,为控制器,为0代表第一个控制器,为代表第一个控制器,为1代表第二个控制器。等号后面的第代表第二个控制器。等号后面的第二个数字代表控制器上的主盘或从盘,为二个数字代表控制器上的主盘或从盘,为0代表主盘代表主盘master,为,为1代表从盘代表从盘slave。56unitNum为单元号。例如,当使用网络作为引导设备时,为单元号。例如,当使用网络作为引导设备时,unitNum的值代表系统中相同类型网卡的序号,为的值代表系统中相同类型网卡的序号,为0代表第代表第1块网卡,为块网卡,为1则代表第二块网卡,依次类推。则代表第二块网卡,依次类推。procNum为处理器编号。由于我们使用的目标机大部为处理器编号。由于我们使用的目标机大部分都是单处理器的系统,因此,分都是单处理器的系统,因此,procNum的值一般均为的值一般均为0。hostName为主机名称,可以任意指定。为主机名称,可以任意指定。filePath为待引导的为待引导的VxWorks映像文件的位置及名称。映像文件的位置及名称。对于使用串口或网口作为引导设备的形式,对于使用串口或网口作为引导设备的形式,filePath可填写可填写VxWorks的绝对路径或相对路径(与主机端的设置有关);的绝对路