1. 搭建VxWorks交叉编译环境
任务目标
在Linux主机(Ubuntu 20.04 x86_64)上安装Wind River Workbench 3.3(含VxWorks 6.9),配置针对PowerPC(e500v2内核)的交叉编译工具链,并编译一个最小C程序生成PowerPC目标文件,验证工具链可用。
环境与依赖
- 宿主机:Ubuntu 20.04 LTS x86_64,内核≥4.15
- 安装包:Wind River Workbench 3.3(VxWorks 6.9)Linux版ISO
- 磁盘空间:≥20GB(/opt/windriver分区)
- 内存:≥8GB(推荐16GB)
- 依赖库:
libgtk2.0-0、libxtst6、libxft2、lib32ncurses6(32位兼容库)
安装步骤
- 安装依赖:
sudo apt install libgtk2.0-0 libxtst6 libxft2 lib32ncurses6 - 挂载ISO并运行安装器:
sudo mount -o loop wrwb_3.3_linux.iso /mnt,执行/mnt/installer - 选择安装类型为“Custom”,勾选VxWorks 6.9 for PowerPC组件(含交叉编译器
powerpc-wrs-vxworks-gcc) - 安装完成后,将工具链路径加入环境变量:
export WIND_BASE=/opt/windriver/vxworks-6.9
export WIND_HOST_TYPE=x86-linux2
export PATH=$WIND_BASE/host/$WIND_HOST_TYPE/bin:$PATH
export PATH=$WIND_BASE/host/$WIND_HOST_TYPE/gnu/3.4.4-x86-linux2/bin:$PATH
验证工具链
确认编译器版本与目标架构:
powerpc-wrs-vxworks-gcc --version
powerpc-wrs-vxworks-gcc -dumpmachine
预期输出(示例):
powerpc-wrs-vxworks-gcc (Wind River Linux 3.0) 3.4.4
powerpc-wrs-vxworks
编译验证程序
创建测试文件 hello_ppc.c:
#include <stdio.h>
int main(void) {
printf("VxWorks PPC cross-compile OK\n");
return 0;
}
编译生成PowerPC目标文件:
powerpc-wrs-vxworks-gcc -c hello_ppc.c -o hello_ppc.o
验证目标文件架构:
file hello_ppc.o
预期输出(示例):
hello_ppc.o: ELF 32-bit MSB relocatable, PowerPC or cisco 4500, version 1 (SYSV)
通过判定标准
powerpc-wrs-vxworks-gcc -dumpmachine输出包含powerpc-wrs-vxworksfile hello_ppc.o显示ELF 32-bit MSB且架构为PowerPC,说明交叉编译环境配置成功,生成的目标文件可在VxWorks PowerPC目标机上进一步链接使用。
常见问题
- 缺少32位库:安装器报错
error while loading shared libraries时,执行sudo apt install lib32ncurses6 lib32z1。 - License配置:Workbench首次启动需指向License服务器,在
/opt/windriver/workspace/.wind/windriver.lic中配置SERVER <ip> <mac> <port>。 - 环境变量持久化:将export语句追加到
~/.bashrc,避免每次手动设置。