2. VxWorks开发环境搭建
VxWorks 的开发环境与通用 Linux 应用开发有本质区别:宿主机(Host)通常是 Windows 或 Linux 工作站,运行 Workbench 集成开发环境;目标机(Target)是运行 VxWorks 的嵌入式硬件或虚拟机。两者通过交叉编译工具链、目标服务器(Target Server)和调试通道协同工作。本节围绕“装好、连上、编得出、烧得进、跑起来”这条主线,把环境搭建拆成可验证的四个环节。
一、Workbench 安装与许可证准备
Workbench 是 Wind River 基于 Eclipse 的集成开发环境,安装前需确认三件事:宿主机操作系统版本(如 Windows 10 64 位或 RHEL/CentOS 7.x)、Workbench 版本(如 VxWorks 7 对应 Workbench 4.x)、以及许可证文件(License)。安装介质通常为 ISO 或安装包,安装路径建议不含中文和空格,例如 C:\WindRiver\workbench-4。
安装过程本身是向导式的,但有两个关键点容易被忽略。第一,安装类型选择:若只做应用开发,选“Application Development”;若需要 BSP 和内核裁剪,选“Platform Development”。第二,安装完成后必须通过 License Manager 导入许可证,否则 Workbench 启动后无法创建 VxWorks 工程。许可证通常与 MAC 地址或加密狗绑定,导入后可在 Help → About Workbench → Installation Details 中确认授权状态。
二、交叉编译工具链配置
VxWorks 的交叉编译工具链随 Workbench 一起安装,常见前缀为 arm-wrs-vxworks、aarch64-wrs-vxworks 或 x86_64-wrs-vxworks,具体取决于目标机架构。工具链包含 gcc、g++、ld、ar、objcopy、objdump 等,位于 Workbench 安装目录下的 wrenv 或 toolchain 子目录中。
配置的核心是让 Workbench 知道“用哪套工具链、编哪个目标架构”。在 Workbench 中通过 Window → Preferences → Wind River → Build 指定工具链根路径;在工程属性 C/C++ Build → Settings → Tool Chain Editor 中选择对应的工具链前缀。若使用命令行编译,需先执行环境初始化脚本,例如:
# Linux 宿主机示例
source /opt/windriver/wrenv.sh -p vxworks-7
export WIND_CC_SYSROOT=/opt/windriver/vxworks-7/sysroot
arm-wrs-vxworks-gcc -v
执行 arm-wrs-vxworks-gcc -v 后应看到目标架构、GCC 版本和 sysroot 路径。若提示找不到命令,说明环境变量未生效或工具链路径配置错误。此时不要急于编译工程,先把工具链本身验证通过。
三、目标机连接与 Target Server 配置
目标机连接的本质是:Workbench 通过 Target Server 与目标机上的 VxWorks 内核建立通信,通信通道可以是串口、以太网或 JTAG。量产交付中最常用的是以太网连接,因为速度快、支持多目标机管理。典型拓扑如下:宿主机运行 Workbench 和 Target Server,目标机运行 VxWorks 内核并监听网络端口,两者通过交换机或直连网线互通。
配置 Target Server 时,需要填写目标机 IP、端口(默认 1534)、以及目标机上的 VxWorks 镜像路径。若目标机尚未运行内核,可先用串口或 TFTP 方式引导一个最小内核,再切换到网络连接。连接成功后,Workbench 的 Target Manager 中会显示目标机状态为“Connected”,此时可以查看目标机内存、任务列表和符号表。
ping 确认链路,再用 telnet 目标IP 1534 确认端口可达。四、首个镜像烧录与验证
环境搭好后,用一个最小可运行镜像验证整条链路。推荐从 Workbench 自带的示例工程开始,例如 Hello World 或 Kernel Shell。编译前确认工程属性中的工具链、目标架构、优化等级(调试阶段建议 -O0 -g)与目标机匹配。编译成功后生成 .out 或 .bin 文件,通过 Target Server 下载到目标机。
下载方式有两种:一是通过 Workbench 的 Run → Run Configurations 直接下载并启动;二是通过 TFTP 或串口手动烧录。首次验证建议用 Workbench 直接下载,便于观察日志。下载后目标机串口应输出类似以下内容:
VxWorks 7.0
Copyright 1984-2023 Wind River Systems, Inc.
Kernel: WIND version 2.0
...
->
看到 -> 提示符说明内核已启动并进入 Shell。此时输入 i 查看任务列表,输入 version 查看版本信息,输入 devs 查看设备列表。若 Shell 无响应,检查串口波特率(常见 115200)、流控设置和线序。若下载失败,检查 Target Server 连接状态、镜像路径和权限。
五、环境搭建检查清单
为便于复现和排障,下面给出一份可直接使用的检查清单。每项都对应一个可观察的结果,而不是笼统的“配置完成”。
| 检查项 | 操作 | 通过标准 |
|---|---|---|
| Workbench 安装 | 启动 Workbench,查看 About 信息 | 版本号正确,许可证状态为已授权 |
| 工具链可用 | 执行 arm-wrs-vxworks-gcc -v |
输出目标架构、GCC 版本、sysroot 路径 |
| Target Server 连接 | Target Manager 中添加目标机 | 状态显示 Connected,可读取符号表 |
| 镜像编译 | 编译 Hello World 工程 | 生成 .out 文件,无链接错误 |
| 镜像下载 | 通过 Run Configuration 下载 | 目标机串口输出启动日志 |
| Shell 验证 | 输入 i、version |
返回任务列表和版本信息 |