第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010).ppt
《第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010).ppt》由会员分享,可在线阅读,更多相关《第二讲 嵌入式操作系统VxWorks及其开发工具Tornado(2010).ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二讲:嵌入式操作系统第二讲:嵌入式操作系统VxWorks及其开发工具及其开发工具Tornado主主 讲讲 人:人:办公地址:办公地址:联系方式:联系方式:刘利强刘利强31号楼号楼222房间房间825190691上节课主要内容:上节课主要内容:n为什么要学习嵌入式技术为什么要学习嵌入式技术n嵌入式系统概述嵌入式系统概述n嵌入式系统的应用嵌入式系统的应用n嵌入式实时系统基础嵌入式实时系统基础21 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法3n什么是什么是VxWo
2、rks?n为什么为什么VxWorks被广泛采用?被广泛采用?nVxWorks系统与通用操作系统的对比系统与通用操作系统的对比n什么是什么是Tornado?nTornado的工具及其开发环境的工具及其开发环境nTornado的目录结构的目录结构nTornado的主要目录结构的主要目录结构4什么是什么是VxWorks?n VxWorks操作系统是美国风河公司(操作系统是美国风河公司(Wind River System 公司,公司,WRS)于)于1983年设计开发的一种运行在年设计开发的一种运行在目标机上的高性能、可裁减的目标机上的高性能、可裁减的嵌入式强实时操作系统嵌入式强实时操作系统。它。它凭借
3、着良好的可持续发展能力、高性能的内核以及友好的凭借着良好的可持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据了重要一用户开发环境,在嵌入式实时操作系统领域占据了重要一席。席。VxWorks系统具备高可靠性和实时性,目前被广泛地系统具备高可靠性和实时性,目前被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。如美国的求极高的领域中。如美国的F-16战斗机、战斗机、FA-18战斗机、战斗机、B-2隐形轰炸机、爱国者导弹上、火星探测器等均使用了隐形轰炸机、爱国者导弹上、火星探测器等均使用了VxWor
4、ks操作系统。操作系统。5什么是什么是VxWorks?n高性能系统内核高性能系统内核Wind 多任务调度(基于优先级抢多任务调度(基于优先级抢占方式的实时调度算法)占方式的实时调度算法)内部任务的通讯内部任务的通讯n其它标准工具其它标准工具 设备驱动设备驱动 文件系统文件系统 I/OI/O系统系统 内存管理内存管理 网络协议栈网络协议栈VxWorks的主要组成如下:的主要组成如下:6为什么为什么VxWorks被广泛采用?被广泛采用?n可靠性考虑可靠性考虑 操作系统的用户希望在一个工作稳定、可以信赖的环操作系统的用户希望在一个工作稳定、可以信赖的环境中工作,而稳定、可靠是境中工作,而稳定、可靠是
5、VxWorks的一个突出优点。的一个突出优点。n实时性考虑实时性考虑n可裁剪性考虑可裁剪性考虑 由于存储空间和资源的限制,及提高运行效率考虑,由于存储空间和资源的限制,及提高运行效率考虑,用户在使用嵌入式操作系统时,并不是操作系统的每一个用户在使用嵌入式操作系统时,并不是操作系统的每一个部件都要用到,例如图形显示、文件系统以及一些设备驱部件都要用到,例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。动在某些嵌入式系统中往往并不使用。VxWorks由一个由一个8kB的内核和一些可裁剪的系统模块组成,可以根据需要的内核和一些可裁剪的系统模块组成,可以根据需要很容易的定制。很容易
6、的定制。7为什么为什么VxWorks被广泛采用?被广泛采用?n软硬件支持能力考虑软硬件支持能力考虑 鉴于鉴于VxWorks系统拥有良好的声誉和众多的用户,并且系统拥有良好的声誉和众多的用户,并且具有较好的开放性,很多硬件厂商提供了基于具有较好的开放性,很多硬件厂商提供了基于VxWorks平平台的驱动支持,也有很多软件厂商开发了基于台的驱动支持,也有很多软件厂商开发了基于VxWorks的的第三方软件产品。软硬件支持能力较强。第三方软件产品。软硬件支持能力较强。n易用性考虑易用性考虑 开发系统的易用性是大多数用户非常关心的问题,开发系统的易用性是大多数用户非常关心的问题,WRS公司开发了一个用于公
7、司开发了一个用于VxWorks系统应用开发的集成开系统应用开发的集成开发环境发环境Tornado,提供了友好的、便捷的嵌入式软件开发方,提供了友好的、便捷的嵌入式软件开发方法。法。8VxWorks操作系统与通用操作系统的对比操作系统与通用操作系统的对比n实时与非实时(实时与非实时(实时处理、分时处理实时处理、分时处理)n“更快更快”(从实时性角度讲,实时性好从实时性角度讲,实时性好)n系统更小,并且可配置(系统更小,并且可配置(采用微内核结构采用微内核结构)n所有任务都运行在超级用户模式所有任务都运行在超级用户模式 所有的所有的VxWorksVxWorks工具都可以被作为一个一般的函数被调用。
8、工具都可以被作为一个一般的函数被调用。9n所有任务都存在于公共地址空间内(所有任务都存在于公共地址空间内(代码段、数据段、堆栈段代码段、数据段、堆栈段)可以使任务间的通讯更快更容易可以使任务间的通讯更快更容易 可以使任务间上下文切换更快可以使任务间上下文切换更快 一个任务的不正常可能会导致其它任务出错一个任务的不正常可能会导致其它任务出错10什么是什么是Tornado?n Tornado是一个用于开发实时嵌入式应用的集成是一个用于开发实时嵌入式应用的集成开发环境,即用于开发基于开发环境,即用于开发基于VxWorks系统的嵌入式系统的嵌入式软件的开发工具,与软件的开发工具,与Windows系统中
9、的系统中的VC类似。类似。它把它把VxWorks系统编程的不同方面都集成到同一系统编程的不同方面都集成到同一个环境里,允许开发者在主机上组织、编写和编译个环境里,允许开发者在主机上组织、编写和编译应用程序,然后下载到目标机,并运行和调试它们,应用程序,然后下载到目标机,并运行和调试它们,提供了一种高效的开发实时嵌入式应用的方法和工提供了一种高效的开发实时嵌入式应用的方法和工具。具。11什么是什么是Tornado?nTornado的主要组成的主要组成 VxWorks实时操作系统:实时操作系统:以源码或目标文件的以源码或目标文件的形式存在于形式存在于Tornado安装目录下,可更改或裁剪,在安装目
10、录下,可更改或裁剪,在发布最终系统时与应用程序一同编译。发布最终系统时与应用程序一同编译。集成开发环境:帮助管理和构建工程,并组织集成开发环境:帮助管理和构建工程,并组织和管理主机与目标机间的通信、运行、调试和监和管理主机与目标机间的通信、运行、调试和监视视VxWorks应用程序。应用程序。用于完成辅助测试、定时、调试等功能的开发用于完成辅助测试、定时、调试等功能的开发工具。工具。12Tornado开发工具的组成开发工具的组成n编辑器编辑器:源码编辑。:源码编辑。n工程管理工具工程管理工具:图形化方式构建、组织、配置:图形化方式构建、组织、配置VxWorks应用工程。应用工程。nWindSh:
11、驻留在主机端的命令行解释器,提供从主机端控制运行系统:驻留在主机端的命令行解释器,提供从主机端控制运行系统的接口。的接口。n浏览器浏览器Browser:监视系统信息。:监视系统信息。n调试器调试器CrossWind:类似于:类似于VC调试工具,调试工具,远程远程源码级的调试器。源码级的调试器。n软件逻辑分析器软件逻辑分析器WindView:分析实时软件运行状态的逻辑分析器,可:分析实时软件运行状态的逻辑分析器,可提供任务上下文切换情况、事件和有关测量对象的信息。提供任务上下文切换情况、事件和有关测量对象的信息。n模拟仿真器模拟仿真器VxSim:在主机上模拟目标机的仿真器。:在主机上模拟目标机的
12、仿真器。这些工具可以使用这些工具可以使用TCL(Tool Command Language,一种解释,一种解释性脚本语言)进行定制,以增加新的功能和用户接口。性脚本语言)进行定制,以增加新的功能和用户接口。工具的具体使用方法在后面介绍。工具的具体使用方法在后面介绍。13Tornado的开发环境的开发环境14Tornado的主要目录结构的主要目录结构nHost:Tornado的主机工具目录的主机工具目录nshare:共享的:共享的XDR(eXternal Data Representation)代码目录,代码目录,XDR是一种网络发送数据的标准格式,是一种网络发送数据的标准格式,XDR代码用于主
13、机工具和目标机之间进行数据传输使代码用于主机工具和目标机之间进行数据传输使用。用。nTarget:VxWorks操作系统和板级支持包目录操作系统和板级支持包目录nDocs:在线:在线HTML文档文档15target的主要目录结构的主要目录结构nconfig配置和编译配置和编译VxWorks的文件的文件 all 通用的配置文件通用的配置文件 bspName 板级支持包板级支持包 comps VxWorks的组件描述文件的组件描述文件nproj VxWorks的工程目录的工程目录nh VxWorks的头文件的头文件nlibVxWorks的库文件的库文件nsrc部分部分VxWorks的源码的源码16
14、1 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法17常用的软件调试开发方法常用的软件调试开发方法 VxWorks系统是内嵌在系统是内嵌在Tornado集成开发环境集成开发环境中的,而不像中的,而不像Windows系统那样,直接安装到计算系统那样,直接安装到计算机上,并带有很多的应用和软件开发工具。在进行基机上,并带有很多的应用和软件开发工具。在进行基于于VxWorks系统的软件开发调试时,一般需要一个系统的软件开发调试时,一般需要一个安装有安装有Windows和
15、和Tornado工具的计算机进行开发、工具的计算机进行开发、调试工作;同时需要一个运行调试工作;同时需要一个运行VxWorks系统的目标系统的目标机执行开发的软件。机执行开发的软件。18n使用目标机仿真器进行调试开发使用目标机仿真器进行调试开发 n虚拟机软件虚拟目标机进行调试开发虚拟机软件虚拟目标机进行调试开发 n使用真实的目标机进行调试开发使用真实的目标机进行调试开发 根据目标机的实现方法不同,可以将基于根据目标机的实现方法不同,可以将基于VxWorks系统的软件调试开发方法分为以下三种:系统的软件调试开发方法分为以下三种:19使用目标机仿真器进行调试开发使用目标机仿真器进行调试开发 n利用
16、利用Tornado自带的自带的VxSim,在主机上虚拟出一个目,在主机上虚拟出一个目标机环境,基于此目标机环境进行调试开发。标机环境,基于此目标机环境进行调试开发。n可用于与硬件无关的简单软件的开发。可用于与硬件无关的简单软件的开发。【优点优点】简单,所有的工作都可以在一台计算机上完成。简单,所有的工作都可以在一台计算机上完成。【缺点缺点】软件模拟环境,无法模拟出真实目标机的硬件特性,软件模拟环境,无法模拟出真实目标机的硬件特性,仅用于学习与硬件无关的简单软件的开发。仅用于学习与硬件无关的简单软件的开发。20利用虚拟机软件虚拟目标机进行调试开发利用虚拟机软件虚拟目标机进行调试开发 n利用利用V
17、Mware等工具,在主机上虚拟出一个目标机等工具,在主机上虚拟出一个目标机硬件平台。硬件平台。n在在Tornado中使用与交叉开发一样的方式进行软件开中使用与交叉开发一样的方式进行软件开发和调试。发和调试。【优点优点】与与VxSimVxSim相比,更具真实性,并且可以进行网络编程相比,更具真实性,并且可以进行网络编程和对文件系统的操作。和对文件系统的操作。【缺点缺点】毕竟也是虚拟的平台,与硬件相关的功能无法开发调毕竟也是虚拟的平台,与硬件相关的功能无法开发调试。试。21使用真实的目标机进行调试开发使用真实的目标机进行调试开发 n使用嵌入式软件最终运行的硬件平台作为目标机,使用嵌入式软件最终运行
18、的硬件平台作为目标机,进行交叉开发。进行交叉开发。【优点优点】目标机环境与系统真实环境一致,保证了在开发时目标机环境与系统真实环境一致,保证了在开发时的目标系统与发布后的系统之间具有最小可能的不同之处。的目标系统与发布后的系统之间具有最小可能的不同之处。【缺点缺点】开发调试过程复杂,速度慢。开发调试过程复杂,速度慢。221 13 32 2基础知识介绍基础知识介绍交叉开发环境的建立方法交叉开发环境的建立方法Tornado工具及其使用方法工具及其使用方法4 4常用的软件调试开发方法常用的软件调试开发方法23Tornado工具及其使用方法工具及其使用方法n编辑器编辑器n工程管理工具工程管理工具nWi
19、ndSh工具工具n浏览器浏览器Browser工具工具n调试器调试器CrossWind工具工具n软件逻辑分析器软件逻辑分析器WindView工具工具24编辑器编辑器n编辑器可以进行标准的文本编辑,同时也为编程编辑器可以进行标准的文本编辑,同时也为编程环境提供了一些功能:环境提供了一些功能:创建、打开文件,并对文件进行编辑、导航、查找、替换、打印等操作;彩色高亮度显示程序语法要素,例如彩色显示C/C+的关键字、预处理开关、注释等;与调试器集成,在调试过程中编辑器自动与程序执行同步,可在编辑器窗口内跟踪代码执行;与编译器集成,把编译消息连接到编辑窗口。n与一般编辑器的使用方法基本一致与一般编辑器的使
20、用方法基本一致 25工程管理工具工程管理工具n功能功能:提供了以图形化和自动化方式管理工程的功能。:提供了以图形化和自动化方式管理工程的功能。n术语术语:工程(工程(Project)源文件、二进制文件和编译规则的集合,工程工具提供了一个定义、修改和维护工程的不同构建选项的简单方法。在使用Tornado创建一个工程时,可选择为可下载工程(Downloadable Project)和可启动工程(Bootable Project)。26工作空间(工作空间(Workspace)一个逻辑和图形化的“容器”,可以容纳一个或多个工程,提供了相关工程同时工作的有效方法。工作空间可以以“Files”(工程源文件
21、和目标文件)、“VxWorks”(VxWorks包含和不包含的组件)、“Builds”(编译规则)三种方式显示工程。可下载工程(可下载工程(Downloadable Project)被用于管理和编译可以下载并且能够动态链接到VxWorks映像上的应用程序模块的工程。可启动工程(可启动工程(Bootable Project)被用于为某一指定BSP配置并编译VxWorks映像的工程。在该工程中,应用程序的代码被静态的链接到VxWorks映像中。27组件(组件(Component)可裁减的VxWorks工具。工具链(工具链(Toolchain)为某一特定目标处理器构建应用程序的所有开发工具的集合(如
22、编译器、链接器等)。演示:工程的创建工程的创建(可下载工程、可启动工程)工程的使用工程的使用 28WindSh介绍介绍WindSh是一个是一个驻留在主机端的命令行解释器驻留在主机端的命令行解释器,它,它提供从提供从主机端控制运行系统的接口主机端控制运行系统的接口,允许用户调用内存中的应用程序,允许用户调用内存中的应用程序模块或模块或VxWorks模块中的任何例程。模块中的任何例程。WindSh既是一个交互式的既是一个交互式的C语言解释器,又是一个交互式语言解释器,又是一个交互式的的Tcl解释器。由于我们在实际开发程序过程中很少将其作为解释器。由于我们在实际开发程序过程中很少将其作为Tcl解释器
23、使用,这里仅介绍其作为解释器使用,这里仅介绍其作为C语言解释器的部分功能。语言解释器的部分功能。当作为当作为C语言解释器时,语言解释器时,WindSh可完成如下工作:可完成如下工作:访问访问VxWorks工具工具 下载和调用代码下载和调用代码 创建和检查变量创建和检查变量 调试程序调试程序29WindSh启动方法启动方法 WindSh的常用启动方法有三种:的常用启动方法有三种:在工具条单击按钮启动。在工具条单击按钮启动。从菜单栏选择从菜单栏选择Tools-Shell选项启动。选项启动。在控制台方式下键入在控制台方式下键入“windsh 选项选项 目标机目标机服务器名称服务器名称”命令启动。命令
24、启动。若采用前两种方法,则在若采用前两种方法,则在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内嵌的部分命令(开发中
25、常用的)内嵌的部分命令(开发中常用的)sp:以默认方式创建一个任务:以默认方式创建一个任务td:删除一个任务:删除一个任务pwd:查看当前所在目录:查看当前所在目录cd:改变当前目录:改变当前目录i/ti:给出(详细)任务信息:给出(详细)任务信息w/tw:显示任务当前正在等待的对象:显示任务当前正在等待的对象ld/unld:加载或卸载模块:加载或卸载模块show:在:在WindSh中显示对象信息中显示对象信息演示:在演示:在WindSh环境下下载并执行程序环境下下载并执行程序32浏览器浏览器Browser介绍介绍Tornado浏览器提供了以图形方式监视目标机的系统信息、状态浏览器提供了以图形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二讲 嵌入式操作系统VxWorks及其开发工具Tornado2010 第二 嵌入式 操作系统 VxWorks 及其 开发 工具 Tornado 2010
限制150内