《风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0》由会员分享,可在线阅读,更多相关《风河Woorkbench3.0_VxWorks6.6应用程序开发使用说明V1.0(68页珍藏版)》请在金锄头文库上搜索。
1、 精艺 0说明:由于开发经验和英语水平有限,在本文档中肯定存在偏差和谬误。在有疑问的地方,请以风河的官方文档为准。欢迎联系,指正错误。QQ:1039309823。 风河 Woorkbench3.0/VxWorks6.6 使用说明第一章 工程视图(Projects Overview)Workbench 利用工程( Projects)就像逻辑容器和积木块它们能够连接在一起创建一个软件系统。工程( Projects)窗口可以直观地组织工程结构反映在内部的依赖关系上,以及编译和链接的次序。前期配置的各种不同的工程允许在后面建立或添加工程时使用与之前的工程相同的配置和建立方式,因而只需要极小的输入。1、
2、 Workspace/Project 的设置 Wind River Workbench 并不知道使用者的源文件在哪一个地方,在开始的使用的时候Wind River Workbench 在安装目录下有一个默认的工作空间(workspace )的目录。但是这不是必需的或者说并不一定是合理的,当使用者的工作空间因为产品升级或者更改安装目录已经完全存储在当前的安装目录树之外的时候!通常,使用者需要把 workspace 目录设置在当前的源文件树的根目录下并且在此创建Workbench 工程。对于各种不同的源文件树,可以使用不同的工作空间(workspaces) 。 当决定在什么地方建立工程(proje
3、cts)要做以下考虑: 1.在 workspace 建立工程如果使用者想要新建一个工程在 workspace 下,通常的情况有A.所建的工程还没有建立源文件。 精艺 1B.所建的工程已经存在源文件,但需要添加进工程。 C.所建的工程不允许设置在源文件目录处。2.在 workspace 外部建立工程在创建工程时,点击“Browse” ,将要建立的工程放置在在与 workspace 不同的目录。通常的情形有: A.所建的工程建立在已有的原文件之上,改变工程目录之后需要对源文件进行添加和链接。B.所建的工程需要版本控制,而被放置在 workspace 之外。 3.将工程建立在 workspace 之
4、内但是连接到外部位置在创建工程时,选择 Browse,定位到使用者的源文件目录,当不愿意因为工程文件的加入而是原文件增大或者不想把源文件复制到 workspace。通常的情形有:A.所建的工程不允许设置在源文件目录处。B.所建的工程因为开发团队的成员有自己的工程,并且共享了部分源文件(通常为只读的) 。这种选择就避免在团队成员之间通过 Workbench 互相配合工作是需要建立的象征性的连接。 注意:如果要使用一个早期版本的 Workbench 创建了一个 workspace,在使用当前版本的Workbench 打开此 workspace 时,必须先升级此 workspace 的结构!有一个对
5、话框提醒使用者这种升级会使得 workspace 与早期的版本不相匹配,选择“OK升级,或者选择“cancel”去选择不同的 workspace。 二、创建一个新工程( Projects) 尽管使用者可以将工程建立在任何位置,但是通常还是建立在自己的 workspace 中。这样就不需要在建立工程时跳转到外部目录。如果在 workspace 创建了一个工程,必须在外部所创建的工程处设置写允许,因为 Workbench 的工程管理文件要写到此处。 精艺 2可以点击 工具按钮或者选择 FileNewWind River Workbench Project 创建一个之前配置好的工程,或者是创建一个特
6、殊类型的工程;也可以选择 File New Example 打开一个例子工程。无论选择种菜单命令,都会由导航菜单一步一步选择,直到创建需要的特定类型的工程,接下来将介绍以下各工程的创建:A.Creating VxWorks Image ProjectsB. Creating Boot Loader/BSP ProjectsC. Creating VxWorks ROMFS File System ProjectsD. Creating VxWorks Real-time Process ProjectsE. Creating VxWorks Shared Library ProjectsF.
7、Creating VxWorks Download able Kernel Module ProjectsG. Creating User-Defined ProjectsH. Creating Native Application Project1.工程创建之后的修改所有工程的创建导航设置都可以修改一旦工程已经存在。在 Project Explorer 窗口,选中工程文件夹,例如“ball” ,单击右键在下拉菜单中选中“Properties” ,就可以在相应工程的 project properties界面进行修改,如下图: 精艺 3工程的结构设置(包括使用者创建的超级工程) ,也可以很容易的
8、修改,在 Project Explorer 窗口,选中工程文件夹,例如“ball” ,单击右键在下拉菜单中选中 Project References Add as Project Reference,在弹出的菜单里就可以设定个工程之间的结构关系,如下图所示: 精艺 42.工程与应用程序(Application Code)工程以一种或几种类型管理应用程序文件。可以将一个与 Workbench 兼容的工程整个加入,也可以添加新的或者已经存在的源程序文件。选择 File Import 打开“Import File ”对话框进行相关操作。3、 各工程类型结构 不同类型的工程有着不同的用处,Workbe
9、nch 支持多种类型的工程,在 Project Explorer 窗口可以看见不同类型的工程有着不同的符号标志,见下图: 精艺 51.VxWorks Image Project(VIP)用 VxWorks Image Project 工程配置(自定义或裁剪)并编译一个内核映像用以启动目标板( boot target) 。通过添加 VxWorks ROMFS 文件系统、内核模块(kernel modules) 、应用程序(applications) 、 库(libraries ) 、 数据文件(data files) ,可以把整个系统联接进如一个映像(single image) 。 一个 VxW
10、orks Image project 既可基于一个同类型的 Image project 也可基于一个BSP( Board Support Package)。2.VxWorks Boot Loader/BSP Project(BSP)VxWorks Boot Loader/BSP 工程用于创建一个 VxWorks boot loader 也称为 VxWorks boot ROM 在启动时下载一个带 vxworks 内核的目标映像。也可以把一个已经存在的同类型的工程的源文件复制到使用者创建的工程中,然后在不改变 VxWorks 所在目录的情况下自 精艺 6定义工程。在开发环境中 boot load
11、er 被用来从主机下载一个 VxWorks 映像;在最终的产品中boot loader 和操作系统映像存储在同一个磁盘上。 boot loader 和 VxWorks 并不需要在 ROM 中单独存储。3.VxWorks Downloadable Kernel Module Project(DKM)利用 VxWorks Downloadable Kernel Module 工程管理和建立一个存在于内核空间(kernel space)模块(modules) 。可以单独建立模块运行和调试,可以自由的在目标(target)上运行 VxWorks,下载,卸载,重载。一旦模块完成就可以静态的链接到内核(k
12、ernel) ,或者模块也可以使用一个存在的文件系统。DKM 工程示意图(不包含文件系统)内核模式的开发是 VxWorks 传统的开发方法,所有的任务(tasks)都在启动(spawn)之后运行在一个没有保护的环境。Downloadable Kernel Module 在目标已经启动之后,可以启动应用程序。 4.VxWorks Real-time Process Project(RTP) VxWorks Real-time Process 可以管理和建立可执行文件在内核空间之外。可以单独 精艺 7运行和调试可执行文件。 对于 Real-time 任务就像一个完全独立的程序下载到一个单独的程序运
13、行地址空间( process address space) 。一个 Real-time 的程序的二进制文件可以像 ROMFS 文件系统一样存在于目标的(target-side)文件系统。 Real-time 程序执行时对于内核就像单独的实体,如下图所示:关于如何连接到共享库(Shared Libraries) ,参看平台所带的帮助信息。 5.VxWorks Shared Library Project(Libs) VxWorks Shared Library 的库文件会动态连接到运行的 VxWorks 实时程序,要连接到RTP 工程,必须将共享库( shared library)储存在目标侧的
14、文件系统。也可以通过VxWorks Shared Library 工程建立一个子工程在编译时静态链进入其他的工程。更多的信息在平台帮助信息中查看,其路径为: Help Cheat Sheets Wind River Workbench Setup a VxWorks RTP with a shared library 。 6.VxWorks ROMFS File System Project(ROMFS) VxWorks ROMFS File System 工程可以作为任何一个需要目标侧文件系统的工程的子工程。 精艺 8这种工程类型设计用来建立应用程序或者其他任何类型的文件,带一个 VxWor
15、ks 系统映像的 ROMFS 文件系统,除了是 vxworks 的引导映像并不需要任何的存储介质。所以并不需要其他的文件系统存储文件,系统也具有完全的功能而不需要求助 local 文件系统、NFS 驱动、RSH 、或者 FTP 协议等等。需要注意的是 ROMFS 与 ROM 媒介没有任何关系,名字代表的意思是 Read Only Memory File System。 ROMFS 工程示意图:7.User-Defined Projects(UDP)User-Defined projects 为用户设置和保存自己的编译系统、文件系统布局等等。用户接口提供以下支持:A.可以用编译命令(build command )开展用户的编译功能,这样就允许在Workbench GUI 界面进行编译。 B.在 Project Explorer 窗口中建立的工程,它的编译规则可以反映在 makefiles 文件中。这样就允许在 Pr