VxWorks设备驱动架构与外设集成 - 第2节
2. VxWorks开发环境搭建
Workbench 是 VxWorks 的官方集成开发环境,基于 Eclipse 框架构建,提供项目管理、代码编辑、编译调试、性能分析等全流程支持。本节将引导你完成 Workbench 的安装与初始配置。
2.1.1 安装前准备
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11 (64-bit) 或 Linux (Ubuntu 20.04+/RHEL 8+) |
| JDK | OpenJDK 11 或 Oracle JDK 11 (64-bit) |
| 磁盘空间 | 至少 15 GB (含 VSB/VIP 组件) |
| 内存 | 推荐 16 GB 以上 |
| 网络 | 需访问 Wind River 许可证服务器 (或使用本地浮动许可证) |
提示: 建议在安装前关闭杀毒软件实时扫描,避免安装过程中文件被误拦截导致组件缺失。
2.1.2 安装步骤
- 获取安装包: 从 Wind River 官网或内部镜像站下载 Workbench 安装程序 (通常为
windriver-workbench-*.exe或.bin)。 - 运行安装程序: 以管理员身份执行安装程序,选择安装语言为 English(中文界面可能存在翻译不完整)。
- 选择组件: 在组件选择界面,至少勾选以下核心组件:
- Workbench IDE (主程序)
- VxWorks Source Build (VSB) — 用于构建 VxWorks 内核和驱动
- VxWorks Image Project (VIP) — 用于生成 VxWorks 镜像
- VxWorks Simulator — 用于在宿主机上模拟运行
- 目标架构支持 (如 x86_64、ARM、PPC 等,根据实际硬件选择)
- 配置许可证: 安装完成后启动 Workbench,通过
Help → Wind River License Setup激活许可证。支持三种模式:- 节点锁定许可证: 绑定到本机 MAC 地址
- 浮动许可证: 指向许可证服务器 (格式
port@host) - 试用许可证: 30 天评估期
- 验证安装: 打开 Workbench,确认菜单栏出现
Wind River标签,且Window → Preferences → Wind River下可看到已安装的 SDK 版本。
常见问题: 若启动后提示 "No Wind River SDK found",请检查安装路径是否包含空格或中文字符,建议使用纯英文路径如
C:\WindRiver\。
2.2 VxWorks Simulator 环境搭建 (VSB/VIP)
VxWorks Simulator 允许你在宿主机上直接运行 VxWorks 内核,无需物理目标板,是驱动开发前期调试的核心工具。搭建流程分为两步:VSB (VxWorks Source Build) 构建内核源码包,VIP (VxWorks Image Project) 生成可启动镜像。
2.2.1 VSB 构建流程
VSB 是 VxWorks 的源码构建系统,用于裁剪和编译内核组件。以下是标准操作步骤:
- 创建 VSB 项目: 在 Workbench 中选择
File → New → VxWorks Source Build Project。 - 选择 BSP: 对于 Simulator 环境,BSP 选择
simlinux(Linux 宿主机) 或simwindows(Windows 宿主机)。 - 配置内核特性: 在
Kernel Configuration界面,至少启用以下组件:INCLUDE_IPNET— 网络协议栈INCLUDE_END— 增强型网络驱动INCLUDE_SHELL— 命令行 ShellINCLUDE_LOADER— 模块加载器 (用于加载驱动 .o 文件)
- 执行构建: 右键项目 →
Build Project。首次构建耗时约 10-20 分钟,生成产物位于vsb/<project_name>/目录下。
注意: 如果构建过程中出现 "undefined reference" 错误,通常是因为未启用依赖组件。请检查
Kernel Configuration 中的依赖关系,或使用 DEFAULT 配置模板重新创建 VSB。
2.2.2 VIP 镜像生成
VIP 项目基于 VSB 产物生成最终的 VxWorks 镜像文件 (vxWorks 或 vxWorks.st)。
- 创建 VIP 项目:
File → New → VxWorks Image Project。 - 关联 VSB: 在向导中指定上一步构建好的 VSB 项目路径。
- 配置启动参数: 在
Image Configuration中设置:- 启动脚本: 添加
usrRoot初始化函数 - 网络配置: 设置模拟网卡的 IP 地址 (如
192.168.200.1) - 内存大小: 建议 64 MB 以上
- 启动脚本: 添加
- 生成镜像: 右键项目 →
Build Project。成功后会在default/目录下生成vxWorks文件。
验证: 在 Workbench 中点击
Run → Run Configurations,选择 VxWorks Simulator 类型,指定 VIP 项目路径,点击 Run 即可启动模拟器。若控制台输出 "Starting at 0x..." 并进入 Shell 提示符 ->,则环境搭建成功。
2.3 目标机与宿主机网络连接配置
无论是物理目标板还是 Simulator,驱动开发都需要宿主机与目标机之间的网络通信,用于下载镜像、调试符号、文件传输等。本节以 Simulator 环境为例,讲解网络配置方法。
2.3.1 网络拓扑与地址规划
| 角色 | IP 地址 | 子网掩码 | 说明 |
|---|---|---|---|
| 宿主机 (Host) | 192.168.200.10 | 255.255.255.0 | 运行 Workbench 的物理机 |
| 目标机 (Target) | 192.168.200.1 | 255.255.255.0 | Simulator 或物理板卡 |
| 网关 | 192.168.200.254 | — | 可选,用于跨网段通信 |
关键原则: 宿主机与目标机必须在同一子网内,且 IP 地址不能冲突。Simulator 默认使用虚拟网卡
vxsim0,其 IP 在 VIP 配置中设定。
2.3.2 宿主机端配置 (Windows 示例)
- 安装虚拟网卡: Workbench 安装时可选安装
Wind River Virtual Network Adapter。若未安装,可手动添加:# 以管理员身份运行 C:\WindRiver\setup\vxsim\install_vxsim_net.bat - 配置虚拟网卡 IP:
- 打开
控制面板 → 网络和共享中心 → 更改适配器设置 - 找到
Wind River Virtual Ethernet Adapter - 右键 → 属性 → IPv4 → 设置 IP 为
192.168.200.10,掩码255.255.255.0
- 打开
- 关闭防火墙: 为简化调试,建议在专用虚拟网卡上关闭防火墙,或放行以下端口:
- UDP 17185: Wind River Debugger 通信
- TCP 1534: FTP 文件传输
- UDP 69: TFTP 启动
2.3.3 目标机端配置 (Simulator)
在 VIP 项目的启动配置中,通过 bootline 参数设置网络:
# 在 VIP 项目配置中,添加或修改 bootline 参数
bootline = "end(0,0)simlinux:192.168.200.1:192.168.200.10:192.168.200.254:255.255.255.0:vxWorks h=192.168.200.10 e=192.168.200.1 u=target pw=target tn=target"
# 参数说明:
# end(0,0) — 使用第一个 END 网络接口
# simlinux — 模拟器类型
# 192.168.200.1 — 目标机 IP
# 192.168.200.10 — 宿主机 IP (FTP/TFTP 服务器)
# 192.168.200.254— 网关
# 255.255.255.0 — 子网掩码
# vxWorks — 启动镜像文件名
# h=... — 宿主机地址
# e=... — 目标机地址
# u=... pw=... — FTP 登录凭据
2.3.4 连通性测试
启动 Simulator 后,在宿主机终端执行 ping 命令验证连通性:
C:\> ping 192.168.200.1
正在 Ping 192.168.200.1 具有 32 字节的数据:
来自 192.168.200.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.200.1 的回复: 字节=32 时间<1ms TTL=64
若 ping 不通,请按以下顺序排查:
- 确认虚拟网卡已启用且 IP 配置正确
- 检查 Simulator 是否已启动 (控制台应显示
->提示符) - 在 Simulator Shell 中执行
ifShow命令查看网络接口状态 - 尝试关闭宿主机防火墙临时测试
2.4 开发环境验证
完成上述配置后,通过以下步骤验证整个开发环境是否就绪:
- 启动 Simulator: 在 Workbench 中运行 VIP 项目,确认控制台输出正常。
- 建立调试连接: 在 Workbench 中打开
Run → Debug Configurations,选择VxWorks Simulator Debug,点击Debug。若成功,Workbench 会进入调试透视图,显示目标机内存、寄存器、任务列表等信息。 - 执行简单命令: 在 Simulator Shell 中输入
i查看任务列表,输入ifShow查看网络接口。 - 下载测试模块: 在 Workbench 中创建一个简单的驱动工程 (如
hello_drv.c),编译生成.o文件,通过ld < hello_drv.o命令加载到 Simulator 中运行。
成功标志: 能够在 Workbench 的
Target Console 中看到目标机打印信息,且可以通过 Debug 模式设置断点、单步执行驱动代码,说明整个开发环境已完全就绪。
常见陷阱: 如果调试连接时提示 "Target not found",请检查宿主机防火墙是否放行 UDP 17185 端口,以及 Simulator 是否已正确配置 bootline 中的宿主机 IP 地址。