




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精艺 1 说明 由于开发经验和英语水平有限 在本文档中肯定存在偏差和谬误 在有 疑问的地方 请以风河的官方文档为准 欢迎联系 指正错误 QQ 1039309823 风河风河 Woorkbench3 0 VxWorks6 6Woorkbench3 0 VxWorks6 6 使用说明使用说明 第一章第一章 工程视图 工程视图 ProjectsProjects OverviewOverview Workbench 利用工程 Projects 就像逻辑容器和积木块 它们能够连接在一起创 建一个软件系统 工程 Projects 窗口可以直观地组织工程结构反映在内部的依赖关系 上 以及编译和链接的次序 前期配置的各种不同的工程允许在后面建立或添加工程时使用与之前的工程相同的配 置和建立方式 因而只需要极小的输入 1 1 Workspace ProjectWorkspace Project 的设置的设置 Wind River Workbench 并不知道使用者的源文件在哪一个地方 在开始的使用的时候 Wind River Workbench 在安装目录下有一个默认的工作空间 workspace 的目录 但是 这不是必需的或者说并不一定是合理的 当使用者的工作空间因为产品升级或者更改安装 目录已经完全存储在当前的安装目录树之外的时候 通常 使用者需要把 workspace 目录设置在当前的源文件树的根目录下并且在此创建 Workbench 工程 对于各种不同的源文件树 可以使用不同的工作空间 workspaces 当决定在什么地方建立工程 projects 要做以下考虑 1 1 在在 workspaceworkspace 建立工程建立工程 如果使用者想要新建一个工程在 workspace 下 通常的情况有 A 所建的工程还没有建立源文件 精艺 2 B 所建的工程已经存在源文件 但需要添加进工程 C 所建的工程不允许设置在源文件目录处 2 2 在在 workspaceworkspace 外部建立工程外部建立工程 在创建工程时 点击 Browse 将要建立的工程放置在在与 workspace 不同的目录 通常的情形有 A 所建的工程建立在已有的原文件之上 改变工程目录之后需要对源文件进行添加和 链接 B 所建的工程需要版本控制 而被放置在 workspace 之外 3 3 将工程建立在将工程建立在 workspaceworkspace 之内但是连接到外部位置之内但是连接到外部位置 在创建工程时 选择 Browse 定位到使用者的源文件目录 当不愿意因为工程文件的 加入而是原文件增大或者不想把源文件复制到 workspace 通常的情形有 A 所建的工程不允许设置在源文件目录处 B 所建的工程因为开发团队的成员有自己的工程 并且共享了部分源文件 通常为只 读的 这种选择就避免在团队成员之间通过 Workbench 互相配合工作是需要建立的象征性 的连接 注意 如果要使用一个早期版本的 Workbench 创建了一个 workspace 在使用当前版本的 Workbench 打开此 workspace 时 必须先升级此 workspace 的结构 有一个对话框提醒使用者这种升级会使得 workspace 与早期的版本不相匹配 选择 OK 升级 或者选择 cancel 去选择不同的 workspace 二 创建一个新工程 二 创建一个新工程 ProjectsProjects 尽管使用者可以将工程建立在任何位置 但是通常还是建立在自己的 workspace 中 这样就不需要在建立工程时跳转到外部目录 如果在 workspace 创建了一个工程 必须在 外部所创建的工程处设置写允许 因为 Workbench 的工程管理文件要写到此处 精艺 3 可以点击 工具按钮或者选择 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 1 1 工程创建之后的修改工程创建之后的修改 所有工程的创建导航设置都可以修改一旦工程已经存在 在 Project Explorer 窗口 选中工程文件夹 例如 ball 单击右键在下拉菜单中选中 Properties 就可以在相 应工程的 project properties 界面进行修改 如下图 精艺 4 工程的结构设置 包括使用者创建的超级工程 也可以很容易的修改 在 Project Explorer 窗口 选中工程文件夹 例如 ball 单击右键在下拉菜单中选中 Project References Add as Project Reference 在弹出的菜单里就可以设定个工程之间的结构 关系 如下图所示 精艺 5 2 2 工程与应用程序 工程与应用程序 ApplicationApplication CodeCode 工程以一种或几种类型管理应用程序文件 可以将一个与 Workbench 兼容的工程 整个加入 也可以添加新的或者已经存在的源程序文件 选择 File Import 打开 Import File 对话框进行相关操作 3 3 各工程类型结构各工程类型结构 不同类型的工程有着不同的用处 Workbench 支持多种类型的工程 在 Project Explorer 窗口可以看见不同类型的工程有着不同的符号标志 见下图 精艺 6 1 1 VxWorksVxWorks ImageImage ProjectProject VIP VIP 用用 VxWorksVxWorks ImageImage ProjectProject 工程配置 自定义或裁剪 并编译一个内核映像用以启动工程配置 自定义或裁剪 并编译一个内核映像用以启动 目标板 目标板 bootboot targettarget 通过添加 通过添加 VxWorksVxWorks ROMFSROMFS 文件系统 内核模块 文件系统 内核模块 kernelkernel modulesmodules 应用程序 应用程序 applicationsapplications 库 库 librarieslibraries 数据文件 数据文件 datadata filesfiles 可 可 以把整个系统联接进如一个映像 以把整个系统联接进如一个映像 singlesingle imageimage 一个 VxWorks Image project 既可基于一个同类型的 Image project 也可基于一个 BSP Board Support Package 2 2 VxWorksVxWorks BootBoot Loader BSPLoader BSP ProjectProject BSPBSP VxWorksVxWorks BootBoot Loader BSPLoader BSP 工程用于创建一个工程用于创建一个 VxWorksVxWorks bootboot loaderloader 也称为也称为 VxWorksVxWorks bootboot ROMROM 在启动时下载一个带在启动时下载一个带 vxworksvxworks 内核的目标映像 内核的目标映像 也可以把一个已经存在的同类型 的工程的源文件复制到使用者创建的工程中 然后在不改变 VxWorks 所在目录的情况下自 定义工程 精艺 7 在开发环境中 boot loader 被用来从主机下载一个 VxWorks 映像 在最终的产品中在最终的产品中 bootboot loaderloader 和操作系统映像存储在同一个磁盘上 和操作系统映像存储在同一个磁盘上 boot loader 和 VxWorks 并不需要在 ROM 中单独存储 3 3 VxWorksVxWorks DownloadableDownloadable KernelKernel ModuleModule Project DKM Project DKM 利用 VxWorks Downloadable Kernel Module 工程管理和建立一个存在于内核空间 kernel space 模块 modules 可以单独建立模块运行和调试 可以自由的在目标 target 上运行 VxWorks 下载 卸载 重载 一旦模块完成就可以静态的链接到内核 kernel 或者模块也可以使用一个存在的文件系统 DKM 工程示意图 不包含文件系统 内核模式的开发是 VxWorks 传统的开发方法 所有的任务 tasks 都在启动 spawn 之后运行在一个没有保护的环境 Downloadable Kernel Module 在目标已经启动之后 可以启动应用程序 4 4 VxWorksVxWorks Real timeReal time ProcessProcess ProjectProject RTP RTP VxWorks Real time Process 可以管理和建立可执行文件在内核空间之外 可以单独 运行和调试可执行文件 对于 Real time 任务就像一个完全独立的程序下载到一个单独的程序运行地址空间 精艺 8 process address space 一个 Real time 的程序的二进制文件可以像 ROMFS 文件系统一 样存在于目标的 target side 文件系统 Real time 程序执行时对于内核就像单独的实体 如下图所示 关于如何连接到共享库 Shared Libraries 参看平台所带的帮助信息 5 5 VxWorksVxWorks SharedShared LibraryLibrary ProjectProject LibsLibs VxWorks Shared Library 的库文件会动态连接到运行的 VxWorks 实时程序 要连接到 RTP 工程 必须将共享库 shared library 储存在目标侧的文件系统 也可以通过 VxWorks Shared Library 工程建立一个子工程在编译时静态链进入其他的工程 更多的信息在平台帮助信息中查看 其路径为 Help Cheat Sheets Wind River Workbench Setup a VxWorks RTP with a shared library 6 6 VxWorksVxWorks ROMFSROMFS FileFile SystemSystem ProjectProject ROMFS ROMFS VxWorks ROMFS File System 工程可以作为任何一个需要目标侧文件系统的工程的子 工程 这种工程类型设计用来建立应用程序或者其他任何类型的文件 带一个 VxWorks 系统 映像的 ROMFS 文件系统 除了是 vxworks 的引导映像并不需要任何的存储介质 所以并不 需要其他的文件系统存储文件 系统也具有完全的功能而不需要求助 local 文件系统 NFS 精艺 9 驱动 RSH 或者 FTP 协议等等 需要注意的是 ROMFS 与 ROM 媒介没有任何关系 名字代表的意思是 Read Only Memory File System ROMFS 工程示意图 7 7 User DefinedUser Defined ProjectsProjects UDP UDP User Defined projects 为用户设置和保存自己的编译系统 文件系统布局等等 用 户接口提供以下支持 A 可以用编译命令 build command 开展用户的编译功能 这样就允许在 Workbench GUI 界面进行编译 B 在 Project Explorer 窗口中建立的工程 它的编译规则可以反映在 makefiles 文件 中 这样就允许在 Project Explorer 窗口选择任何用户自己的编译规则 C 可以在 Build Console 窗口看到编译工程时的输出信息 8 8 NativeNative ApplicationApplication ProjectProject NAP NAP Native Application 工程用于主机环境下的 C C 应用程序的开发 Wind River Workbench 为当地 GNU 2 9x GNU 3 x 和 Microsoft 开发功能 ssembler compiler linker archiver 提供编译和源文件分析支持 但没有调试器 所以得选择合适的当地工 精艺 10 具用于调试 debugging 4 4 工程和工程结构工程和工程结构 所有独立的工程内部都包含和其他任一工程无关的模块 在系统开始是都是单个的和 没有经过组织的 所以使用者可以在 workbench 下通过工程之间的依赖关系和编译命令整 体组织各个工程 通过 workbench 可以很方便的组织各工程 但是有的工程不能作为某个工程的子工程 或者是同种类型的工程 这样的关联是不允许的 1 1 给一个工程加入子工程给一个工程加入子工程 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 timeReal time ProcessProcess 工程不能作为工程不能作为 VxWorksVxWorks ImageImage 工程的子工工程的子工 程 但是可以加入到程 但是可以加入到 ROMFSROMFS 工程 通常 一个工程 通常 一个 user defineduser defined 工程在选用一个合适的目标工程在选用一个合适的目标 操作系统的情况下可以作为任一工程的子工程或是超级工程 操作系统的情况下可以作为任一工程的子工程或是超级工程 2 2 移除子工程移除子工程 A 在 Project Explorer 窗口 右键点击工程 在下拉菜单中选择 Project References Remove Project Reference 或者在 Project 菜单选择 Remove Project 精艺 11 Reference 之后进行移除 B 在 Project Explorer 窗口 右键点击工程 在下拉菜单中选择 Properties 再选 Project References 或者选择 Project Properties 然后选择 Project References 之后进行移除 3 3 工程结构和主机文件系统结构工程结构和主机文件系统结构 Workbench 工程在树状目录的顶部 其他子目录会自动包含在此树妆目录之下 不要 试图通过子目录建立工程建的连接关系 这样是不允许的 因为会造成工程的重叠 工程的目录结构和逻辑结构示意图 4 4 工程结构和编译系统工程结构和编译系统 对于上文工程的 目录结构和逻辑结构示意图 所示工程的结构与编译顺序的示意图 精艺 12 编译先从顶部开始 再逐层深入到内部的枝叶最后回到顶部 完成编译 上图的编译 顺序如下图所示 5 5 工程结构和共享子工程工程结构和共享子工程 一个实际的工程可以关联任意数量的逻辑工程 产品的升级或者编译共享工程亦或组件的变化 都会影响到关联共享工程的工程结构 精艺 13 6 6 自定义编译共享工程自定义编译共享工程 一个单独的文件系统文件夹可以像子工程一样添加到多个逻辑工程结构 这种情况下 可以根据需要为每个工程指定不同的依赖编译规格 同一个文件夹可以在同一个工程中指定不同的编译规格 如果为工程整体制定了一种编译规格 那么子文件夹也会运行这种编译规格 为其指 定的特殊的编译规则自然就被排除在外 5 5 工程的特殊执行环境工程的特殊执行环境 如果需要为每个工程保存不同的编译和外部工具执行的环境 Workbench 允许使用者创 建一个 project properties 文件 为每个工程定义工具 工具版本 环境变量等内容 可以把 project properties 在团队共享保持一致性 也可以和工程中的其他文件一起 做源文件控制 A 在 Project Explorer 窗口 右键单击工程 选择 New File B 在 new file 对话框选择创建 project properties 的步骤 new file 对话框如下图所示 精艺 14 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 窗口底部 并且在编辑窗 口打开 可以添加和编辑文件内容 精艺 15 d 新 project properties 和其他的工程描述文件使用相同的语法 都是 wrenv 就像 install properties 和 package properties 更多的信息参看 VxWorksVxWorks CommandCommand LineLine ToolsTools User sUser s Guide Guide CreatingCreating a a DevelopmentDevelopment ShellShell withwith wrenvwrenv e 如果已经做了一个扩展 在 Project Explorer 窗口可以通过工程名查找到工程模 板 f 打开 installDir install properties 文件 查看模版中的列表信息 必须包含在 扩展中的类型 子类和其他信息 g Workbench 在使用 project properties 文件在工程中编译一个目标时会有所不同 在 wrenv 环境下 可以在命令行中加入 i 从而选择包含 project properties 和 install properties 格式如下 i installDir install properties i installDir workspace myproject project properties 在这种情况下 make 环境会更改从而包含环境和文件中的特殊工具 1 1 在在 shellshell 中使用中使用 project propertiesproject properties 文件文件 选择 projects open workbench development shell 同样可以对 project properties 文件进行特殊扩展 在打开的 shell 中 选择一个工程模板 从一个 已经存在的 properties 文件中往模版中加入相应的内容 如果在打开 shell 时 没有选中 精艺 16 一个工程 这是会出现一个对话框 然后选择一个合适的环境 2 2 使用使用 project propertiesproject properties 文件的局限文件的局限 如果使用 properties 文件对一个工程进行扩展 意味着可以加入 tools 定义 variables 指定 versions 但是不能去除已经包含的内容 比如重写 variables 不做在 文件中设置的路径 PATH 扩展 不能够把 project properties 文件用在 Native Application 工程中 因为这个工 程没有其他的文件包相关联 不能做扩展 第二章第二章 在在 workbench3 0workbench3 0 平台下建立一个平台下建立一个 例子 工程 例子 工程 在本章中 所要做的工作是 A A CreateCreate a a projectproject B B ImportImport sourcesource filesfiles C C BuildBuild a a projectproject D D ConnectConnect toto a a simulatorsimulator E E SetSet breakpointsbreakpoints F F StepStep throughthrough codecode G G SetSet a a watchwatch onon a a variablevariable H H RunRun codecode I I EditEdit sourcesource filesfiles J J TrackTrack buildbuild errorserrors K K DebugDebug a a projectproject L L RebuildRebuild andand rerunrerun youryour codecode 精艺 17 一 启动风河一 启动风河 workbenchworkbench 1 通过桌面图标启动 2 通过开始菜单启动 选择开始 所有程序 Wind River Workbench 3 x Wind River Workbench 3 0 2 2 创建一个例子工程并运行编制的程序创建一个例子工程并运行编制的程序 如果在 Workbench 使用指导说明之前对透视图和视图做了改动和调整 在透视图的右 上角可以进行不同界面的切换 如下图所示 选择相应的选项就会跳转到相应界面 如果需要把透视图和它之下的视图回复到默认配置 只需要选择 WindowWindow ResetReset PerspectivePerspective 1 1 创建一个例子工程创建一个例子工程 a 选择 File New Wind River Workbench Project 会出现 New Wind River Workbench Project 对话框 b 从 Target operating system 下拉选择菜单选择 Wind River VxWorks 6 x 点 击 Next 精艺 18 c 从 Build type 下拉选择菜单选择 Downloadable Kernel Module 点击 Click Next d 在 Project Name 区域 输入 ball 在本指导说明中都保持 Create project in workspace 选项 点击 Finish 一个名称为 ball 的工程出现在 workbench 的工程 窗口 2 2 把资源文件添加到工程把资源文件添加到工程 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 在工程窗口的工程目录下 工程文件为黑色 编译的目标是绿色 灰色的是只读文 件 如图 3 3 编译工程编译工程 精艺 19 A 右击工程文件夹 出现下拉菜单 选择 Build Project B 第一次编译一个工程时 会弹出一个询问 workbench 中生成编译目标的存储目录 通常不需要变化 所以选择 Continue C 这时 Build Console 窗口会打印编译信息 当编译完成后 ball out 文件会出现 在 ball SIMNTdiab ball Debug 目录之下 如图 说明 工程中的目录名称 SIMNTdiab 反映当前起作用的编译规格 它包含 vxworks 的模拟 器和编辑器 目录名称 Debug 反映的是实际上的默认的调试模式标志 如果需要改变编译规格 右击工程文件夹 选择 Build Options Set Active Build Spec 选择合适的编译规格 如下图 精艺 20 4 4 建立一个定义到建立一个定义到 vxworksvxworks simulatorsimulator 模拟器 的连接 模拟器 的连接 可以创建和管理一个到目标 target 的连接 包含 vxworks simulator 模拟器 使用 Remote Systems 视图 view 如果成功安装 workbench 的相关支持模块 当启动 workbench 时 在 Remote Systems 窗口的 local 会有一个 vxsim0 默认的与 vxworks simulator 模拟器 的 连接 如果想建立一个新的目标链接 其步骤如下 A 在 remote system 窗口中点击 Define aconnection 或者在 remote system 窗口单击右键 出现 New Connection 选择窗口 如图 精艺 21 B 选择 VxWorks 6 x Wind River VxWorks 6 x Simulator Connection 然后 点击 Next C 点击 Finish 完成 这是所建立的连接相关的设置都是默认的状态 因为 Immediately connect to target if possible 默认为选中状态 workbench 会 尝试连接到模拟器 如图所示 精艺 22 5 5 下载程序和连接到调试器 下载程序和连接到调试器 DebuggerDebugger A 在 Project Explorer 窗口 右击编译的目标 ball SIMNTdiab ball Debug ball out 然后选择 Debug Kernel Task 这时 Debug 加载配置对话框出现 如下图所示 精艺 23 名称为 ball out 的文件已经被加载 如下图所示 B 在 main 窗口的填写 Entry Point 选项 或者点击 Browse 并且选择 Downloads ball out main 然后点击 Debug 精艺 24 C 这时 workbench 会进行以下动作 自动编译 ball 工程 跳转到 Device Debug 透 视图 在模拟器上执行 ball 工程的程序 连接到调试器 debugger 执行程序到 main 然后停止 breaks 如下图所示 精艺 25 6 6 设置设置 DeviceDevice DebugDebug PerspectivePerspective 透视图 透视图 A 在 Memory view 视图 使用存储地址 memory address 观察 ball 工程的 grid 变量在运行过程中的动作 所以选择 Window Show View Other Debug Memory 完成后界面如下图 B 在 Expressions 视图上右击 Expression 标题栏并且选择 Add Watch Expression 然后输入 grid 再点击 OK grid 变量的存储地址和它的值会 精艺 26 出现在视图中 如下图所示 C 右击 Memory 视图并选择 Add Memory Monitor D 输入 grid 变量的存储地址 点击 OK 出现以下界面 E 在 Memory 视图的 Renderings 侧空白处 单击右键 然后选择 Cell Size 8 bytes 如下图所示 精艺 27 F 除了把 Memory 窗口调大之外 还需要调整 Monitors 和 Renderings 窗口的大小 以便能够更加清楚的看到相应存储的值 7 7 设置和运行到断点 设置和运行到断点 BreakpointBreakpoint A 在 main c 的三个初始化 for 循环之后的 while 中加入断点 在相应行的左侧边栏双 击左键 出现一个蓝色的小圆点 还有一个 Breakpoints 视图显示断点的名称和行号 B 断点设置以后在 Debug 窗口点击 Resume 按钮 workbench 会在运行之后停在断点处 C 在 Memory 窗口 程序运行后 会有六个符号出现 修改断点 修改断点 BreakpointBreakpoint 下一步改变断点的动作以便于在每个间歇处 break 演示会回复而不会停止执行 A 右键单击断点 在弹出的下拉菜单中选中 Breakpoint Properties 如下图 精艺 28 出现 Line Breakpoint Properties 对话框 B 选择 Continue on Break 改变 Continue Delay 为 500 然后点击 OK 如下图所示 C 点击 Resume 按钮 然后在 Memory 窗口观察小球的动态 D 再一次打开 Breakpoint Properties 对话框 清除 Continue on Break 然后点击 OK 可以看见小球在点击 OK 之前还会弹跳一两次 精艺 29 三 编辑和调试源文件三 编辑和调试源文件 本节将介绍在开发中最基本的操作 编辑代码 编译工程 注释编译错误 跟踪和锁 定错误 使用本节的说明之前 先要把 workbench 返回到 Application Development 透视图 perspective 1 1 在源程序中设置一个错误 在源程序中设置一个错误 ErrorError A 在 Project Explorer 窗口 双击 main c 打开编辑器 B 在 Outline 视图中选中 main 编辑器就会跳转显示这个函数 如下图 C 删除 gridInit 后面的分号 D 保存并关闭文件 2 2 跟踪一个编译错误 跟踪一个编译错误 BuildBuild FailureFailure A 在 Project Explorer 窗口选择编译 ball 工程 B 当编译到 main c 中设置的错误时 编译就会失败 这时 workbench 用一个红色 圆点里面一个白色的查 x 在以下地方显示错误 a Build Console 窗口会在前端显示 怀疑出错的位置以及出错的信息 b 在 Project Explorer 窗口中提示 ball 工程编译出错和 main c 就是包 精艺 30 含错误的文件 c 在 Problems 视图中会对错误进行描述 包括文件名 文件夹 行号 错误信息如下图所示 d 点击这些位置的红色按钮 就会在编辑器中打开 main c 文件 在红色的标记 附近就是出错的所在 e 在 gridInit 函数之后加上分号 f 保存并关闭文件 3 3 更改错误后 重新编译工程 更改错误后 重新编译工程 右键点击 ball 工程 选择 Rebuild Project 4 4 使用编辑器的高级特性使用编辑器的高级特性 1 1 使用代码完整 使用代码完整 CodeCode CompletionCompletion 在文件中加入符号 在文件中加入符号 SymbolsSymbols 在编辑器中任意位置单击右键 在下拉菜单中选择 Source Content Assist 如下 图 精艺 31 这时在编辑器中 鼠标所指的位置就会出现如下图所示的信息 2 2 使用参数隐藏信息使用参数隐藏信息 在编辑器中想要使用参数隐藏信息 在编辑器的代码中的某一处单击右键 在下拉菜 单中选择 Source Content Assist 或者使用快捷键 CTRL SHIFT SPACE 效果如下图所 示 精艺 32 3 3 使用括弧配对使语法清晰使用括弧配对使语法清晰 使用括弧配对特性时 当鼠标放在括号的一边 与之配对的另一边就会被一个矩形框 起来 还可以使用快捷键 CTRL SHIFT P 跳转到矩形框的位置 可以进行括弧配对操作的 符号有 C C only 4 4 在源文件中查找标志符号 在源文件中查找标志符号 SymbolsSymbols 在 Outline 视图中可非常容易的查找符号标志 点击符号就可以跳到对应的位置 但 是在函数内部引用的符号和函数名在 Outline 视图中是不显示的 如下图所示 精艺 33 符号高级查找 打开一个高级的符号查找对话框 其步骤如下 A Navigate Open Element 如下图 B 在弹出的对话框中 输入要找的符号并选择其类型 如图所示 精艺 34 C 在 matching elements 框中 双击相应的符号就会跳转到对应位置 或者点击 cancel 退出 5 5 在文件中跟踪特定名目 在文件中跟踪特定名目 ItemsItems 添加一个书签和定位一个书签方法是一样的 都可以在短时间内 找到感兴趣的名目 Items 打开书签 Bookmarks 窗口的方法 选择 Window Show View Bookmarks 可以在文件的内部的特殊行设置一个书签 也可以为文件自身设定一个书签 1 在文件内部的某一行设置一个书签 Bookmark A 找到文件内部想要设置的行 在行号的左边单击右键 在下拉菜单中选择 Add Bookmark 然后点击 OK 如下图 精艺 35 B 书签设置好后 可以在 Bookmarks 窗口点击 description 下方的书签名称进行 修改 如下图所示 6 6 五访问和查找五访问和查找 workbenchworkbench 上下文关联的帮助信息上下文关联的帮助信息 可以使用快捷键 就可以访问上下文关联的 workbench 下的用户界面的更多信息 Windows 使用 F1 Linux 和 Solaris 使用 CTRL F1 就可以打开一个帮助界面包含对 当前界面的一个主要描述并且链接在其他文档中有同样主题的更多的相关信息 也可以通 过在打开的 workbench 系统的菜单栏选择 Help HelpHelp Help ContentsContents WindWind RiverRiver DocumentationDocumentation 查找相关的帮助信息 更多关于 EclipseEclipse 的信息 选择 HelpHelp HelpHelp ContentsContents WindWind RiverPartnerRiverPartner 精艺 36 DocumentationDocumentation EclipseEclipse PlatformPlatform DocumentationDocumentation 或者访问 EclipseEclipse 的网站 www eclipse orgwww eclipse org 1 在文档中查找帮助信息 1 按照 9 中的步骤打开 workbench 自带的帮助窗口 2 在 SearchSearch 栏输入关键词或者词组 点击 GOGO 查找 3 在帮助窗口就是搜索的同一个主题的帮助信息 点击其中一个进入包含此主题 的文档 在搜索的主题之前加上适当的限制词语可以简化搜索的结果 第三章第三章 建立开发环境建立开发环境 本章介绍如何配置主机和目标 以及如何下载一个 Vxworks 映像和启动目标 最常用的建立开发环境的方法就是用串口和网线 串口的连接用于 boot loader 的通 信 网线的连接是为了传输文件 包括 vxworks 的系统映像 有一个默认的 Vxworks 的系 统映像类型用于这种方式 一 主机和目标的配置任务概述一 主机和目标的配置任务概述 1 1 在主机上所要做的工作在主机上所要做的工作 A 安装 Wind River Workbench B 配置主机的 TCP IP C 配置一个传输 VxWorks 映像的工具 比如 FTP 2 2 在目标上所要做的工作在目标上所要做的工作 对于一个新的目标 以下这些工作都是必须要做的 A 在目标上装入 VxWorks boot loader 细节参看文档 Wind River Workbench for On Chip Debugging User Tutorials B 在主机和目标之间建立一个或几个物理连接 C 为新目标定义 Workbench 目标服务器 精艺 37 3 3 一般操作一般操作 在开发阶段如果需要重新初始化目标 就需要重复以下工作 A 在目标上启动 VxWorks Vxworks 包括一个目标代理和 workbench 与 vxworkss 之间的 其他工具的接口 B 在主机上连接和和重启一个 Workbench 目标代理服务器 4 4 目标代理 目标代理 TargetTarget AgentsAgents 和目标服务器 和目标服务器 TargetTarget ServersServers 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 主机 目标之间的通信如下图所示 精艺 38 5 5 目标代理 目标代理 TargetTarget AgentAgent 模式 模式 Workbench 下的所有目标服务器都是通过目标代理与目标连接的 为了更好的理解各种 终端的特征 必须要了解目标代理能够使用的模式 分别是 用户模式 系统模式 双重 模式 1 1 用户模式用户模式 代理 Agent 就像 VxWorks 的任务一样运行 调试的执行是基于单 个任务的 可以使任务独立出来或者使任务不对目标系统的其他部分产生影响 2 2 系统模式 系统模式 agent 运行在 VxWorks 的外部 极像一个 ROM monitor 允许调试应 用程序和 vxworks 就像单个的线程一样执行 当应用程序和 vxworks 在执行的过程中遇到 精艺 39 断点 breakpoint 应用程序和 vxworks 就会停止执行并且中断锁定 使用这种模式的最 大好处就是可以通过中断单步执行 另一方面 熟练操纵单个的任务是很难的 使用这种 方法的缺点那就是干扰太多 因为加入了大量的有意义的中断延时 当 agent 运行到中断锁 定时 3 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红菜苔管理办法视频
- 中国石化污染管理办法
- 上海护士岗位管理办法
- 仓库下属人员管理办法
- 上市企业税务管理办法
- 业务运营机制管理办法
- 葡萄不开花管理办法
- 中医学院物业管理办法
- 专业监理公司管理办法
- 规范财务帐目管理办法
- 中小学学习《民法典》主题班会图文ppt
- 20客户画像与标签管理课件
- 领导干部个人有关事项报告表(2019版)(范本模板)
- 《公务员激励机制研究(论文)8000字》
- 相关方需求和期望分析表
- (中职)PLC实训课件完整版课件全套ppt教学教程(最新)
- QC成果施工现场移动式网络布设及监控一体化装置的研制
- 《发育生物学》课件第八章 胚轴的特化与体轴的建立
- 新沪教牛津版七年级上册英语全册教案
- 《传统与革新──从巴洛克艺术到浪漫主义》教案
- 《石油库设计规范》修订2022-07
评论
0/150
提交评论