1. 搭建VxWorks 7开发环境并创建首个BSP项目
任务目标
在Workbench中创建基于VxWorks 7的BSP项目,配置交叉编译工具链,生成基础VxWorks镜像并成功启动到shell。
环境与依赖
- VxWorks 7(含VSB、VIP)及Workbench 4或以上版本,安装于Windows或Linux主机
- 目标机:x86 64位(如QEMU或真实PC),需支持UEFI启动
- 串口线或虚拟串口用于观察启动输出
实现步骤
1. 创建VSB(VxWorks Source Build)项目
VSB是VxWorks 7的源码构建环境,必须先于VIP创建。
- 打开Workbench,选择 File > New > VxWorks Source Build Project
- 项目名称:
myVSB,选择BSP:qemu-x86_64(或目标板对应BSP) - 工具链选择:
GNU x86_64-linux(Linux主机)或GNU x86_64-w64-mingw32(Windows主机) - 点击 Finish,等待构建完成
2. 创建VIP(VxWorks Image Project)项目
- 选择 File > New > VxWorks Image Project
- 项目名称:
myVIP,关联已创建的VSB项目myVSB - 选择镜像类型:
UEFI boot(用于QEMU或UEFI目标机) - 点击 Finish
3. 配置内核组件
在VIP的 Project Explorer 中双击 project.vip,打开组件配置界面:
- 确认 INCLUDE_SHELL 已勾选(默认包含)
- 确认 INCLUDE_STANDALONE_SHELL 已勾选,使shell作为独立任务运行
- 确认串口驱动组件(如
INCLUDE_NS16550或目标板对应驱动)已包含
4. 构建镜像
- 右键点击VIP项目,选择 Build Project
- 构建完成后,镜像文件位于
myVIP/default/vxWorks(ELF格式)或vxWorks.bin(UEFI可执行文件)
5. 启动到shell
使用QEMU验证(无需真实硬件):
qemu-system-x86_64 -m 512 -kernel vxWorks.bin -serial stdio -no-reboot
若使用真实UEFI目标机,将 vxWorks.bin 复制到FAT32格式的启动U盘,命名为 EFI/BOOT/BOOTX64.EFI,从U盘启动。
验证方法与判定标准
- 串口输出中出现VxWorks启动横幅,包含版本号与BSP名称
- 启动日志末尾出现
Starting kernel...后进入shell提示符-> - 在shell中输入
i并回车,能列出系统任务列表,说明shell交互正常
预期输出(关键部分):
VxWorks 7 Kernel: 7.0.0.0
BSP: qemu-x86_64
...
Starting kernel...
-> i
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY
tShell shellTask ... 0 READY ... ... 0 0
->
常见问题
- 串口无输出:检查VIP中串口组件是否包含,QEMU命令是否使用
-serial stdio - 构建报错缺少工具链:确认Workbench首选项中交叉编译工具链路径已正确设置
- UEFI启动失败:确认镜像类型选择UEFI boot,且启动介质为FAT32格式