ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

VxWorks 6.8开发环境搭建:WorkBench 3.2安装与配置完整指南

VxWorks 6.8开发环境搭建:WorkBench 3.2安装与配置完整指南 说实话我已经记不清第几次帮同事搭这套开发环境了。Wind River WorkBench 3.2 VxWorks 6.8这个组合在2020年代看起来确实有点古老但在工控、网络设备和一些嵌入式产品线里它依然在大量服役。很多项目的生命周期长达十年以上设备出厂时用的就是这个版本后续维护、二次开发都绕不开。网上关于这套环境的教程越来越少官方文档又是英文安装过程中全是零散的坑。这篇文章我把自己实际安装和排障的过程完整写下来从宿主机准备、组件勾选、license配置到镜像编译、目标机连接再到常见问题尽量让第一次接触的人少走弯路。这篇教程适合三类人刚接手老项目需要重新搭环境的嵌入式工程师用VxWorks做课题的学生以及需要维护在产设备的技术团队。如果你手里已经有正版安装光盘和对应的license按照下文操作就能完整复现一套可用的开发环境。没有硬件也没关系文里介绍了VxSim模拟器的用法没有开发板一样能把VxWorks先跑起来。1. 安装前先看清楚WorkBench 3.2和VxWorks 6.8的搭配逻辑1.1 它们是什么为什么还总有人用这套老组合很多刚接触VxWorks的人会搞混WorkBench和VxWorks的角色。简单说WorkBench是Wind River基于Eclipse开发的一套集成开发环境负责工程管理、代码编辑、编译和远程调试VxWorks则是运行在目标机上的实时操作系统内核。两者关系可以类比成Visual Studio与Windows应用程序只不过这里“应用程序”变成了整个嵌入式实时系统。WorkBench 3.2是专门配套VxWorks 6.8时代的发布版本它们共享同一套组件模型和调试协议属于一个成熟稳定的组合。那为什么还有人在2025年找这种老版本一方面是产品生命周期问题现场设备稳定运行多年厂家不会轻易升级RTOS因为升级意味着重新做全套验证成本太高另一方面是VxWorks 6.8本身的实时性、稳定性和调试能力确实经得起工程检验在需要强实时响应的场景里依然有一批忠实用户。我做过的项目里有的客户只认这套版本非要我按这个环境复现问题所以学会安装和配置WorkBench 3.2 VxWorks 6.8是维护这类系统的基本功。1.2 宿主机环境和安装介质准备先说宿主机环境这是很多人一开始就踩坑的地方。WorkBench 3.2那个年代Wind River官方支持的宿主机系统是Windows XP SP3和Windows 7 32位。我实际测试过在64位Windows 7上装也能用但安装过程偶尔会莫名卡住license服务也可能起不来。在Windows 10和Windows 11上问题更多安装程序能启动但后续运行阶段可能有各种兼容问题。所以我给所有新人的第一条建议就是准备一台虚拟机装32位Windows 7或Windows XP SP3把WorkBench放在虚拟机里用稳得多。硬件方面虚拟机分配2GB内存起步磁盘预留10GB以上。完整安装包括IDE、VxWorks内核、几十个BSP和一大批文档占用空间不小。安装介质通常是一张DVD镜像里面会有WorkBench安装程序、VxWorks 6.8内核、板级支持包、GNU/Diab工具链和示例工程缺少BSP的问题多半发生在这一步后面细说。另外还需要准备两样东西可用的license文件或license服务器地址以及目标机的BSP名称。没有license连IDE都打不开所以别拖着不配。2. WorkBench 3.2 安装流程分步拆解2.1 安装器里的组件应该怎么勾把安装光盘挂载后用管理员身份运行setup.exe。进入安装界面后选择安装Wind River WorkBench而不是只装License Server。安装方式我强烈建议选Custom自定义安装Typical快捷安装虽然省事但到了创建工程阶段你大概率会发现自己需要的BSP没装全还得回头重新跑安装程序补组件反而更浪费时间。Custom模式下的组件比较多我一般这样勾Wind River WorkBench IDE这是主界面必选。VxWorks 6.8内核开发目标系统的基础必选。BSP板级支持包建议全选。BSP就是板级支持包每个目标板对应一个BSP比如x86工控机选x86仿真环境选vxsim还有PowerPC、ARM平台的各类BSP。宁可盘大一点全装上也不要等发现BSP缺失再补装。GNU工具链绝大多数BSP默认用GNU编译器必选。Diab工具链Wind River自家的商业编译器生成的代码体积和优化效果通常比GNU好但license单独授权。如果你的license包含Diab建议一起装备而不用总比没有强。VxSim模拟器强烈建议装。它可以在宿主机上模拟一个VxWorks目标机没有硬件也能调试系统非常适合前期学习或者验证环境。安装路径默认是C:\WindRiver这个默认路径我建议保留。不要改成C:\Program Files (x86)\WindRiver这类带空格的路径更不要用中文路径。老工具链对路径里的空格和特殊字符很敏感编译时经常报一些莫名其妙的问题排查起来特别痛苦。安装过程中会询问license配置如果暂时不确定可以先跳过后面通过环境变量补上不影响安装本身。2.2 许可证配置的三种常见方式许可证是这套环境最容易出问题的地方。WorkBench 3.2用的是FlexNet许可证体系根据你拿到的授权类型常见有三种配置方式。第一种是单机节点锁定license。这种license绑定了主机名或网卡MAC地址文件形式一般是一个license.dat或.lic文件。使用方式最简单把license文件放到一个固定目录比如C:\WindRiver\license\然后在系统环境变量里新建一个WIND_LICENSE_FILE值填这个文件的完整路径比如C:\WindRiver\license\license.dat。有些版本也认LM_LICENSE_FILE这个变量保险起见可以两个都设成同样的值。第二种是浮动license。这种授权不需要在本地放license文件只需要知道license服务器的IP和端口。设置方法同样是在环境变量里配WIND_LICENSE_FILE值填端口服务器IP的格式比如1055192.168.1.10。注意1024以下端口需要管理员权限Wind River历史上喜欢用1055或更高一些的端口具体以你的license服务器实际监听端口为准两边一致就行。第三种是通过Wind River License Server管理界面导入。在开始菜单里找到Wind River License Server相关工具或者直接在Windows服务管理器里找到同名服务确认它的运行状态。如果服务没有启动先启动服务再把license文件通过管理界面导入。导入后可以在WorkBench里打开Help菜单下的About、Licensing相关页面确认license是否已经生效。我自己的经验是配置完环境变量后最好重启一次WorkBench让它重新读取授权信息。如果启动时弹窗提示找不到license优先检查环境变量是否设置正确、路径有没有拼错、服务器端口通不通这三件事。3. 创建并编译VxWorks 6.8镜像工程3.1 新建Image工程和BSP选择安装完成后第一次启动WorkBench会要求选一个workspace目录。这个目录用来存放工作区配置建议放在C:\WindRiver\workspace之类的位置同样不要用中文路径。进入主界面后创建工程的操作路径是File - New - Project在弹出的向导里选择Wind River Workbench Project继续下一步会看到工程类型列表这里选VxWorks 6.x Image Project。这个类型会生成一个完整的VxWorks系统镜像工程包含内核配置、驱动和应用框架。接着是BSP选择。BSP决定了内核如何针对特定硬件初始化CPU、内存、串口和网卡。WorkBench 3.2自带的BSP列表不少安装时如果全选了这里能看到几十个选项。拿最常见的来说x86适用于普通PC架构的工控机、一体机很多学习场景用它。vxsim这是VxSim模拟器的BSP选它可以在宿主机上直接跑VxWorks镜像不需要真实硬件。其他基于具体板卡的BSP比如PowerPC系列、ARM系列按硬件手册选。如果你的目标板手册里写了BSP名称按手册选如果只是想在PC上学习我推荐直接用x86或者vxsim。选择完BSP后还有一个工具链选择页面一般有GNU和Diab两个选项。没有额外Diab授权就用GNU它调试信息全编译出来的镜像稳定可靠够用了。完成后工程树里会出现一个Image工程通常还会自动生成对应的bootloader工程名字类似xxx_bootrom后面编译引导程序时会用到。3.2 内核组件裁剪与镜像编译VxWorks 6.8的内核是可以按需裁剪的。在Image工程里双击VxWorks Image Configuration配置文件不同版本UI略有差异会打开一个小型组件管理视图。左边是组件树按功能分类比如网络协议栈、文件系统、调试代理、设备驱动等右边是对应组件的属性说明。默认配置能编译出一个功能齐全的镜像但体积偏大启动时还会加载很多你用不到的服务。实际做产品时为了减小镜像、加快启动速度通常会把不需要的组件去掉。裁剪组件时要小心依赖关系。有些组件是核心依赖比如内核基础服务、内存管理手动去掉会导致编译失败甚至启动panic。WorkBench的组件视图里一般会标出依赖关系当你尝试去掉某个被依赖的组件时它会给出警告。我自己的原则是先保留默认配置跑通一次编译确认环境和流程都没问题再慢慢调整组件这样定位问题容易得多。组件配置完成后右键工程名选择Build Project开始编译。第一次编译时间比较长尤其是完整BSP加默认组件可能得等几分钟不要以为是卡死了。编译日志会打印每个目标的构建过程如果出现报错先看是不是BSP路径问题或者工具链没对齐后面我会专门列常见错误。编译成功后镜像输出一般在工程的default目录下主要产物有这几个vxWorksELF格式的内核镜像是所有引导方式的最终加载对象。vxWorks.sym带符号表的版本用于调试时显示函数名和变量名。bootrom、bootrom_uncmp、bootrom_res等引导程序的不同变体负责把vxWorks从宿主机加载到目标机内存。如果你是x86目标机可以把bootrom写入U盘或者通过其他引导器启动如果是开发板通常由板载U-Boot等引导程序加载vxWorks镜像。这一步建议多看目标板的硬件手册不同平台的引导细节差别很大。4. 把VxWorks跑起来Target Server与目标机引导4.1 Target Server配置实例编译出vxWorks镜像只是第一步真正让WorkBench和目标机建立起调试关系靠的是Target Server。Target Server是WorkBench这边的一个服务进程负责通过WDB协议与目标机上的调试代理通信。没有它WorkBench就看不到目标机上的任务、内存和信号量也就没办法真正调试。在WorkBench工具栏上有一个Target Server图标点击下拉菜单选择Target Server Configuration打开配置面板。点击New新建一个配置核心配置项有以下几个Backend类型最常用的是Networkwdbrpc也就是通过网络连接目标机Serialwdbcom用串口连接适合没有网络的老设备Simulatorwdbsim专门连接VxSim模拟器不需要硬件。目标机IP如果选Network填目标机实际的IP地址。FTP根目录这里填vxWorks镜像所在目录。WorkBench启动Target Server时会拉起一个内置FTP服务目标机引导时需要从这个目录下载vxWorks镜像。这个路径必须指向工程编译输出目录比如xxx工程下的default目录。启动行参数一般可以先用默认值真机调试时再按照4.2节调整。配置完成后点击LaunchTarget Server会进入监听状态界面上能看到类似Listening的提示。要注意Target Server启动时如果开了系统防火墙可能会弹出拦截提示记得允许访问否则后面目标机怎么也连不上。4.2 boot line引导参数详解网络下载镜像全链路目标机要启动VxWorks典型链路是这样的目标机先运行一段引导程序bootrombootrom里配置了一组引导参数也就是boot line它根据这些参数从宿主机FTP服务器下载vxWorks镜像到本地内存然后跳转执行。VxWorks内核跑起来后WDB调试代理会反向连接WorkBench的Target Server两边握手成功IDE里就显示Connected。我用x86目标机举例boot line的常用参数如下表所示参数示例值说明boot deviceei0网卡驱动名不同BSP和网卡不同unit number0网卡单元号processor number0多处理器系统中的CPU编号host namehost宿主机名可省略file namevxWorks要下载的内核镜像文件名inet on ethernet (e)192.168.1.88:ffffff00目标机IP和子网掩码host inet address (h)192.168.1.10宿主机IPuser (u)targetFTP登录用户名ftp password (pw)targetFTP登录密码flags (f)0x0引导标志默认0target name (tn)vxTarget目标机名称标识宿主机IP、目标机IP、掩码这几个值必须准确尤其是子网掩码不一致就Ping不通。FTP用户名密码要和WorkBench内置FTP服务的配置一致Wind River默认就是target/target。我一般的工作顺序是先在WorkBench里启动Target Server再去给目标机上电进bootrom然后修改boot line最后执行引导命令。这样确保FTP服务先就绪不会出现bootrom下载时FTP还没监听的情况。如果你用的是VxSim流程更简单Target Server的Backend选择Simulator(wdbsim)直接LaunchWorkBench会自动拉起一个仿真VxWorks实例不需要配置boot line。这也是我推荐新手用VxSim的原因它能把“环境问题”和“硬件问题”隔离开。5. 踩坑实录常见问题与排查方法5.1 许可证相关典型问题license问题是安装后出现频率最高的几乎每个人都会碰到。最常见的是启动WorkBench时弹窗提示Unable to obtain license或者找不到license文件。遇到这种问题我先按顺序做三件事第一确认环境变量WIND_LICENSE_FILE已经设置并且路径或端口格式正确第二确认license文件真实存在于路径指向的位置文件没放对地方是最低级的错误第三如果用的浮动license在宿主机上ping一下license服务器IP再检查服务器的license服务是否正常监听端口。还有一个容易被忽视的问题是时间不同步。FlexNet授权体系对时间很敏感开发机时钟和license服务器时钟相差太多授权会被判定为无效。另外节点锁定的license绑定主机信息把license.dat拷贝到另一台机器是无效的必须申请对应新机器的license或者改用浮动license。如果你用的Diab编译器同样需要license不要只配置了VxWorks授权就以为全部搞定编译时提示找不到Diab license就得检查Diab相关的许可配置。5.2 编译与连接目标机问题编译报错最常见的几类一个是提示找不到BSP这说明安装时BSP没有选全回去补装对应BSP即可一个是提示编译器路径不对检查一下环境变量WIND_BASE是不是指向了vxworks-6.8安装目录还有一个是路径里有空格或中文导致make中断把工程放到干净路径下再编译。编译错误日志里一般会给出具体源文件定位起来难度不大真正玄学的是那种偶发的“No rule to make target”错误多半是BSP缓存问题Clean一下工程再重新Build。Target Server一直Waiting连不上目标机这个我也折腾过挺久。排查思路是分层的先看宿主机和目标机能不能ping通同一个交换机或者直连都行再看boot line里宿主机IP、目标机IP、掩码是不是正确FTP用户名密码和WorkBench内置FTP是否一致。可以在宿主机命令行里手动敲ftpip用target/target登录看看能不能看到vxWorks文件如果这一步不通过说明FTP服务本身没配好。最后再检查Windows防火墙WorkBench进程和FTP相关端口都要放行。很多次连不上最后发现就是防火墙把FTP挡住了。5.3 Windows 10/11及64位系统的兼容问题如果你非要在Windows 10或Windows 11上安装WorkBench 3.2我不是特别推荐但确实有人这样用。实测下来安装程序本身可以启动不过最好右键setup.exe在属性里把兼容模式调到Windows 7同时以管理员身份运行。安装路径不要用Program Files直接装到C:\WindRiver。启动WorkBench后如果界面渲染异常或菜单点不开可以尝试在eclipse.exe的兼容性设置里也开Windows 7模式。真正麻烦的是license server服务在Win10/11上可能安装不上或启动后立刻停止。这个没有特别优雅的软件层面解决办法我的建议还是上虚拟机。用VMware或VirtualBox装一个32位Windows 7在虚拟机里完成全部开发和调试把共享文件夹配好镜像文件和工程文件放在共享目录里就能无缝交换。我在实际项目里就是这么干的虚拟机环境下WorkBench 3.2非常稳定基本没有兼容性烦恼。最后再分享一点我的习惯每次搭完环境我都不会急着接真机而是先创建一个基于vxsim的调试工程用模拟器把WorkBench的编译、下载、调试全链路跑通。确认license、编译器、工程模板这些基础组件都没问题再去连接真实目标板。这样一旦真机连不上问题范围就缩小到网络、boot line、BSP这三个方面排查效率高很多。另外建议把安装光盘、license文件、目标板BSP手册、以及配置好的虚拟机镜像都备份好老工具链的资源现在越来越难找多留一份备份就是给自己省一次满网翻资料的麻烦。
返回列表