贝博恩创新科技网

VxWorks Workbench教程如何快速上手?

VxWorks Workbench 综合教程

第一部分:VxWorks 与 Workbench 简介

什么是 VxWorks?

VxWorks Workbench教程如何快速上手?-图1
(图片来源网络,侵删)

VxWorks 是由风河公司开发的一款高性能、高可靠性的实时操作系统,它被广泛应用于对实时性、稳定性和安全性要求极高的领域,

  • 航空航天与国防:卫星、火箭、战斗机、无人机。
  • 工业自动化:机器人、数控机床、过程控制。
  • 医疗设备:核磁共振、病人监护仪、影像设备。
  • 网络与通信:路由器、交换机、基站、4G/5G 核心网。
  • 汽车电子:高级驾驶辅助系统、车载信息娱乐系统、车身控制模块。

什么是 Tornado / Workbench?

  • Tornado:是 VxWorks 早期(VxWorks 5.x 版本)的集成开发环境,它基于主机-目标机的开发模式,功能强大但界面相对老旧。
  • Workbench:是 VxWorks 6.x 及后续版本(包括最新的 VxWorks 7)的官方集成开发环境,它基于 Eclipse 平台构建,提供了现代化的图形用户界面、强大的代码编辑、调试和项目管理功能,我们今天主要讨论的就是 VxWorks Workbench

Workbench 的核心架构:主机-目标机模式

Workbench 采用经典的“主机-目标机”开发模型:

VxWorks Workbench教程如何快速上手?-图2
(图片来源网络,侵删)
  • Host (主机):你的开发电脑,通常是 Windows 或 Linux,在上面安装 Workbench 软件,用于编写代码、编译项目、进行调试。
  • Target (目标机):正在运行的 VxWorks 操作系统的硬件设备,它可以是真实的硬件板卡,也可以是模拟器(如 simpc)。
  • 连接方式:主机和目标机通过网络(如 TCP/IP)或串口连接,使用调试代理(如 Target Server)进行通信。

第二部分:环境搭建与安装

系统要求

在安装前,请确保你的开发机满足 Wind River 的官方要求,主要包括:

  • 操作系统:Windows 10/11 (64-bit) 或 Red Hat Enterprise Linux / SUSE Linux Enterprise Server。
  • 硬件:充足的内存(建议 16GB 或以上)、多核 CPU、足够的硬盘空间(安装后约需 20GB+)。
  • 网络:稳定的网络连接,用于激活许可证和下载更新。

安装步骤

  1. 获取安装包:从 Wind River 官网下载 VxWorks Workbench 的安装镜像文件(通常是 .iso 文件)。
  2. 挂载镜像:在 Windows 上右键点击 .iso 文件,选择“装载”,会生成一个虚拟光驱。
  3. 运行安装程序:进入虚拟光驱,找到并运行 setup.exe (Windows) 或 setup (Linux)。
  4. 遵循安装向导
    • 选择安装语言和接受许可协议。
    • 选择安装组件,对于初学者,建议选择 Complete (完整) 安装,它会包含 Workbench、VxWorks 源码、BSP (板级支持包) 示例、文档等所有内容。
    • 选择安装路径,建议使用默认路径,以避免后续配置时出现路径问题。
    • 等待安装完成。

许可证配置

VxWorks Workbench教程如何快速上手?-图3
(图片来源网络,侵删)

Workbench 需要许可证才能运行,通常有两种方式:

  • 网络许可证:这是最常用的方式,你的公司会提供一个许可证服务器地址,安装后,Workbench 会自动尝试连接到该服务器。
  • 本地许可证:将许可证文件(.lic)复制到 Workbench 安装目录下的 license 文件夹中。

安装完成后,首次启动 Workbench 时,它会验证许可证,如果成功,你就可以开始使用了。


第三部分:创建并运行第一个项目 (Hello World)

我们将创建一个最简单的项目,在目标机上打印 "Hello, VxWorks World!"。

创建工作区

  • 启动 Workbench。
  • 选择 "File" -> "Switch Workspace" -> "Other...",为你创建一个新的工作区选择一个空目录,工作区是管理多个项目和配置的顶层容器。

创建新项目

  1. 在菜单栏选择 "File" -> "New" -> "Project..."。
  2. 在弹出的对话框中,展开 "VxWorks",选择 "VxWorks Image Project",然后点击 "Next"。
  3. 项目名称:输入 HelloVxWorks
  4. 目标连接
    • Connection:选择 "TCP"。
    • Target Server:选择 "windsh" (这是一个命令行调试服务器,非常适合初学者)。
    • Target IP:如果你的目标机是模拟器,IP 通常是 0.0.1,如果是真实板卡,输入其 IP 地址。
    • Target Name:给目标机起个名字,如 simpc_target
  5. BSP (Board Support Package) 选择
    • 这是关键一步,BSP 是 VxWorks 与特定硬件交互的软件层。
    • 在 "BSP" 下拉菜单中,选择一个与你的目标硬件匹配的 BSP,如果是使用模拟器,选择 simpc (Simple PC Simulator)。
  6. 点击 "Finish",Workbench 会自动生成一个项目结构。

编写代码

  1. 在 "Project Explorer" 视图中,展开 HelloVxWorks 项目。

  2. 找到 src -> usrAppInit.c 文件并双击打开,这是用户应用程序初始化的标准入口点。

  3. usrAppInit() 函数中添加一行代码:

    #include <vxWorks.h>
    #include <stdio.h> // 确保包含 stdio.h
    /* usrAppInit - user application initialization routine */
    STATUS usrAppInit( void )
        {
        /* Add your code here */
        printf("Hello, VxWorks World!\n");
        return (OK);
        }

编译项目

  1. 确保选中 HelloVxWorks 项目。
  2. 在菜单栏选择 "Project" -> "Build Project"。
  3. Workbench 会在 "Console" 视图中显示编译过程,如果一切顺利,最后会提示 "Build Finished"。

下载并运行

  1. 确保你的目标机(模拟器或真实板卡)已经启动并可以网络连接。
  2. 在菜单栏选择 "Run" -> "Debug Configurations..."。
  3. 在左侧选择 "VxWorks Image Launch",点击 "New launch configuration" (图标像太阳)。
  4. 配置项应该已经自动填好:
    • ProjectHelloVxWorks
    • ConnectionTarget Server:与创建项目时一致。
  5. 点击 "Debug" 按钮。
  6. Workbench 会将编译好的 VxWorks 镜像下载到目标机,并启动调试会话。"Debug" 视图会显示,程序会停在 main 函数的断点处。

查看输出

  1. 在菜单栏选择 "Window" -> "Show View" -> "Other..."。

  2. 展开 "General",选择 "VxWorks Shell",然后点击 "OK"。

  3. "VxWorks Shell" 视图会打开,并连接到目标机的命令行环境。

  4. -> 提示符后输入 go 并回车,让程序继续执行。

  5. 你应该能在 "VxWorks Shell" 视图中看到输出:

    Hello, VxWorks World!

恭喜!你已经成功创建、编译、下载并运行了你的第一个 VxWorks 应用程序!


第四部分:Workbench 核心功能详解

Workbench 界面布局

  • 菜单栏:所有操作命令的入口。
  • 工具栏:常用命令的快捷按钮。
  • Project Explorer:左侧,显示项目文件结构,是核心视图。
  • Editor Area:中间,用于编辑代码、配置文件等。
  • Views (视图):底部和右侧,提供各种辅助功能,如:
    • Console:显示编译、构建、调试信息。
    • Problems:显示代码错误和警告。
    • Debug:调试时显示变量、调用栈、断点等。
    • VxWorks Shell:与目标机交互的命令行终端。

项目与构建

  • 项目类型:除了 VxWorks Image Project,还有 VxWorks Kernel Project (开发内核模块)、`
分享:
扫描分享到社交APP
上一篇
下一篇