版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章Tornado集成开发系统7.1Tornado概述7.2Tornado安装7.3Tornado的使用方法7.4本章小结
VxWorks操作系统能得到市场的广泛认可,在相当程度上得益于其良好的配套的集成开发环境(IntegratedDesignEnvironment,IDE)。7.1Tornado概述
Tornado是为开发VxWorks应用系统提供的集成开发环境,Tornado中包含的工程管理软件,可以将用户自己的代码与VxWorks的核心有效地组合起来,可以按用户的需要裁剪配置VxWorks内核;VxSim原型仿真器可以让程序员在不用目标机的情况下,直接开发系统原型,做出系统评估;功能强大的CrossWind调试器可以提供任务级和系统级的调试模式,可以进行多目标机的联调;优化分析工具可以帮助程序员以多种方式真正地观察和跟踪系统的运行、排除错误、优化性能。Tornado集成开发环境提供了高效而明晰的、图形化的实时应用开发平台,它包括一套完整的、面向嵌入式系统的开发和调测工具。Tornado环境采用主机-目标机交叉开发模型,应用程序在主机的Windows环境下编译、链接生成可执行文件,下载到目标机,通过主机上的目标服务器与目标机上的目标代理的通信完成对应用程序的调试、分析。Tornado是集成了编辑器、编译器、调试器于一体的高度集成的窗口环境,同样也可以再Shell窗口下发送命令和浏览。
Tornado开发环境包括了两部分集成组件,一部分是Tornado工具组件集,提供可视化的自动交叉开发工具和设备;另一部分由可扩展的实时VxWorks运行系统和一系列通信组件组成。Tornado集成开发环境的基本组件见表7.1。表7.1Tornado集成开发环境的基本组件
Tornado开发环境面向各种目标机环境,主要在主机系统上执行。目标机不论是资源丰富的,还是资源受限的,都可以通过连接主机系统的目标服务器,共享其动态连接器和符号表。图7.1示意了Tornado的体系结构。
Tornado集成了用于VxWorks应用程序开发和调试的各种工具。开发者在主机系统里,利用这个集成环境组织、编写、编译和调试应用程序,然后下载到目标机上运行、调试。编译在主机上完成,测试、调试需要主机与目标机间协调完成,流程如图7.2所示。图7.1Tornado体系结构图7.2应用程序开发步骤作为VxWorks操作系统中的开发调试工具,Tornado具有以下特点:
(1)所有的开发工具都适用于开发不同类型的目标机。对于不同的目标机,Tornado给开发者提供了一个一致的图形接口和人机界面。当使用Tornado的开发人员转向新的目标机时,不必再花费时间学习或适应新的工具。
(2)开放的、可扩展的开发环境。除了提供适用于不同目标机的工具集以外,Tornado还是一个完全开放的环境,开发人员或第三方厂商可以很容易地把自己的工具集成到Tornado框架下。这种开放的环境使得开发人员可以使用各种各样而且越来越多的第三方软件及硬件工具,从而进一步提高开发人员的工作效率。
(3)友好的图形用户界面和在线帮助文档。几乎所有的开发工具都提供了易学易用的图形界面,在出现问题时,都可以从在线帮助文档中获取内容丰富的帮助。
(4)系统级和任务级两种调试模式。系统级调试模式是对整个应用系统进行调试,可在系统中设置断点等,调试中应用系统必须停下来。任务模式(即动态调试)是针对系统中某一任务模块进行的,整个系统仍可保留在工作状态。同样在对整个系统调试时,也可一个模块一个模块进行,这样可以加快调试速度,方便系统调试。7.2Tornado安装7.2.1目录与文件对开发环境中的目录与文件的了解,是认知Tornado的第一步。Tornado开发环境的相关目录如表7.2所示。表7.2Tornado目录列表7.2.2安装步骤
Tornado安装步骤如下:
(1)打开Tornado开发系统的CD-ROM,直接点击里面的SETUP.EXE文件,就进入到了Tornado的安装进程。首先看到一个“Welcome”窗口,上面提示在运行安装程序前要关闭所有应用程序,尤其是病毒扫描程序。点击“Next”按钮。
(2)安装程序出现“README.TXT”窗口,上面显示了安装Tornado开发环境的帮助信息,点击“Next”按钮。
(3)在出现的“LicenseAgreement”窗口中,给出了遵循WindRiver公司License规章制度的信息。点击“Accept”按钮后,“Next”按钮由灰变亮,点击“Next”按钮进入下一个窗口。
(4)如图7.3所示,将出现“UserRegistration”窗口。键入“Name”和“Company”信息,然后将CD-ROM附带表单上的25位Key信息键入“Install”空栏中。
(5)当键入正确的Key信息后,点击“Next”按钮进入“InstallationOptions”窗口,如图7.4所示。该窗口中提示用户选择一种安装类型。第一项,产品安装:用于产品的第一次安装,它可以安装Tornado程序的所有组件。第二项,快捷安装:用于日后的维护性安装或者利用远地服务器实现网络安装的模型,这种安装形式将约束本机Tornado开发环境的运行。图7.3用户注册窗口图7.4安装类型选择窗口第三项,License安装。只有需要将本机安装成为一个License服务器实现License管理时才需要安装第三项。这里我们选择第一项典型安装方式,即“Productinstallation”,然后单击“Next”按钮继续安装。
(6)这时,将出现“ProjectInformation”窗口,如图7.5所示。在此窗口中需要键入“WRSLicenseNumber”、“ProjectName”和“NumberofTornadoSeat”的信息。其中“WRSLicenseNumber”要与“NumberofTornadoSeat”相匹配,因为“NumberofTornadoSeat”限制一个License号的开发用户数。点击“Next”按钮进入下一个窗口。图7.5工程信息窗口
(7)进入“SelectDirectory”窗口,如图7.6所示。在该窗口的“DestinationDirectory”中输入Tornado的安装路径。需要注意的是,在选择安装路径的时候,路径名中不允许出现空格。选择路径后,单击“Next”按钮继续安装。
(8)出现“SelectProducts”窗口,如图7.7所示。在这个窗口中可以选择安装的产品。Tornado开发环境的最小安装是:主机系统用到的Tornado工具包、目标系统使用的处理器系列、目标系统的驱动及其头文件。在默认情况下,安装程序已经选择了这些基本选项。点击“Next”按钮继续安装。
(9)进入“SelectFolder”窗口,如图7.8所示。在此窗口需要键入程序文件夹名称,也可根据需要修改安装程序给出的默认程序名。点击“Next”按钮继续安装。图7.6选择路径窗口图7.7选择安装组件窗口图7.8选择文件夹窗口
(10)如图7.9所示,出现“TornadoRegistry”窗口。“TornadoRegistry”用来管理主机中所有的目标服务器。目标服务器用来实现Tornado开发环境的主机与目标系统之间的通信连接。在安装Tornado开发环境的主机中,必须首先运行“TornadoRegistry”才能启动目标服务器。在该窗口中有四个选项:第一项,系统启动时将自动启动“TornadoRegistry”。第二项,系统在安装Tornado开发环境的用户登录时自动启动“TornadoRegistry”。第三项,需要用户手动启动“TornadoRegistry”。第四项,使用远程主机的“TornadoRegistry”。这里,我们选择第二项,然后点击“Next”按钮进入下一个窗口。图7.9Tornado注册表窗口
(11)出现“BackwardCompatibility”窗口,如图7.10所示。若选择第一个选项,则可以在开发环境中同时使用Tornado1.01和Tornado2.2工具。这里,我们选择第二项,然后点击“Next”按钮继续安装。
(12)如图7.11所示,可以看到“ConfigureDefaultApplication”窗口。在这个窗口中,可以配置与Tornado2.2开发环境相关联的文件类型。选择默认的文件类型,然后点击“Next”按钮继续安装。
(13)这时,Tornado安装程序开始拷贝文件。当安装程序拷贝完文件后将显示一个窗口要求用户确认Tornado2.2程序已经安装。图7.10反向兼容性窗口图7.11设置缺省应用窗口7.2.3Tornado注册安装了Tornado2.2开发环境后,系统还不可用,因为还没有完成注册过程。以下是Tornado的完整注册过程。
(1)根据上一节介绍,当Tornado2.2自动安装好程序后,如图7.12所示,将会显示“LicenseManagementConfiguration”窗口。这个窗口中给出了两种注册方法:“floatinglicense”和“node-lockedlicense”。选择“floatinglicense”表示从现有的License服务器上获取License信息。这种License信息可以在主机之间共享。选择“node-lockedlicense”表示固定一个主机使用的License文件信息。如果用于曾经配置过的License文件,可以选择确认框“Recapturelicensepreviouslyconfiguredforthismachine”。默认情况下,一般选择“node-lockedlicense”,然后点击“Next”按钮继续下面的步骤。
(2)出现“LicenseManagementInstallationOptions”窗口,如图7.13所示。这个窗口给出了有关License安装的选项。这里,我们选择系统推荐的“AutomaticLicenseInstallation”选项,然后点击“Next”按钮。
(3)如图7.14所示,将会看到“DatabaseQueryPermission”窗口。这个窗口显示了安装主机的“HostName”和“HostID”。根据图示信息可以直接与WindRiver的网站联系获取License注册文件,完成注册过程。图7.12许可证管理设置窗口图7.13许可证管理安装选项窗口图7.14数据库询问许可窗口7.3Tornado的使用方法用户在安装和注册好Tornado开发环境后,便可使用Tornado进行VxWorks系统的应用程序开发。下面具体介绍其使用方法。7.3.1创建工程创建工程的过程如下:
(1)选择Windows菜单的【开始】→【程序】→【Tornado2.2】→【Tornado】,就可以启动Tornado开发环境。图7.15所示为启动Tornado开发环境的界面。如果界面中没有出现“CreateProjectinNew/ExistingWorkspace”对话框,则可以单击Tornado的【File】→【NewProject…】菜单项,就可以出现该对话框。图7.15Tornado开发环境界面
(2)在如图7.16所示的对话框中选择“New”属性,可以看到有两种类型的工程供选择。第一种“CreateabootableVxWorksimage”表示建立一个可引导的VxWorks映像;第二种“Createdownloadableapplicationmodules”表示建立一个可下载的应用程序模块。这里我们选择第二种类型,然后单击“OK”按钮。
(3)这时会出现工程设置的第一步对话框,需要设置工程的名字、路径以及工作空间的保存路径,同时还可以对项目进行描述。这里,我们接收默认的设置,工程名称为“Project1”,工程路径为“D:\Tornado2.2\target\proj\Project1”,工作空间为“D:\Tornado2.2\target\proj\Workspace1.wsp”,如图7.17所示。图7.16创建新工程图7.17设置工程名称和路径
(4)单击“Next”按钮,出现如图7.18所示的工程设置的第二步对话框,这里可以设置应用程序的工具链。我们选择“SIMNTgnu”,表示使用支持目标模拟器(VxSim)进行仿真开发调试的toolchain完成软件代码的编译、链接。
(5)单击“Next”按钮将会出现设置向导的最后一步,如图7.19所示。确认向导前面的选择,单击“Finish”按钮。
(6)经过前面几步的设置,就出现了如图7.20所示的工作空间窗口,项目创建完成。图7.18设置开发工具链图7.19确认项目图7.20生成的项目和工作空间7.3.2添加文件到工程在创建完成基本的工程框架之后,就需要向工程里面添加源文件了。这里我们使用的示例文件是位于安装目录“D:\Tornado2.2\target\src\demo\start”文件夹下的“cobble.c”。这是一个简单的模拟数据收集系统的多任务应用程序,其中包含以下四个任务:
(1) tCosmos任务,模拟ISR,产生新数据。
(2) tSchlep任务,收集数据。
(3) tCrunch任务,计算收集的数据。
(4) tMonitor任务,监测计算的结果,当结果超过安全范围时就显示告警信息。向工程中添加文件的过程如下:
(1)将文件“cobble.c”拷贝到项目所在的目录“D:\Tornado2.2\Project1”下。
(2)右键单击工作空间的【Files】选项卡的“Project1Files”,如图7.21所示,选择快捷菜单中的“AddFiles…”,在出现的“AddSourceFiletoProject1”对话框中选择cobble.c,即可将其添加到工程里。
(3)在工作空间的“Project1Files”目录下就可以看见工程生成的目标文件名,如图7.22所示。Tornado自动将所有的编译模块链接成一个“项目名称.out”文件。图7.21添加新文件图7.22生成目标文件7.3.3编译和运行程序编译、运行程序的过程如下:
(1)选择工作空间的【Builds】选项卡,打开“Project1Builds”目录,右击此目录下的默认创建名称“SIMNTgnu”,选择“Properties…”菜单项,如图7.23所示。
(2)如图7.24所示,将出现创建项目属性的对话框,其中显示了makefile中的所有编译选项。选择“C/C++compiler”属性页面,可以看到默认地选择了“Includedebuginfo”复选框,这就保证了编译的结果里面包含调试信息。同时还默认了不进行代码优化,从而最大限度地保留调试信息。单击“OK”按钮,关闭该对话框。图7.23设置调试属性图7.24编译属性设置
(3)设置好编译属性之后,右击“SIMNTgnu”,在快捷菜单中选择“Build‘Project1.out’”,便可编译工程文件了,如图7.25所示。在第一次开始编译之前,会出现如图7.26所示的“Dependencies”窗口,需要用户确认在进行编译前是否进行依赖性检查。点击“OK”按钮进行确认。
(4)编译完成之后将会出现“BuildOutput”窗口,显示编译结果,如图7.27所示。如果有任何的错误和告警信息,也将在该窗口中显示。双击错误或告警信息,就可以跳转到编辑器中源代码出问题的地方。图7.25编译工程图7.26依赖性提示图7.27编译结果
(5)现在可以将应用程序下载到目标模拟器中进行调试了。选择工作空间的【Files】选项卡,右键单击“Project1Files”,在快捷菜单中选择“Download‘Project1.out’”菜单项,如图7.28所示。这时,Tornado会提示你打开一个仿真器,如图7.29所示。
(6)点击“是”按钮,将会出现如图7.30所示的“VxSimLaunch”窗口,使用默认的“Standardsimulator”选项。
(7)单击“OK”按钮便打开了目标模拟器,如图7.31所示。此时Tornado会提示需要打开一个目标服务器,如图7.32所示。目标服务器负责Tornado开发环境和目标模拟器之间的通信。单击“OK”按钮,就启动了一个目标服务器,如图7.33所示,在工具栏上显示了此目标服务器的名称。图7.28下载应用程序图7.29提示打开仿真器图7.30配置模拟器参数图7.31启动目标仿真器图7.32提示打开一个目标服务器图7.33启动目标服务器
(8)对调试器进行必要的配置,以便更好地使用调试环境。选择菜单【Tools】→【Options】→【Debugger】,在“Autoattachtotasks”选项栏中选择“Always”,如图7.34所示,单击“OK”按钮。
(9)单击工具栏上的按钮,可以启动图形界面的Debugger。当Debugger成功地通过TargetServer并和目标模拟器建立了连接,单击工具栏上的按钮,就可以启动Shell命令行调试环境了。通过Shell命令行的方式,用户可以执行各种命令,包括VxWorks提供的命令和用户自己编程实现的命令。在本例中,需要在Shell命令行上输入“progStart”命令,如图7.35所示。图7.34配置调试环境图7.35在Shell中启动应用程序7.3.4监视和调试
Tornado浏览器(Browser)是一个配合Shell使用的面向系统的监视器,它可以用来观察目标系统的状态,包括当前激活任务的汇总、内存分配的汇总等。
(1)单击工具栏上的按钮,就可以启动浏览器了,如图7.36所示,选择“MemoryUsage”就可以看到内存的使用情况了。
(2) WindView是一个动态的可视化的调试工具,它不但提供信号、消息队列和“看门狗”定时器,还提供上下文切换的信息和产生上下文切换的事件。单击工具栏上的按钮,就可以显示“WindViewControl”窗口了,如图7.37所示。同时,也将出现WindView工具控制窗口,如图7.38所示。图7.36在浏览器中查看内存使用情况图7.37配置WindView工具图7.38WindView控制窗口在“CollectionConfiguration”窗口中有三种可供选择的WindView监视事件的基本类型:①ContextSwitch(上下文切换类型);②TaskStateTransition(任务状态转换类型);③AdditionalInstrumentation(附加的事件类型)。本例中,选择“ContextSwitch”,单击“OK”按钮。
(3)单击“WindViewControl”窗口的按钮,开始收集数据,每隔几秒钟可通过单击按钮来更新数据收集的状态。当达到数据缓冲的50%以上时,单击按钮停止收集数据,然后单击按钮,将数据上传到Tornado集成开发环境中。当数据上传完成后,将显示如图7.39所示的视图。可以使用按钮来放大、还原和缩小图形的显示。图7.39任务视图
(4)从图7.39中可以看出,tCrunch任务根本没有得到机会运行,说明这个任务的优先级设置不合理,下面来改正这个错误。在工作空间的【Files】选项卡中双击“cobble.c”文件,找到progStart()函数。可见tCrunch任务的优先级(240)比tMonitor任务的优先级(230)低,导致tCrunch永远不被执行,可将两个任务的优先级调换,即改为
tidCrunch=taskSpawn("tCrunch",230,0,STACK_SIZE,
(FUNCPTR)crunch,0,0,0,0,0,0,0,0,0,0);
tidMonitor=taskSpawn("tMonitor",240,0,STACK_SIZE,
(FUNCPTR)monitor,0,0,0,0,0,0,0,0,0,0);保存文件后,选择【Build】→【RebuildAll】,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国印刷包装行业产业链整合市场机遇竞争态势分析
- 2026中国涡流泵行业国际合作与跨国竞争分析报告
- 2026中国新能源电池制造行业市场供需现状及产业投资趋势深度分析
- 2026中国智能交通系统行业前瞻技术与政策规划分析报告
- 2026中国投资银行业金融机构投资银行业金融机构证券行业市场深度调研及发展趋势和投资前景预测研究报告
- 2026设置策略行业市场现状供需分析及投资评估规划分析研究报告
- 2026全球电子信息产业发展现状及未来趋势研究报告
- 2026智慧城市建设中物联网技术应用与商业模式创新报告
- 2026中国造纸工业市场深度分析及发展现状与投资潜力研究预测报告
- 2026中国体育用品行业市场现状分析及投资前景规划分析研究
- 2026年江苏公务员申论高分范文
- 急诊科护理人员的血气分析解读
- 新疆留疆战士试题及答案
- 2025年闽侯县公安局招聘警务辅助人员真题
- 2025年安徽省《保密知识竞赛必刷100题》考试题库及答案详解【有一套】
- JJF 2216-2025 电磁流量计在线校准规范
- 2026年太阳纸业行测笔试题库
- 2025年度新疆新星国有资本投资集团有限公司校园招聘5人笔试参考题库附带答案详解
- DFMA制造可行性管理培训
- 正反转电路培训课件
- 贵州省农业发展集团有限责任公司招聘笔试题库2026
评论
0/150
提交评论