首页 风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0

风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0

举报
开通vip

风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0 说明:由于开发经验和英语水平有限,在本文档中肯定存在偏差和谬误。在有疑问的地方,请以风河的官方文档为准。欢迎联系,指正错误。QQ:1039309823。 风河Woorkbench3.0/VxWorks6.6使用说明 第一章 工程视图(Projects Overview) Workbench利用工程( Projects)就像逻辑容器和积木块——它们能够连接在一起创建一个软件系统。工程( Projects)窗口可以直观地组织工程结构反映在内部的依赖关系上,以及编译和链...

风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0
说明:由于开发经验和英语水平有限,在本文档中肯定存在偏差和谬误。在有疑问的地方,请以风河的官方文档为准。欢迎联系,指正错误。QQ:1039309823。 风河Woorkbench3.0/VxWorks6.6使用说明 第一章 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 视图(Projects Overview) Workbench利用工程( Projects)就像逻辑容器和积木块——它们能够连接在一起创建一个软件系统。工程( Projects)窗口可以直观地组织工程结构反映在内部的依赖关系上,以及编译和链接的次序。 前期配置的各种不同的工程允许在后面建立或添加工程时使用与之前的工程相同的配置和建立方式,因而只需要极小的输入。 Workspace/Project 的设置 Wind River Workbench并不知道使用者的源文件在哪一个地方,在开始的使用的时候Wind River Workbench在安装目录下有一个默认的工作空间(workspace )的目录。但是这不是必需的或者说并不一定是合理的,当使用者的工作空间因为产品升级或者更改安装目录已经完全存储在当前的安装目录树之外的时候! 通常,使用者需要把workspace目录设置在当前的源文件树的根目录下并且在此创建Workbench工程。对于各种不同的源文件树,可以使用不同的工作空间(workspaces)。 当决定在什么地方建立工程(projects)要做以下考虑: 在workspace建立工程 如果使用者想要新建一个工程在workspace下,通常的情况有 所建的工程还没有建立源文件。 所建的工程已经存在源文件,但需要添加进工程。 所建的工程不允许设置在源文件目录处。 在workspace外部建立工程 在创建工程时,点击“Browse”,将要建立的工程放置在在与workspace不同的目录。通常的情形有: 所建的工程建立在已有的原文件之上,改变工程目录之后需要对源文件进行添加和链接。 所建的工程需要版本控制,而被放置在workspace之外。 将工程建立在workspace之内但是连接到外部位置 在创建工程时,选择Browse,定位到使用者的源文件目录,当不愿意因为工程文件的加入而是原文件增大或者不想把源文件复制到workspace。通常的情形有: 所建的工程不允许设置在源文件目录处。 所建的工程因为开发团队的成员有自己的工程,并且共享了部分源文件(通常为只读的)。这种选择就避免在团队成员之间通过Workbench互相配合工作是需要建立的象征性的连接。 注意: 如果要使用一个早期版本的 Workbench创建了一个workspace,在使用当前版本的Workbench打开此workspace时,必须先升级此workspace的结构! 有一个对话框提醒使用者这种升级会使得workspace与早期的版本不相匹配,选择“OK"升级,或者选择“cancel”去选择不同的workspace。 二、创建一个新工程(Projects) 尽管使用者可以将工程建立在任何位置,但是通常还是建立在自己的workspace中。这样就不需要在建立工程时跳转到外部目录。如果在workspace创建了一个工程,必须在外部所创建的工程处设置写允许,因为Workbench的工程管理文件要写到此处。 可以点击 工具按钮或者选择 File>New>Wind River Workbench Project 创建一个之前配置好的工程,或者是创建一个特殊类型的工程;也可以选择File > New > Example 打开一个例子工程。 无论选择种菜单命令,都会由导航菜单一步一步选择,直到创建需要的特定类型的工程,接下来将介绍以下各工程的创建: A.Creating VxWorks Image Projects B. Creating Boot Loader/BSP Projects C. Creating VxWorks ROMFS File System Projects D. Creating VxWorks Real-time Process Projects E. Creating VxWorks Shared Library Projects F. Creating VxWorks Download able Kernel Module Projects G. Creating User-Defined Projects H. Creating Native Application Project 工程创建之后的修改 所有工程的创建导航设置都可以修改一旦工程已经存在。在Project Explorer窗口,选中工程文件夹,例如“ball”,单击右键在下拉菜单中选中“Properties”,就可以在相应工程的" project properties"界面进行修改,如下图: 工程的结构设置(包括使用者创建的超级工程),也可以很容易的修改,在Project Explorer窗口,选中工程文件夹,例如“ball”,单击右键在下拉菜单中选中Project References > Add as Project Reference,在弹出的菜单里就可以设定个工程之间的结构关系,如下图所示: 工程与应用程序(Application Code) 工程以一种或几种类型管理应用程序文件。可以将一个与Workbench兼容的工程整个加入,也可以添加新的或者已经存在的源程序文件。选择 File > Import 打开“Import File ”对话框进行相关操作。 各工程类型结构 不同类型的工程有着不同的用处,Workbench支持多种类型的工程,在Project Explorer窗口可以看见不同类型的工程有着不同的符号标志,见下图: VxWorks Image Project(VIP) 用VxWorks Image Project 工程配置(自定义或裁剪)并编译一个内核映像用以启动目标板( boot target)。通过添加VxWorks ROMFS 文件系统、内核模块(kernel modules)、应用程序(applications)、 库(libraries)、 数据文件(data files),可以把整个系统联接进如一个映像(single image)。 一个VxWorks Image project既可基于一个同类型的Image project也可基于一个BSP( Board Support Package)。 VxWorks Boot Loader/BSP Project(BSP) VxWorks Boot Loader/BSP工程用于创建一个VxWorks boot loader也称为VxWorks boot ROM 在启动时下载一个带vxworks内核的目标映像。也可以把一个已经存在的同类型的工程的源文件复制到使用者创建的工程中,然后在不改变 VxWorks 所在目录的情况下自定义工程。 在开发环境中boot loader被用来从主机下载一个VxWorks映像;在最终的产品中boot loader和操作系统映像存储在同一个磁盘上。 boot loader和VxWorks并不需要在ROM中单独存储。 VxWorks Downloadable Kernel Module Project(DKM) 利用VxWorks Downloadable Kernel Module 工程管理和建立一个存在于内核空间(kernel space)模块(modules)。可以单独建立模块运行和调试,可以自由的在目标(target)上运行VxWorks,下载,卸载,重载。一旦模块完成就可以静态的链接到内核(kernel),或者模块也可以使用一个存在的文件系统。 DKM工程示意图(不包含文件系统) 内核模式的开发是VxWorks 传统的开发方法,所有的任务(tasks)都在启动(spawn)之后运行在一个没有保护的环境。 Downloadable Kernel Module在目标已经启动之后,可以启动应用程序。 VxWorks Real-time Process Project(RTP) VxWorks Real-time Process可以管理和建立可执行文件在内核空间之外。可以单独运行和调试可执行文件。 对于Real-time任务就像一个完全独立的程序下载到一个单独的程序运行地址空间( process address space)。一个Real-time的程序的二进制文件可以像ROMFS文件系统一样存在于目标的(target-side)文件系统。 Real-time 程序执行时对于内核就像单独的实体,如下图所示: 关于如何连接到共享库(Shared Libraries),参看平台所带的帮助信息。 VxWorks Shared Library Project(Libs) VxWorks Shared Library的库文件会动态连接到运行的VxWorks实时程序,要连接到RTP工程,必须将共享库( shared library)储存在目标侧的文件系统。也可以通过VxWorks Shared Library工程建立一个子工程在编译时静态链进入其他的工程。 更多的信息在平台帮助信息中查看,其路径为: Help > Cheat Sheets > Wind River Workbench > Setup a VxWorks RTP with a shared library 。 VxWorks ROMFS File System Project(ROMFS) VxWorks ROMFS File System 工程可以作为任何一个需要目标侧文件系统的工程的子工程。 这种工程类型 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 用来建立应用程序或者其他任何类型的文件,带一个VxWorks系统映像的ROMFS文件系统,除了是vxworks的引导映像并不需要任何的存储介质。所以并不需要其他的文件系统存储文件,系统也具有完全的功能而不需要求助local文件系统、NFS 驱动、RSH 、或者FTP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 等等。 需要注意的是ROMFS与ROM 媒介没有任何关系,名字代表的意思是Read Only Memory File System。 ROMFS工程示意图: User-Defined Projects(UDP) User-Defined projects 为用户设置和保存自己的编译系统、文件系统布局等等。用户接口提供以下支持: 可以用编译命令(build command )开展用户的编译功能,这样就允许在Workbench GUI界面进行编译。 在Project Explorer窗口中建立的工程,它的编译规则可以反映在makefiles文件中。这样就允许在Project Explorer窗口选择任何用户自己的编译规则。 可以在Build Console窗口看到编译工程时的输出信息。 Native Application Project(NAP) Native Application工程用于主机环境下的C/C++应用程序的开发。Wind River Workbench为当地GNU 2.9x, GNU 3.x, 和Microsoft 开发功能(ssembler, compiler, linker, archiver)提供编译和源文件分析支持,但没有调试器,所以得选择合适的当地工具用于调试(debugging)。 工程和工程结构 所有独立的工程内部都包含和其他任一工程无关的模块,在系统开始是都是单个的和没有经过组织的。所以使用者可以在workbench下通过工程之间的依赖关系和编译命令整体组织各个工程。 通过workbench可以很方便的组织各工程,但是有的工程不能作为某个工程的子工程或者是同种类型的工程,这样的关联是不允许的。 给一个工程加入子工程 Workbench可以通过多种的方式创建子工程或者超级工程(subproject/ superproject)结构: A 、在Project Explorer窗口,右键点击工程,在下拉菜单中选择Project References > Add as Project Reference或者在Project 菜单选择 Add as Project Reference。之后就可以进行工程之间的关联选择。 B、在Project Explorer窗口,右键点击工程,在下拉菜单中选择Properties再选 Project References或者选择Project > Properties。然后选择Project References,之后进行设置。 Workbench确认子工程和超级工程之间的关系是基于工程类型和目标操作系统的。有些关系是不允许的。比如,Real-time Process 工程不能作为VxWorks Image工程的子工程,但是可以加入到ROMFS工程。通常,一个user-defined 工程在选用一个合适的目标操作系统的情况下可以作为任一工程的子工程或是超级工程。 移除子工程 A、在Project Explorer窗口,右键点击工程,在下拉菜单中选择Project References >Remove Project Reference或者在Project 菜单选择 Remove Project Reference,之后进行移除。 B、在Project Explorer窗口,右键点击工程,在下拉菜单中选择Properties再选 Project References或者选择Project > Properties。然后选择Project References,之后进行移除。 工程结构和主机文件系统结构 Workbench工程在树状目录的顶部,其他子目录会自动包含在此树妆目录之下。不要试图通过子目录建立工程建的连接关系,这样是不允许的,因为会造成工程的重叠。 工程的目录结构和逻辑结构示意图: 工程结构和编译系统 对于上文工程的“目录结构和逻辑结构示意图”所示工程的结构与编译顺序的示意图: 编译先从顶部开始,再逐层深入到内部的枝叶最后回到顶部,完成编译。上图的编译顺序如下图所示: 工程结构和共享子工程 一个实际的工程可以关联任意数量的逻辑工程。 产品的升级或者编译共享工程亦或组件的变化,都会影响到关联共享工程的工程结构。 自定义编译共享工程 一个单独的文件系统文件夹可以像子工程一样添加到多个逻辑工程结构。这种情况下,可以根据需要为每个工程指定不同的依赖编译规格。 同一个文件夹可以在同一个工程中指定不同的编译规格。 如果为工程整体制定了一种编译规格,那么子文件夹也会运行这种编译规格,为其指定的特殊的编译规则自然就被排除在外。 工程的特殊执行环境 如果需要为每个工程保存不同的编译和外部工具执行的环境,Workbench 允许使用者创建一个 project.properties文件,为每个工程定义工具、工具版本、环境变量等内容。 可以把project.properties在团队共享保持一致性,也可以和工程中的其他文件一起做源文件控制。 A.在Project Explorer窗口,右键单击工程,选择New > File。 B.在new file对话框选择创建project.properties的步骤: new file对话框如下图所示: a.在file name中输入project.properties,点击finish。 b.连接到外部的project.properties点击 Advanced,然后选择Link to file in the file system选则当地的文件,然后点finish完成。 注意; 当在团队中共享文件或者是在公共的位置访问这些文件时,最好使用路径variable代替不受约束的路径,因为团队成员到这个位置的路径可能各不相同。 设置variable路径,点击variables,在弹出的对话框中选择new,输入名称和选择预设的位置,点击OK然后完成设置。 c.新的 project.properties文件出现在Project Explorer窗口底部,并且在编辑窗口打开,可以添加和编辑文件内容。 d.新project.properties 和其他的工程描述文件使用相同的语法,都是wrenv(就像install.properties和package.properties ) 更多的信息参看VxWorks Command Line Tools User’s Guide: Creating a Development Shell with wrenv。 e.如果已经做了一个扩展,在 Project Explorer窗口可以通过工程名查找到工程模板。 f.打开 installDir/install.properties文件,查看模版中的列表信息:必须包含在扩展中的类型、子类和其他信息。 g.Workbench 在使用project properties文件在工程中编译一个目标时会有所不同。在wrenv 环境下,可以在命令行中加入“-i”,从而选择包含project.properties和install.properties, 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 如下: -i installDir /install.properties -i installDir /workspace/myproject /project.properties 在这种情况下,make环境会更改从而包含环境和文件中的特殊工具。 在shell中使用project.properties文件 选择projects>open workbench development shell,同样可以对project.properties文件进行特殊扩展。在打开的shell中,选择一个工程模板,从一个已经存在的properties文件中往模版中加入相应的内容。如果在打开shell时,没有选中一个工程,这是会出现一个对话框,然后选择一个合适的环境。 使用project.properties文件的局限 如果使用properties文件对一个工程进行扩展,意味着可以加入tools、定义variables、指定versions。但是不能去除已经包含的内容,比如重写variables、不做在文件中设置的路径(PATH)扩展。 不能够把project.properties 文件用在 Native Application 工程中,因为这个工程没有其他的文件包相关联,不能做扩展。 第二章 在workbench3.0平台下建立一个 (例子)工程 在本章中,所要做的工作是: A、Create a project B、Import source files C、Build a project D、Connect to a simulator E、Set breakpoints F、Step through code G、Set a watch on a variable H、Run code I、Edit source files J、Track build errors K、Debug a project L、Rebuild and rerun your code 一、启动风河workbench 1、通过桌面图标启动。 2、通过开始菜单启动: 选择开始> 所有程序 > Wind River > Workbench 3.x > Wind River Workbench 3.0。 创建一个例子工程并运行编制的程序 如果在Workbench使用指导说明之前对透视图和视图做了改动和调整,在透视图的右上角可以进行不同界面的切换,如下图所示: 选择相应的选项就会跳转到相应界面。 如果需要把透视图和它之下的视图回复到默认配置,只需要选择Window > Reset Perspective 。 创建一个例子工程 选择 File > New > Wind River Workbench Project。会出现 New Wind River Workbench Project 对话框。 从Target operating system 下拉选择菜单选择 Wind River VxWorks 6.x ,点击 Next。 c.从 Build type 下拉选择菜单选择 Downloadable Kernel Module 点击Click Next 。 d.在Project Name区域,输入ball 。在本指导说明中都保持Create project in workspace 选项,点击 Finish 。一个名称为“ ball ” 的工程出现在workbench的工程窗口。 把资源文件添加到工程 a. 鼠标右击ball工程文件夹, 然后选择“Import......”出现一个添加导航界面。 b. 选择General,然后是FileSystem, 然后点击Next。出现一个为Import导航的File System 界面。 c.点击 Browse 按钮出现一个可做Import的选择目录。 d.跳转到installDir\workbench-3. x\samples目录,选择ball , 然后点击OK,这时Filesystem 页面出现, ball文件夹在左面的小窗口,这个文件夹下的文件在右面的小窗口。 e. 选择ball的相应选项自动添加文件到工程中,然后点击 Finish 完成添加。 f.在工程窗口的工程目录下:工程文件为黑色;编译的目标是绿色;灰色的是只读文件。如图; 编译工程 A.右击工程文件夹,出现下拉菜单,选择 Build Project。 B.第一次编译一个工程时,会弹出一个询问workbench中生成编译目标的存储目录,通常不需要变化,所以选择Continue。 C.这时Build Console窗口会打印编译信息,当编译完成后, ball.out文件会出现在 ball/SIMNTdiab/ball/Debug目录之下。如图: 说明: 工程中的目录名称“SIMNTdiab”反映当前起作用的编译规格,它包含vxworks的模拟器和编辑器;目录名称“Debug”反映的是实际上的默认的调试模式标志。 如果需要改变编译规格,右击工程文件夹,选择Build Options > Set Active Build Spec,选择合适的编译规格,如下图: 建立一个定义到vxworks simulator(模拟器)的连接 可以创建和管理一个到目标(target)的连接,包含vxworks simulator(模拟器),使用Remote Systems视图(view)。 如果成功安装workbench的相关支持模块,当启动workbench时,在“Remote Systems”窗口的“local”会有一个vxsim0,默认的与vxworks simulator(模拟器)的连接。 如果想建立一个新的目标链接,其步骤如下: A.在remote system窗口中点击 “Define aconnection ”,或者在remote system窗口单击右键,出现 New Connection选择窗口,如图: B.选择VxWorks 6.x > Wind River VxWorks 6.x Simulator Connection ,然后点击 Next。 C.点击 Finish 完成,这是所建立的连接相关的设置都是默认的状态。因为 “Immediately connect to target if possible ”默认为选中状态,workbench会尝试连接到模拟器。如图所示: 下载程序和连接到调试器(Debugger) 在Project Explorer窗口,右击编译的目标 ball/SIMNTdiab/ball/Debug/ball.out , 然后选择Debug Kernel Task ,这时Debug 加载配置对话框出现,如下图所示: 名称为 ball.out 的文件已经被加载。如下图所示: B.在main 窗口的填写Entry Point选项(或者点击Browse 并且选择Downloads > ball.out > main ),然后点击Debug。 C.这时workbench会进行以下动作:自动编译“ball”工程;跳转到Device Debug透视图;在模拟器上执行“ball”工程的程序;连接到调试器(debugger);执行程序到main();然后停止( breaks)。如下图所示: 设置Device Debug Perspective(透视图) 在Memory view(视图)使用存储地址(memory address )观察“ball”工程的“grid”变量在运行过程中的动作,所以选择Window > Show View > Other > Debug > Memory。完成后界面如下图: B.在 Expressions视图上右击Expression 标题栏并且选择 Add Watch Expression,然后输入grid 再点击 OK. grid变量的存储地址和它的值会出现在视图中,如下图所示: C.右击 Memory视图并选择 “Add Memory Monitor”。 D.输入“grid”变量的存储地址,点击"OK",出现以下界面: E.在 Memory视图的"Renderings"侧空白处,单击右键,然后选择Cell Size > 8 bytes,如下图所示: F.除了把Memory窗口调大之外,还需要调整Monitors 和Renderings窗口的大小,以便能够更加清楚的看到相应存储的值。 设置和运行到断点(Breakpoint) 在main.c的三个初始化for循环之后的while中加入断点:在相应行的左侧边栏双击左键;出现一个蓝色的小圆点,还有一个Breakpoints视图显示断点的名称和行号。 断点设置以后在Debug 窗口点击Resume按钮,workbench会在运行之后停在断点处。 在Memory窗口,程序运行后,会有六个符号出现 修改断点(Breakpoint) 下一步改变断点的动作以便于在每个间歇处(break),演示会回复而不会停止执行。 右键单击断点,在弹出的下拉菜单中选中“Breakpoint Properties”,如下图: 出现“Line Breakpoint Properties”对话框。 B.选择“Continue on Break”, 改变“Continue Delay”为500 , 然后点击“OK”。如下图所示: C.点击“Resume”按钮,然后在Memory窗口观察小球的动态。 D.再一次打开“Breakpoint Properties”对话框,清除“ Continue on Break”,然后点击“OK”。可以看见小球在点击OK之前还会弹跳一两次。 三、编辑和调试源文件 本节将介绍在开发中最基本的操作:编辑代码,编译工程,注释编译错误,跟踪和锁定错误。 使用本节的说明之前,先要把workbench返回到“Application Development”透视图( perspective)。 在源程序中设置一个错误(Error) A.在Project Explorer窗口,双击main.c,打开编辑器。 B.在 Outline视图中选中main(),编辑器就会跳转显示这个函数。如下图: C.删除gridInit( )后面的分号 “;” 。 D.保存并关闭文件。 跟踪一个编译错误(Build Failure) A.在Project Explorer窗口选择编译“ball”工程。 B.当编译到main.c中设置的错误时,编译就会失败,这时workbench用一个红色圆点里面一个白色的查“x”在以下地方显示错误: (a).Build Console窗口会在前端显示,怀疑出错的位置以及出错的信息。 (b).在Project Explorer窗口中提示“ball”工程编译出错和main.c就是包含错误的文件。 (c).在Problems视图中会对错误进行描述,包括文件名、文件夹、行号。 错误信息如下图所示: (d).点击这些位置的红色按钮,就会在编辑器中打开 main.c 文件,在红色的标记附近就是出错的所在。 (e).在gridInit ()函数之后加上分号“;”。 (f).保存并关闭文件。 更改错误后,重新编译工程。 右键点击“ball”工程,选择Rebuild Project。 使用编辑器的高级特性 1.使用代码完整(Code Completion)在文件中加入符号(Symbols) 在编辑器中任意位置单击右键,在下拉菜单中选择 Source > Content Assist 。如下图: 这时在编辑器中,鼠标所指的位置就会出现如下图所示的信息: 使用参数隐藏信息 在编辑器中想要使用参数隐藏信息,在编辑器的代码中的某一处单击右键,在下拉菜单中选择Source > Content Assist或者使用快捷键CTRL+SHIFT+SPACE 。效果如下图所示: 使用括弧配对使语法清晰 使用括弧配对特性时,当鼠标放在括号的一边,与之配对的另一边就会被一个矩形框起来,还可以使用快捷键 CTRL+SHIFT+P,跳转到矩形框的位置,可以进行括弧配对操作的符号有: (), [] ,{} , "", /* */ , <> (C/C++ only)。 在源文件中查找标志符号(Symbols) 在Outline视图中可非常容易的查找符号标志,点击符号就可以跳到对应的位置。但是在函数内部引用的符号和函数名在Outline视图中是不显示的。如下图所示: *符号高级查找 打开一个高级的符号查找对话框,其步骤如下: Navigate > Open Element 。如下图: B.在弹出的对话框中,输入要找的符号并选择其类型,如图所示: C.在“matching elements”框中,双击相应的符号就会跳转到对应位置,或者点击“cancel”退出。 在文件中跟踪特定名目(Items) 添加一个 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 签和定位一个书签方法是一样的:都可以在短时间内 找到感兴趣的名目(Items),打开书签(Bookmarks)窗口的方法: 选择Window > Show View > Bookmarks。 可以在文件的内部的特殊行设置一个书签,也可以为文件自身设定一个书签。 (1).在文件内部的某一行设置一个书签(Bookmark) A .找到文件内部想要设置的行,在行号的左边单击右键,在下拉菜单中选择Add Bookmark,然后点击OK。如下图: B.书签设置好后,可以在Bookmarks窗口点击description下方的书签名称进行修改,如下图所示: 6.五访问和查找workbench上下文关联的帮助信息 可以使用快捷键,就可以访问上下文关联的workbench下的用户界面的更多信息。 Windows使用F1,Linux 和 Solaris 使用CTRL+F1,就可以打开一个帮助界面包含对当前界面的一个主要描述并且链接在其他文档中有同样主题的更多的相关信息。也可以通过在打开的workbench系统的菜单栏选择Help>Help Contents > Wind River Documentation ,查找相关的帮助信息。 更多关于Eclipse的信息,选择 Help > Help Contents > Wind RiverPartner Documentation > Eclipse Platform Documentation ,或者访问Eclipse的网站www.eclipse.org 。 在文档中查找帮助信息 (1)、按照9中的步骤打开 workbench自带的帮助窗口。 (2)、在“ Search”栏输入关键词或者词组,点击“GO" 查找。 (3)、在帮助窗口就是搜索的同一个主题的帮助信息,点击其中一个进入包含此主题的文档。 在搜索的主题之前加上适当的限制词语可以简化搜索的结果。 第三章 建立开发环境 本章介绍如何配置主机和目标,以及如何下载一个Vxworks映像和启动目标。 最常用的建立开发环境的方法就是用串口和网线。串口的连接用于boot loader的通信,网线的连接是为了传输文件,包括vxworks的系统映像。有一个默认的Vxworks的系统映像类型用于这种方式。 一、主机和目标的配置任务概述 1.在主机上所要做的工作 A.安装Wind River Workbench。 B.配置主机的TCP/IP 。 C.配置一个传输VxWorks映像的工具,比如FTP。 2.在目标上所要做的工作 对于一个新的目标,以下这些工作都是必须要做的: A.在目标上装入VxWorks boot loader(细节参看文档Wind River Workbench for On-Chip Debugging User Tutorials )。 B.在主机和目标之间建立一个或几个物理连接。 C.为新目标定义Workbench目标服务器。 3.一般操作 在开发阶段如果需要重新初始化目标,就需要重复以下工作: A.在目标上启动VxWorks。Vxworks包括一个目标代理和workbench与vxworkss之间的其他工具的接口。 B.在主机上连接和和重启一个Workbench目标代理服务器。 4.目标代理(Target Agents)和目标服务器(Target Servers ) Wind River Workbench主机上的工具像shells和debuggers通过一个运行在主机上的目标服务器(target server)与目标系统连接。 一个目标服务器的类型可以配置为back ends。它提供与运行在目标上的目标代理的不同方式的通信。VxWork可以配置可建立和建立不同的与目标代理之间的通信接口。 如果选择目标服务器的终端( back end)和目标代理之间的通信是基于所建立的主机和目标之间的通信方式,比如network, serial, JTAG等等。目标服务器配置的后端必须和VxWorks配置和修改目标代理接口相匹配。 注意: WTX 意思是Wind River Tool Exchange。 WDB 意思是 Wind River Debug。 主机—目标之间的通信如下图所示: 5.目标代理(Target Agent)模式 Workbench下的所有目标服务器都是通过目标代理与目标连接的。为了更好的理解各种终端的特征,必须要了解目标代理能够使用的模式,分别是:用户模式,系统模式,双重模式。 (1). 用户模式:代理(Agent)就像VxWorks的任务一样运行。调试的执行是基于单个任务的:可以使任务独立出来或者使任务不对目标系统的其他部分产生影响。 (2). 系统模式:agent运行在VxWorks的外部,极像一个ROM monitor。允许调试应用程序和vxworks就像单个的线程一样执行。当应用程序和vxworks在执行的过程中遇到断点(breakpoint),应用程序和vxworks就会停止执行并且中断锁定。使用这种模式的最大好处就是可以通过中断单步执行;另一方面,熟练操纵单个的任务是很难的。使用这种方法的缺点那就是干扰太多—因为加入了大量的有意义的中断延时:当agent运行到中断锁定时。 (3). 双重模式:VxWorks映像对agent选择默认配置,一个用户模式的agent ( INCLUDE_WDB_TASK)和一个系统模式的 agent (INCLUDE_WDB_SYS)。但是同一时间只有其中一个agent运行,由workbench debugger或者主机shell控制两者之间的切换。 为了支持系统模式和双重模式的agent,目标的通信方式必须工作在轮询方式(因为外部的agent需要和主机通信,甚至此时系统已经挂起),所以通信方式的选择直接影响到调试的模式能否使用。 通过TCP/IP 网络不管是在开发阶段的 server-agent通信还是在应用程序的开发中都是最常用通信方式。这种连接提供很高的带宽,具有网络通信的所有优点。 如果在一种不使用网络连接的情况下,可以使用串口者ROM竞争(ROM-emulator)的连接方式。例如,如果有一种存储器强制的方式而不需要网络连接代码,使用者就希望在开发时从目标系统中移除网络连接代码。同样,如果希望使用系统模式调试,就需要把通信方式设置在可以轮询工作的模式。 需要注意的是目标服务器的终端连接并以一定始终和下载VxWorks映像的连接一样。比如,可以通过网线启动VxWorks,但是必须为串口线连接开发轮询模式的串口驱动程序用于系统模式的调试。 也可以用一种非默认的方式把运行期间的系统自身装入目标板。例如,可以直接把一个单独的可以自启动的VxWorks映像烧写到目标板的ROM中。具体方法参看文档VxWorks Kernel Programmer’s Guide: Kernel。 或者使用ROM竞争的方式把一个新的VxWorks映像下载到目标的ROM sockets。其他可能的方法就是从本地磁盘无限制条件的启动目标,参看文档: VxWorks Programmer’s Guide: Local File Systems。个别BSP需要提供其他的方案,如flash存储器,参看与BSP有关的文档。 如何用Wind River ICE 或者Wind River Probe 把运行期间的系统装载到目标系统,参看: Wind River ICE SX for Wind River Workbench Hardware Reference 或者 Wind River Probe for Wind River Workbench Hardware Reference。 配置交叉开发系统 如果想要从主机获得可执行的VxWorks映像,主机的网络软件必须正确配置(Configuring Host Software),目标必须连接、上电(Verifying Serial Setup and Power),并且 boot loader 已经下载到目标系统上。 配置主机软件 要使目标和workbench的主机工具通信,必须先在主机上运行Wind River registry, TCP/IP, FTP 。 设置VxWorks Ta rget 名称和IP地址 配置服务器(server )的 Domain Name Service (DNS),以便于计算机可以把系统名称翻译成IP地址。 如果开发组件中没有域名(domain name)服务器,必须指定如何把机器名表转换成IP地址在一个叫hosts 的文件中,位置在: C:\Windows\system32\drivers\etc\hosts on Windows, /etc/hosts on Linux and Solaris。 这个文件记录了系统从本地访问网络的名称和IP地址。另一方面,必须指定目标的IP地址。 文件的每一行由IP地址和在这个地址的系统的一个或者多个名称组成。 例如,如果主机系统名称为mars 分配的IP地址是90.0.0.1,VxWorks target phobos分配的IP地址是90.0.0.50. 则 hosts 文件必须包含以下内容: 90.0.0.1 mars 90.0.0.50 phobos 注意: 在网络工作环境下,不要随意为主机和目标分配IP地址,必须保证在所使用的系统中是有效的IP地址。 B.在Windows下配置FTP服务器 如果使用VxWorks的默认配置或者从网络起动VxWorks,必须现在一个存储有VxWorks系统映像的主机系统上运行FTP服务器。FTP需要设置用户名与密码,用以VxWorks目标自我确认。 Workbench自带一个FTP服务器应用工具,名叫WFTPD。在"开始"菜单,选择Programs > Wind River > VxWorks 6.x and General Purpose Technologies > FTP Server打开WFTPD。 在一个FTP客户端连接到WFTP之前,必须先完成以下步骤: .在WFTPD窗口选择Security > Users/rights。 .在User / Rights Security Dialog对话框,点击“new user”,设置用户名和密码要与VxWorks boot ROM中设置的一样。如下图所示: . 在Home Directo输入存放在主机上的VxWorks启动映像的路径,用于VxWorks b oot loader读取启动映像。选择“DONE"完成操作。 . 选择 Logging > Log Options,进行WFTP输出信息的选择。如下图所示: C.认识Wind River Registry Wind River Registry始终跟踪目标服务器的运行,在workbench的其他工具和VxWorks 目标通信时必须运行。Workbench的开发工具通过TCP/IP和目标服务器连接。目标服务器切换到和VxWorks目标选择的通信方式。如 serial, Ethernet, 或者Transparent Mode Driver (TMD)。Registry会被经常用与独立链接VxWorks的目标服务器和目标。 Workbench在启动时就会自动运行 Registry。 D.改变Wind River Registry默认的后台运行状态 改变registry默认选项可以改变Wind River Registry后台的默认运行状态。这些选项控制着registry默认的数据库位置、日志文件的位置、等级、超时等等。 可以从 window终端的命令行改变registry的默认选项或者修改Wind River Registry后台的默认配置文件,其位置在:installDir/workbench-3. x/foundation/4. /resource/wtxregd/wtxregd.conf 。 关于其他有用的register信息,可以在命令行输入:installDir/workbench-3. x/foundation/4. x /host_type /bin/wtxregd help。 或者在打开的workbench平台选择:Help > Help Contents > Wind River Documentation > References > Host Tools > Wind River Workbench Host Tools API Reference。 使用举例 把Wind River registry后台默认的的数据库放入指定的目录,在Windows: wtxregd -d $(HOME)/registry-db 检验串口连接和电源 必须按照这部分所介绍的方式去配置硬件的连接,但是必须做一些调整以便于兼容具体使用的交互开发系统。 配置硬件环境有以下任务: *静电电保护; *在目标CUP设置切换和跳转; *连接串口线,如果允许网络连接,还要连接网线; *连接电源。 要运行通用的规程适合具体的目标硬件,具体信息,参考目标BSP相关的内容,比如installDir/vxworks-6.x/target/config/ bspname /target.ref或者目标系统开发商提供的文档。 静电电保护方法 (1). 触摸用电设备的金属(有接地部分)。 (2). 将装置放在防静电垫子上。 (3). 戴ESD手环。 B.设置切换和跳转 多种CPU和Ethernet控制板都具有硬件跳转选项,尽管这种设置不如以前常见。这种跳转必须在VxWorks启动成功前正确设置。 可以根据BSP提供的目标信息或者目标系统相关的文档为目标CPU做正确的跳转。 C.串口线的连接和终端界面的设置 大多数的目标版都至少带有一个串口,Wind River Workbench提供一个终端界面用于从Workbench打开一个串口连接。就像使用其他的模拟程序工具如hyperterminal(超级终端)、minicom(小型计算机)、telnet(远程登录)。 配置此终端界面的步骤: 、停止其他任何正在使用串口的程序。 、运行Workbench。 、打开串口终端界面Window > Show View > Other, 在filter text field框中输入Terminal,再选中,点击"OK"完成。 、为了个人能更好的看界面的信息,可以双击界面的标题栏,全屏显示;然后双击标题栏可以还原到原来的大小。全屏显示的界面如下图所示: 、修改界面的设置。点击界面的 “Settings”图标在Terminal Settings对话框,进行系统的串口有关的配置: View Title:界面标题栏显示的名称,自己决定输入一个名称。 Connection Type: Serial 用于连接一个本地的目标。 Port:选择COM1。 Baud Rate:串口速率与系统的设置(如BSP)中一致。 Data Bits:默认为8位。 Stop Bits:默认为1位。 Parity:默认为 None。 Flow Control:默认为None。 Timeout (sec):默认为5。 Connection Type: SSH 用于连接一个远程目标。 Host:要连接目标的主机的IP。 User:输入系统设置的用户名。 Password:输入系统设置的密码。 Timeout (sec):所有平台默认为0。 Port:用于此链接的端口。 Connection Type: Telnet 用于连接一个远程的目标。 Host:要连接目标的主机的IP。 Port:用于连接端口有telnet 和 tgtcons 两种选择, 或者输入一个用于此链接的端口号。 Timeout (sec):所有平台默认为10。 、做好了以上配置,点击 "OK" 打开一个目标链接。 、删除一个链接在界面点击 “Disconnect”图标;打开一个已经存在的连接,在界面点击 图标“connect”。 在初始化启动参数和启动VxWorks的配置之前,把VxWorks配制成能够自动启动。有关硬件的信息连接到一个合适的串口信号。 、在终端窗口输入文字 在默认的模式下,终端界面并不支持文字的编辑。但是点击界
本文档为【风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_643799
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:68
分类:
上传时间:2013-04-20
浏览量:651