拓冰建站拓冰建站
首页 / 资讯中心 / 正文

VMware中运行VxWorks 6.8:从解压到启动的完整指南

简介面向在VMware虚拟环境中进行VxWorks 6.8开发与调试的嵌入式工程师这份板级支持包BSP专门解决没有真实硬件时难以搭建实时系统开发环境的问题。VxWorks 6.8以高可靠性和强实时性著称广泛用于航空航天、工业自动化等领域而该BSP将它与虚拟化结合使开发者能在PC上完成内核编译、驱动调试与功能验证。压缩包内含完整的VMware虚拟机组态、VxWorks 6.8源码、BSP配置头文件、编译链接脚本及启动镜像生成工具共70个文件主要类型包括C/头文件源码、目标文件、汇编文件、系统镜像、makefile/bat构建脚本、cdf设备描述及readme说明文档等整体体积仅3.68MB目录结构清晰。当前已有729人学习下载适合具备一定VxWorks基础、希望降低硬件依赖并加快原型验证的开发者。借助该BSP可在Workbench集成开发环境中编译、加载并调试VxWorks 6.8通过虚拟网卡、串口等外设模拟完成驱动验证与实时性测试显著提升前期开发效率尤其适合项目预研、教学实验和驱动移植场景。 最近在整理嵌入式开发环境手里正好有一个vmware-vxworks6.8.rar的压缩包。看到这个名字基本就能猜个大概这是给 VMware 虚拟机用的 VxWorks 6.8 运行环境。很多刚从单片机转到 RTOS 学习的朋友第一次拿到这种包都会有点懵——里面到底是虚拟机镜像还是源码解压完怎么打开为什么双击.vmx文件就报错这篇文章我就按自己这次实操的流程把从解压到让 VxWorks 6.8 在 VMware 里跑起来的完整步骤过一遍顺便把踩过的坑都拿出来说说。1. 先搞清楚这个压缩包里到底装了什么1.1 文件名里的信息量vmware-vxworks6.8.rar这个命名其实已经把三件事说清楚了运行平台是 VMware目标系统是 VxWorks 6.8封装格式是 RAR。VxWorks 是风河公司推出的实时操作系统在航天、军工、工业控制这些领域用得非常多6.8 这个版本算是比较经典的分支支持 x86 架构所以在 VMware 里跑完全没问题。不过 RAR 只是个容器里面到底是“虚拟机磁盘文件”还是“引导镜像 源码工程”得解压完才知道。有些资料包只放一个vxWorks.bin那是需要用 bootrom 引导的镜像有些则是把整个 VMware 虚拟机目录打包了里面有.vmx和.vmdk。这两种玩法差别很大所以解压之前先别急着动手先看压缩包体积。如果压缩包有几百 MB 到几个 GB里面大概率是完整的虚拟磁盘如果只有几十 MB那多半是镜像和配套工程。我拿到这个包是 1.2 GB解压出来 3 个多 GB妥妥的完整虚拟机目录。1.2 解压后常见文件清单解压完第一步不是双击启动而是先核对一下文件结构。一个典型的 VMware 虚拟机里面应该有下面这些文件.vmx虚拟机配置文件双击这个文件就能用 VMware Workstation 打开。.vmdk虚拟磁盘文件系统实际存储所在。.vmss挂起状态文件一般不会从一开始就出现。.nvram虚拟机的 BIOS/EFI 配置。README.txt作者写的使用说明很多包都会放值得先看。VxWorks 的工程包还可能额外包含bootrom.bin、vxWorks.bin、config.h这些。如果有 README一定要先打开看里面通常会写清楚默认的串口配置、网卡类型、IP 段这些信息后面配置网络启动的时候非常关键。我这次解压出来的目录里有README.txt里面明确写了用的是 e1000 网卡和192.168.1.100的 target IP省了不少事。2. 解压与文件校验这些细节容易被忽略2.1 解压工具怎么选WinRAR 激活是刚需吗Windows 下解压 RAR 最常见的就是 WinRAR 和 7-Zip。WinRAR 有 40 天评估期评估期过了也还能继续用只是偶尔会弹提醒窗口不影响解压功能。所以看到网上到处找所谓“激活工具”的行为我一直觉得没必要个人解压场景下不激活也不耽误事。如果实在不想看到弹窗直接用 7-Zip 就行开源免费解压 RAR 基本没啥问题。需要提醒一句的是网上很多“RAR 密码移除工具”“RAR 破解补丁”这类软件要么是暴力枚举密码要么干脆绑了木马。密码破解只适合一种场景压缩包是你自己做的密码真忘了用工具找回密码还说得过去。别人发来的加密包破解属于非法行为而且大概率会被杀毒软件拦下来。遇到真正的加密资料老老实实找发给你的那个人要密码比折腾工具靠谱太多。2.2 解压后立刻要做三件事第一件校验体积和文件完整性。解压时如果中途报错“数据损坏”或“压缩包已损坏”优先考虑分卷是否齐全。RAR 分卷一般是.part1.rar、.part2.rar这种格式所有分卷必须放在同一目录下再从.part1.rar开始解压。第二件看一下总大小和文件数。我这次解压出来的.vmdk有 2 个一个主磁盘一个快照磁盘如果只解压出其中一个后面开机会各种报错。解压完核对一下确保每个.vmdk都在。第三件确认磁盘剩余空间。VMware 虚拟磁盘文件经常是稀疏分配的解压后体积会比压缩包大很多至少预留两倍于压缩包的空间不然解压到一半空间满了会出现很难排查的怪问题。3. VMware Workstation 准备安装、许可证与虚拟机导入3.1 安装 VMware Workstation Pro 与许可证的合法获取VMware Workstation Pro 现在是个人收费的官方提供试用版试用期过了需要购买许可证。很多社区流传的许可证密钥很多早已被官方封杀吹得再神也未必能用。我个人的建议是如果你只是自己学 VxWorks安装免费的 VMware Workstation Player 就够了Player 照样能打开.vmx跑虚拟机只是少了快照、克隆这类高级功能对学习 VxWorks 影响不大。如果想用 Pro 的功能就通过官方渠道购买别拿自己电脑的安全开玩笑。安装过程没什么特别一路默认即可。但要注意在 Windows 上如果启用了 Hyper-V 或内存完整性VMware 新版会自动装 Hyper-V 兼容模式运行效率会降某些老版本 VxWorks 镜像可能还会出现异常。真遇到这种情况需要临时关闭 Hyper-V或者改用不受影响的启动方式。3.2 导入现有虚拟机还是新建虚拟机如果解压后有.vmx文件直接双击就能用 VMware 打开。如果 VMware 提示“配置文件无效”或“无法打开”最常见原因是虚拟机的硬件版本高于当前 VMware 版本。比如.vmx是用 Workstation 17 创建的而你装的是 Workstation 10那肯定打不开。解决办法很简单用记事本打开.vmx找到virtualHW.version这一行改成当前版本对应的数字比如virtualHW.version 16保存后重新打开。如果包里面没有.vmx只有.vmdk那就需要手动新建虚拟机选“自定义”操作系统选择“其他”在磁盘那一步选择“使用现有虚拟磁盘”然后指定.vmdk文件。注意如果原来的.vmdk是 SCSI 类型新建时磁盘控制器类型尽量保持原来的否则可能引导不了。3.3 硬件配置参考内存、CPU、网络适配器VxWorks 6.8 本身非常轻量给虚拟机分配太多资源反而没必要。我这次参考如下配置配置项推荐值说明内存512 MB ~ 1 GB跑演示系统和网络协议栈足够给 2 GB 也可以但没必要CPU1 核老版本 VxWorks 对 SMP 支持有限单核最稳网络适配器NAT 或桥接主要看宿主机网络环境网卡类型e1000如果加载不到网卡驱动再改成 vlance磁盘控制器与镜像原配置一致一般 IDE 或 SATA 兼容性更好如果你的包里有 README优先按 README 来。我这次因为 README 写了 e1000所以没有改虚拟网卡类型。4. 让 VxWorks 6.8 在虚拟机上正常启动4.1 bootrom 引导与 bootline 参数配置VxWorks 6.8 的启动方式和普通 Linux 内核不太一样。如果虚拟机里装的是 bootrom 引导器开机后会在串口或 VGA 上显示一个-提示符。在提示符下敲bootChange就能进入引导参数配置界面。这里最核心的就是 bootline 参数决定 VxWorks 从哪加载内核镜像。我这次环境的网络参数是boot device : e1000 processor number : 0 host name : host file name : vxWorks.bin inet on ethernet (e) : 192.168.1.100 host inet address (h) : 192.168.1.10 user (u) : target flags (f) : 0x0配好后输入或者敲bootbootrom 会通过 TFTP 从宿主机拉取vxWorks.bin然后加载内核。这里有个容易踩的坑host inet address是宿主机 IP不是虚拟机 IP。如果填反了bootrom 会一直卡在Loading...然后超时。4.2 TFTP 服务器配置VxWorks 通过 TFTP 加载内核时宿主机必须有一个 TFTP 服务。Windows 下我用的是 Tftpd64轻量且稳定。配置要点设置 TFTP 根目录把vxWorks.bin放到这个目录下。设置服务绑定的网卡地址确保是宿主机在虚拟机所在网段上的 IP。如果开了 Windows 防火墙放行 UDP 69 端口否则加载会超时。网络模式上如果 TFTP 服务和 VMware 在同一台宿主机用 NAT 模式一般没问题。但用桥接模式更直观虚拟机当成局域网里一台独立设备TFTP 地址直接填宿主机局域网 IP 即可。需要确保宿主机和虚拟机的 IP 能互相 ping 通。VxWorks 的 shell 起来以后可以用ping命令测试网络连通性。4.3 串口控制台与 VGA 显示的取舍VxWorks 6.8 的调试串口默认是 COM1如果虚拟机没有配置串口默认输出可能落到 VGA 上。在 VMware 里给虚拟机添加串口的方式是编辑虚拟机设置“添加设备”里选择“串行端口”连接方式选“输出到命名管道”路径用\\.\pipe\vxworks_com1。然后在宿主机用 PuTTY 连接这个命名管道波特率通常设为 115200数据位 8停止位 1无校验。我这次启动时 VGA 上能直接看到 VxWorks shell所以串口不是必须的。但如果遇到内核启动到一半黑屏串口日志就是唯一的排障手段了。5. 常见问题与排查技巧实录5.1 VMware 报错“无法连接到虚拟机。请确保您有权运行该程序”这个报错在实测中太常见了基本可以当作文档化问题处理。两个主要原因一个是以非管理员身份运行了 VMware。右键“以管理员身份运行”就能解决。另一个是 VMware Authorization Service 没启动。按Win R输入services.msc找到VMware Authorization Service右键启动设置为“自动”然后重启 VMware。如果这两步都做了还是报错可能是系统里 Hyper-V 冲突。控制面板里关闭“启用 Windows Hypervisor Platform”重启电脑再试。5.2 VxWorks 启动时卡在Loading...然后超时这是 TFTP 加载最典型的故障。按照我的排查顺序现象可能原因处理方法Loading...停住TFTP 服务没启动确认 Tftpd64 是否在运行加载几秒后超时防火墙拦了 UDP 69放行 69 端口加载到一部分就断网卡类型不匹配检查.vmx里的ethernet0.virtualDev始终超时宿主机和虚拟机网段不通用 ping 验证 IP 是否同网段如果网卡类型是vmxnet3VxWorks 6.8 自带的驱动未必认建议改成e1000或vlance。直接在.vmx文件里把ethernet0.virtualDev e1000改掉保存后重新打开虚拟机即可。5.3 解压后的.vmdk挂载不上有时候.vmdk用了分卷格式文件名是xxx-s001.vmdk这种这时主.vmdk文件里只是记录信息没有实际数据。如果只把主.vmdk拷贝到别处虚拟机肯定起不来。处理方式是把所有分卷.vmdk文件放在同一个目录里再用 VMware 打开。如果实在没法找全分卷基本只能重新下载压缩包。另外.vmdk文件不要放在中文路径或带特殊字符的目录下很多 VMware 异常都和路径有关。我习惯把所有虚拟机镜像统一放在一个纯英文、无空格的目录里。6. 一点实际体验与建议把 VxWorks 6.8 放在 VMware 里跑最大的价值是能随时干净地复现一个实时操作系统的学习和调试环境不用折腾物理机也不用担心把开发板玩坏。但需要注意虚拟化环境下跑的 VxWorks 和真实嵌入式硬件上的表现有差异中断延迟、总线访问这些数据只能做个参考真正做项目还是要拿目标板去验证。最后分享一个小技巧很多老 VxWorks 镜像在 VMware 里启动后会出现键盘输入没反应这时先别怀疑系统坏了八成是虚拟机没有把 USB 设备或 PS/2 键盘正确绑定到启动流程里。打开.vmx检查vmci0.present和usb.present这两个字段有时把它们改成FALSE反而更稳定。我自己就在这上面折腾过一下午最后发现是 VMware 新版本默认启用的虚拟设备把 VxWorks 的驱动搞懵了。原始 RAR 包建议留一份备份别解压完就删。后面一旦虚拟磁盘文件卷损坏至少还能从压缩包再解压一次。本文还有配套的精品资源点击获取
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门