




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Tornado 开发环境使用说明,北京瑞斯康达科技有限公司 2009年8月,内 容,Tornado集成开发环境介绍 工程管理 Target Server 调试 Shell,Tornado集成开发环境的简介,Tornado是由美国风河系统公司(Wind River System 公司,WRS)推出的高性能实时操作系统VxWorks的开发平台,它包括一套完整的面向嵌入式系统的开发和调试工具。 Tornado是集成了编辑器、编译器、调试器于一体的高度集成的窗口环境,给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。 Tornado开发系统包含三个高度集成的部分:运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;运行在宿主机的强有力的交叉开发工具和实用程序,可对目标机上的应用程序进行跟踪和调试;连接宿主机和目标机的多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。 Tornado环境采用主机-目标机交叉开发模型,应用程序在主机的Windows环境下编译链接生成可执行文件,下载到目标机,通过主机上的目标服务器与目标机上的目标代理程序的通信完成对应用程序的调测、分析。,Tornado 嵌入式集成开发系统结构,Tornado工具集,集成的源代码编辑器 工程管理工具 集成的C和C+编译器和make工具 调试器(CrossWind):系统和任务级调试工具,可以调试C、C+以及汇编程序。 Shell(WinSh):C语言命令外壳,用于控制目标机。 浏览器(Browser):用于收集可视化的资源,监视目标系统。 VxSim:集成的VxWorks目标机仿真器。 WindView:集成的软件逻辑分析仪,目录与文件,Docs目录下存放各种帮助手册,主要是与Tornado和VxWorks相关的,启动Tornado,点击Windows任务栏上的“开始”按钮,选择程序,然后选择Tornado程序组,点击其中的Tornado项,即可启动Tornado运行,第一次启动Tornado时,创建工程窗口将出现。,工具条和按钮,主窗口的顶部包括5个工具条,可以快速执行最常用的Tornado命令; Standard:包括打开、保存、剪切、粘贴和打印等标准功能; Launch;启动浏览器、shell、调试器、仿真器、WindView和触发; Debug:包括启动调试、运行函数、单步执行和监视的调试器功能; WindView:缩放功能、过滤和数值分析。 Build:构建、编译当前文件,更新相关性,以及下载。,工程管理,Tornado以工程(project)为单位组织软件开发,工程中包括源代码信息、VxWorks配置和编译配置等。Tornado提供了工作空间(workspace)机制,用于工程的组织和管理。Tornado可以创建多个工作空间,每一个工作空间可以包含多个工程。每个工程又能引用多个源代码文件,组成层次结构。工作空间主要用在主机上安装有多个不同版本的Tornado时,每个工作空间可以以Torndao的版本命名。 Tornado能创建两种工程类型:Bootable和Downloadable。前者用于生成VxWorks程序映像,包括基本的操作系统组件,经过完全连接,可以独立运行。后者生成程序模块目标映像,只是部分连接,不能独立运行,但这种映像支持动态加载和连接,为VxWorks特有,能进行应用代码的快速开发和调试,而对系统其他部分不会造成影响。在项目的开发中,采用创建Downloadable工程来调试自己开发的应用模块。,工程的创建,step1:Tornado启动时或选择菜单“FileNew Project”命令 选择工程类型。我们以创建Downloadable工程为例做一介绍。,step2:设置工程名称、目录、描述和所属的工作空间。,step3:选择编译工具链,与CPU类型和编译器相关。工具链决定了编译器、系统库和目标格式等。工程生成时会自动完成依赖关系,生成相关文件,step4:工程创建完成,工程的文件,创建的新工程是一个初始化框架,还没有文件。只有和用户自己的应用代码关联后,才能进行实际的项目开发。 添加文件:,工程的编译,完成应用代码的添加后,需要完成编译配置,才能得到需要的程序映像。编译配置在“Builds”窗口中进行。,工程的编译,“C/C+ compile”和“assembler”选项卡用于设置编译器和汇编器的命令和选项。 “linker”选项卡用于设置连接器的命令和选项。 “Link Order”选项卡可查看模块连接的情况,用于更改链接次序。,编译选项,“Rules”选项卡用于设置生成的映像的类型。,编译选项,“Macros”选项卡用于定义编译宏。,编译选项,下载工程到目标服务器,在build成功完成以后,在某一个.o文件上单击右键,选择“Download 文件.o”能够实现模块的动态下载。,Target Server,Target Server在主机上运行并管理主机工具(如shell、调试器和浏览器)以及目标机系统本身之间的通信。 Target Server 包含主机驻留目标机符号表和向正在运行的目标机系统中插入应用模块的目标模块装载器。 Target Server和目标机系统通过目标机代理Target Agent(WDB Agent)通信,该Agent以任务的形式运行在目标机上。Tornado工具向Target Server 发送请求,根据请求类型,有的请求由Target Server自己处理,有的转发给Target Agent处理。为了与Target Agent通信,Target Server使用一个通信后端,该后端与Target Agent配置为相同的通信协议和传输层。,配置和启动,Target Server必须在任何工具能与Target Agent通信之前配置并启动。在配置和启动之前,确定主机和目标机已经适当地连接。 通过选择菜单“Tools-Target Server”即出现配置对话框 : 在该对话框中可以创建、复制和删除Target Server配置; 描述为该配置的标识,描述下的选项用于将该描述添加到菜单上,方便以后的操作; Target Server为目标服务器的IP地址 Target Name/IP为Target Agent的目标机IP地址,Target Server属性设置,授权和访问限制【Authorizations】 用于限制用户访问以增加系统的网络安全性,授权配置如图所示。如果选择“Lock on Startup”,则只有启动Target Server的用户的进程才可以访问该Target Server,如果没有选择“Lock”项,则缺省查找“$WIND_BASE/.WIND/userlock”文件来获得授权用户ID;若没有该文件,则无访问限制。也可以自己设置指定“User ID file”。我们一般不对该项进行设置,也就是设置成无访问限制。,通信后端【Back End】 根据不同的目标机,可以选择不同的Target Server通信后端与目标机的Agent通信。其中wdbrpc用于网络连接;wdbserial用于串行通道连接;wdbpile用于Visxim仿真目标机连接 ;netrom用于一专有的通讯协议;loopback用于测试;选择的后端类型与Agent中选择的WDB connection类型一致才能建立主机与目标机之间的WDB连接。各后端的动态库位于“hostx86-win32libbackend”目录下。 wdbrpc是最常使用的一种:,“Timeout”参数用于设置连接断开的确认时间,缺省为1秒,当连接超时时会进行连接重试,最大重试次数由“Re-try”确定,缺省为3次。,核心文件和符号表【Core File and Symbols】 Target Server依赖主机上存放的VxWorks映像文件来完成调试工作,我们需要指定映像核文件的存放路径。Target Server在主机上为目标机VxWorks映像维护了一张符号表,该表根据核心文件建立,从文件中提取符号名称和内存地址,用于加载其他模块时进行引用符号解析。默认情况下选择“Global Symbol”,只有核文件中的全局符号加入到主机符号表中。若选择“All Symbol”全局和局部符号都加入符号表中。“No Symbol”不建立主机符号表。另外为了实现在动态加载时主机和目标机上符号表的一致性,选择“Synchronize Target/Host Symbol Table”选项。,目标机内存管理,为了避免目标机进行过多的数据传输处理,Target Server维持在主机系统上有一块快速存储区(Cache)。该内存区主要由主机加载目标模块时使用。缺省情况下为1M,为了提高主机工具访问该内存的效率,可指定其大小。 其他选项:目标服务器文件系统、控制台和重定向、日志、杂项和目标机存储池这里暂不做介绍,在实际使用中几乎不用进行配置。 在进行上述的配置后点击图中的“Launch”按钮启动Target Server。,目标服务器图标和日志控制台窗口,当目标服务器已经启动时,目标服务器图标在Windows任务栏中显示。对于图标的上下文菜单提供对于显示LogConsole窗口、显示关于目标机信息和关闭目标机服务器的选项。,Tornado支持系统级调试和任务级调试 系统级调试可以在多个任务中切换,甚至在系统例程中检查运行,其主要用于中断代码的调试,也可以用于任务代码的调试。在此模式下,可以使用全局断点来停止整个系统,只要有任何任务遇到此断点。 任务级调试可以调试任务上下文中的代码,调试只对单个任务运行,不会对系统造成影响。默认情况下,Tornado一次只可以调试一个任务。可以通过使用run对话框建立一个新任务,或者通过Attach对话框调试一个已存在的任务,以选择任务。当绑定一个任务时,其命令只影响此任务。当任务遇到断点时,只停止此任务,整个系统并不停止。,调试,启动和停止调试器,启动:从Tornado Launch工具栏:按 按钮,或从Tools菜单:单击Debugger,启动调试器; 当调试器运行时,可以通过编辑窗口、命令行窗口、debug菜单及工具条进行调试;,停止:在调试工具条中,按 按钮或单击Debug菜单中的Stop Debugging命令,停止调试过程;,调试器工具条、按钮命令,Debug工具条上面有调试命令的按钮,以及显示辅助调试器窗口的按钮。 调试按钮和命令,BreakPoints,Default breakpoints(任务断点): 停在绑定的任务,或在系统级调试时停止整个系统; Global breakpoints(全局断点): 全局断点和任务上下文无关,只和调试代码有关,任何任务运行该代码到断点,都会挂起该任务等待调试。而任务断点除了和代码相关外,也和运行该代码的任务上下文相关。只有被Attach的任务运行到该段代码断点才会有意义。 Temporary breakpoints(临时断点): 只有效一次,然后删除( default )或禁止掉(disabled),数据检查、存储器和堆栈,当代码运行到断点处时,可以单步跟踪,通过使用附属窗口,来检查局部和全局的程序变量、参数、寄存器、目标机存储器和堆栈情况。 Watch窗口可以查看和修改全局符号,包括变量、数组、函数名等。在源代码窗口可以直接选择符号名加入Watch窗口,也可以先激活“Add to Watch”对话框,再手工输入符号名加入到Watch窗口。特别是对大数组的查看,数据量过大会导致Tornado运行很慢,最好手动输入分项查看。,Variables窗口可以查看和修改当前例程的局部变量,当单步执行不同的例程时,新的例程的局部变量就取代了先前显示的局部变量。 Registers窗口可以查看和修改 CPU寄存器的数值。 Memory窗口显示从Start Address控制字段指定的地址开始的一个范围的目标机存储器。 Variables窗口 Registers窗口 Memory窗口,数据检查、存储器和堆栈,Back Trace窗口可查看的函数调用轨迹,最下层为根函数,一般为任务入口函数;最上层为断点设置函数。窗口显示函数的地址、入口参数和所处的文件等。可以在窗口中任何例程上双击,以将上下文指针移至编辑窗口中的那个堆栈级,可查看相应的源代码。,目标模块的调试,工程生成的目标文件和部分连接的out文件,可以通过调试器下载到运行VxWorks的目标机中,完成局部代码的开发调试工作。下载的目标模块代码不能自动运行,需要通过运行系统中的代码和调试器来启动其运行的上下文。在调试器中,可通过菜单“Debug-Run”命令来运行调试代码函数,如果不需要提供参数,其默认值为零。,Shell,Shell(WindSh)是Vxworks的一种命令行用户接口,在shell下允许调用任何VxWorks例程,提供对全部VxWorks工具的访问;也可以用作应用程序开发者的一个原形和调试工具,通过调用任何一个应用程序例程来交互地运行应用程序模块。 Shell的操作包括Tornado系统的三个组件: 1、Shell接收命令并在本地主机上执行,为任何操作向目标服务器发出请求,包括符号表或者目标机驻留程序或者数据 2、目标服务器管理符号表,并处理与远程目标的所有通讯,发出函数调用并在需要时发送回结果。 3、目标机代理是在目标机上运行的唯一一个组件。,启动和停止Tornado Shell,可选择菜单“Tools-Shell”命令启动或按钮“launch shell” 启动 : 在Shell窗口执行exit、quit或退出Shell 。如果Shell和Target Server连接中断时,Shell停止响应输入时,可用中断按键强制退出。,Shell命令,Shell提供了一些内部命令,被构建在主机Shell内部,不需要在目标上调用的函数,而与目标机上一些函数功能类似,通过使用主机命令直接在主机上执行,以减少对目标机性能的影响。,任务管理相关的命令列表,系统信息相关的命令列表,系统修改和调试命令列表:,Shell中的C表达式解释程序,- x = (8 * 6) / 4 x = 0x1bbc20: value = 12 = 0xc - Name = “Nelson“ new symbol “Name“ added to symbol table. Name = 0x1bbc00: value = 1817616 = 0x1bbc10 = Name + 0x10 - printf (“Hello %s, number is %d.n“, Name, 0x20) Hello Nelson, number is 32. value = 28 = 0x1c - &x value = 1817632 = 0x1bbc20 = x,解决主机与目标机之间的名字冲突,当Shell命令的名字与目标列程有相同的名字时,又需要调用此列程,使用单字符前缀来标识目标机例程。,- i NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY - - - - - - - - - tExcTask excTask 3efc80 0 PEND 1805b0 3efb60 0 0 tLogTask logTask 3ed298 0 PEND 1805b0 3ed188 0 0 tWdbTask wdbTask 360198 3 READY 177908 360068 0 0 tNetTask netTask 3af248 50 READY 17775c 3af018 0 0 value = 0 = 0x0 - i i = 0x1bbbd0: value = 10 = 0xa,辅助调试工具,Tornado除了提供CrossWind、WindSh等基本调试工具外,还提供一些如Browser、VxSim和WindView等辅助调试工具。 Browser 可以方便的监视目标机状态。 使用浏览器可以检查下列内容: 详细的任务信息 信号量 消息队列 存储器分区 看门狗定时器 目标机上的堆栈使用情况 任务使用目标机的CPU 目标模块结构和符号 中断向量,启动浏览器,从Tornado Launch工具条单击 按钮,启动浏览器。,Browser Window selector,Data panel,显示该目标服务器的概要信息:有Target Server名称、Tornado版本、VxWorks版本、WDB Agent版本、CPU类型、BSP名称、内存大小、用户名、系统启动和当前时间、与目标机连接的主机工具。,存储器使用情况窗口,通过单击浏览器窗口选择器总的Memory Usage产生的窗口,查看存储器信息 。,任务浏览器,单击浏览器Tasks窗口查看VxWorks系统中的任务信息,包括系统任务和用户任务。每个任务条目包括TID、任务名和状态。点击任务条目会进入对象信息窗口,显示该任务对象的详细信息,包括任务的属性、栈和寄存器等。在上面介绍的W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红色大气年终工作总结
- 六年级心理健康知识讲座课件
- 公司网络安全培训成效课件
- 《诗经-邶风》课件
- 月度行政工作总结
- 精装工程师年终总结演讲
- 事故后的安全培训计划课件
- 粉蓝渐变色汇报
- 事业单位负债
- 事业单位安全规程培训课件
- 2025文具用品采购合同范本格式
- 电气检修生产安全培训课件
- 《2025新版检验检测机构管理评审报告》
- 2025劳动教育考试试题及答案
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- 焊工考试理论考试题库及答案
- 《国际公法》全册配套完整课件
- 第三单元名著导读《朝花夕拾-二十四孝图》课件(15张PPT) 部编版语文七年级上册
- 特种设备管理台帐(5个台账)
- l领导干部心理健康知识讲座课件
- 经口鼻吸痰技术新版
评论
0/150
提交评论