
你要是没在Windows XP上碰过Tornado 2.2大概很难理解为什么都2024年了还有人专门搭一台XP虚拟机就为了跑一个老得掉牙的IDE。我这两年因为维护历史项目被这套组合反复折腾过从“装不上”到“编译不过”再到“Target Server连不上”全都踩过一遍。真正理顺之后回头看安装流程本身并不复杂坑全藏在细节里。这篇文章就从零开始把在WinXP上装好Tornado 2.2的完整过程、关键配置、工程创建和常见故障都摊开讲。不管是维护VxWorks 5.5老设备的工程师还是学校实验室里需要复现老实验的同学照着这篇做基本能少走好几天的弯路。1. 为什么现在还要碰WinXP和Tornado 2.21.1 这套老环境的现实用途Tornado 2.2是风河公司经典的嵌入式集成开发环境配套VxWorks 5.5实时操作系统很多工业设备、通信设备、医疗仪器和军工产品至今还在跑这套系统。设备寿命动辄十年以上生产线的老设备一旦出问题现场就得有能编译、能调试老版本BSP的环境。另外很多高校的嵌入式课程和科研项目还在用VxWorks 5.5因为教材、实验指导书、上位机软件都是按这套环境写的。VxWorks 6.x之后IDE变成了Workbench界面和工程结构改动太大老实验没法直接平迁过去。Tornado 2.2里的WindSh、Tornado Browser、CrossWind调试器这些工具在老一代工程师手里用得非常顺换新工具反而效率低。最关键的一点老工程和老BSP是绑定IDE版本的。VxWorks 5.5的BSP如果强行用新版工具链编译光是头文件路径、宏定义、链接脚本的兼容问题就够喝一壶。所以“在新电脑上复制一套当年的开发环境”不是情怀问题是实打实的工程需求。1.2 先分清你手里的Tornado 2.2是什么版本安装之前先确认手头安装包的具体形态。Tornado 2.2有不同的宿主版本常见的有Windows版、Solaris版、HP-UX版咱们这里只说Windows版。Windows版也要看是2.0还是2.2两者界面和工程文件格式有些差异网上教程经常混着写容易把人带沟里。还要看配套的编译器。Tornado 2.2默认带GNU工具链常见的是GNU 3.0.2部分版本会带GNU 3.4.4如果BSP要求Diab编译器那就得额外装Diab的编译套件。工程实践里x86 BSP和ARM BSP对编译器的要求不完全一样安装时最好把GNU和Diab都勾上不然后面换BSP的时候又得重新翻安装包。安装介质一般是CD-ROM或者ISO镜像。我建议不管拿到的是光盘还是网盘分发的ISO都先把整个安装目录复制到本地硬盘再执行安装别直接挂载光盘或者虚拟光驱安装。老安装程序读盘能力差光盘有一点划痕或者ISO挂载速度不稳定就容易中途报错“无法复制文件”。复制到本地是最稳的。2. 安装前的环境准备2.1 虚拟机方案搭建WinXP现在很难找到一台原生支持XP的物理机了好在Tornado 2.2在虚拟机里跑得很稳定。我用的比较多的是VMware WorkstationVirtualBox也能装但VMware的虚拟硬件兼容性对老系统更友好尤其是USB加密狗和网卡MAC地址的处理。创建虚拟机时操作系统类型选“Windows XP Professional”注意一定要选32位的版本不要选64位。内存给1GB就非常充裕XP配512MB都能流畅跑Tornado我给的是1GB编译大工程时会舒服点。硬盘建议20GB固定大小分配不要用动态扩展因为后面编译VxWorks镜像、装目标机模拟器、存工程文件十几GB很常见。网络模式用NAT就可以如果后面要连真实目标机调试再改成桥接模式。XP装好后第一件事是装VMware Tools不然分辨率只有800x600屏幕放大缩小还卡。VMware Tools装完再检查一下系统时间。这一步很多人忽略但非常关键老License普遍绑定时间虚拟机如果从快照恢复时间可能会跳导致License验证失败。我的习惯是把XP设为自动同步内网时间源并且做快照之前先校准一遍系统时间。2.2 安装包与License授权准备安装包来源建议走正规渠道。公司有正版授权就找IT要安装介质和License文件学校实验室也通常有历史采购记录。如果是从不可信网站下的所谓“精简版”“绿色版”一方面可能缺组件导致安装失败更麻烦的是可能被植入恶意代码这种老系统一旦中毒整个项目环境就废了。License文件常见的有两种形式一种是单机授权一个License文件对应一台机器通过网卡MAC或者硬盘序列号锁定另一种是浮动License走FLEXlm服务器。单机的比较简单把license.dat或wind.lic放到指定目录就行浮动的需要额外搭一台License服务器设置环境变量指向服务器地址。无论哪种形式安装前都要确认License文件里的hostid和当前主机的硬件标识一致。虚拟机场景下最容易出问题的就是网卡MAC地址虚拟机的MAC如果做成动态变化License会隔一阵就失效。建议在虚拟机配置文件里把MAC地址固定下来后面我会专门讲怎么操作。2.3 安装前的系统设置与兼容性检查XP系统建议升级到SP2或SP3补丁太老的话Tornado自带的一些运行库可能跑不起来。装完系统先别着急装Tornado先把防火墙和杀毒软件关了或者装完Tornado之后把整个安装目录加白名单。老工具里的host exe文件经常被杀毒软件误报我见过好几台机器装完一切正常第二天一杀毒Tornado启动就报缺dll一看是被隔离了。另外安装操作系统的账号名和计算机名最好都用英文。Tornado 2.2这个年代的软件对多字节路径的支持很差中文用户名会导致临时目录、工程默认路径里出现中文字符后面编译时GNU工具链会报一堆莫名其妙的错误。曾经接手过一台机器系统用户名是中文装Tornado没问题但每次建工程都失败最后重装系统才解决。如果安装程序在XP上右键没有反应或者双击没窗口可以在setup.exe上右键选“兼容性”勾选“用兼容模式运行”系统选Windows 2000。这个一般不常用但遇到老旧安装包闪退时可以试试。3. 逐步完成Tornado 2.2安装3.1 启动安装程序与安装模式选择把安装目录复制到本地后找到install目录下的setup.exe双击运行。Tornado 2.2的安装向导是老式InstallShield风格界面看着简陋但步骤逻辑很清晰。进去第一步通常是选择安装方式有Full Installation和Custom Installation两种。我的建议是第一次装就选Custom Installation不要偷懒选Full。Full会把所有平台的工具链都装一遍既占空间又容易在后期干扰环境变量路径而且有些组件在XP上根本没有对应版本装上去也是摆设。Custom可以清楚看到每个组件是什么、占多大空间顺便排查安装包是否完整。安装过程中会有一步要求填写注册信息包括公司名称、主机名、授权类型。这些信息安装后也能改但最好一次填对尤其是主机名必须和系统“计算机名”一致License校验的时候会对这个。曾经遇到过明明License文件没问题程序就是报“hostname mismatch”后来发现是系统的NetBIOS名称和TCP/IP主机名不一致导致的。3.2 组件勾选与安装路径决策组件勾选这一块是重点我按实际使用经验给一个参考清单Tornado核心组件必须装这是IDE主程序包含工程管理、编辑器、Browser浏览器。WindShTornado Shell必须装老工程师都习惯用WindSh敲命令调试这比图形界面效率高很多。Tornado Project Facility必须装创建和管理VxWorks工程就靠它。Target Server必须装没有它就没法和目标机通信VxSim模拟器也得依赖它。GNU工具链必须装默认的交叉编译器就是GNU除非你确定只用Diab。Diab编译器可选如果后续要编译依赖Diab的BSP就装上占空间也不大。VxSim模拟器建议装没有真实目标机的时候用它在本地跑VxWorks镜像做功能验证非常方便。HTML文档可选空间紧张可以先不装文档可以放到共享目录里按需查阅。安装路径我强烈建议用默认的C:\Tornado2.2。原因很简单安装程序、后续补丁、还有各种网上流传的脚本、makefile都是按这个路径写的改了路径有些环境变量初始化脚本可能找不到文件。如果C盘确实紧张可以装到D盘但路径中间不要带空格更不要带中文比如D:\Tornado2.2可以D:\Program Files\Tornado就不行。3.3 License注册与关键环境变量配置安装完成后License注册这一步决定能否正常启动Tornado。单机License文件通常需要复制到安装目录下的license目录有的版本也允许放在任意路径然后通过环境变量指向它。我的习惯是统一放在C:\Tornado2.2\license\下面文件名叫license.dat这样最保险。接下来配置环境变量。在“我的电脑”右键属性切到“高级”选项卡点“环境变量”。在“系统变量”里新建或确认以下几项WIND_BASE值设为C:\Tornado2.2这是Tornado根目录很多脚本都靠它定位安装位置。WIND_HOST_TYPE值设为x86-win32告诉工具链当前宿主是Windows平台。PATH在原有值后面追加C:\Tornado2.2\host\x86-win32\bin这是WindSh和各类命令行工具的目录。LM_LICENSE_FILE如果使用FLEXlm浮动License这里填License服务器的端口和地址格式是porthostname。装完之后可以在开始菜单里找“Wind River”程序组里面应该有“Tornado 2.2”主程序。第一次启动时如果弹出License验证窗口说明环境变量还没生效注销一下系统或者重开终端再试。3.4 验证安装第一个工程的创建与编译环境变量配好、License验证通过后别急着写业务代码先做一个最简单的工程验证整个工具链。打开Tornado点File菜单选New Project。工程类型选BootableVxWorks镜像工程这个类型会生成一个完整的可启动VxWorks系统最适合验证BSP和编译器。在工程向导里选择BSP如果你的目标平台是x86选x86或PENTIUM目录下的BSP如果是ARM选对应的ARM BSP。没有硬件的话直接选VxSimSimulator相关BSP这是用模拟器做目标机。创建完成后无需改任何配置直接点Build按钮。第一次编译会比较慢GNU工具链还要处理依赖关系和头文件。看到控制台输出“build complete”就说明整条链路已经通了。到这一步Tornado 2.2在WinXP上的安装才算真正画上句号。4. 实操过程中的关键细节与心得4.1 从“能装上”到“能编译”的环境配置细节很多帖子讲安装只写到“启动成功”就停了实际干活时第一关就是编译链。Tornado 2.2默认的工程配置里编译器路径是从PATH环境变量里找的。如果PATH里没有把Tornado的bin目录放进去或者放的位置太靠后编译时会报“cc1plus: not found”或者“make: command not found”。检查方法很简单打开命令行窗口输入windsh回车能进入WindSh界面基本就正常。再看编译器的路径输入cc1plus --version如果能打出版本号环境变量就对了。这里要注意Windows自带的PATH里可能有其他开发工具的目录尽量把Tornado的目录排在前面避免工具混淆。另一个常见的问题是工程路径。建工程时默认会放在C:\Tornado2.2\target\proj目录下如果手动改到某个中文目录或者带空格的目录GNU工具链会报“path has invalid character”。我的做法是在D盘根目录建一个纯英文的workspace目录比如D:\vx_workspace所有工程都放这里既方便管理也绕开了路径问题。4.2 网络与Target Server连接的排查经验工程能编译之后下一步就是和目标机或模拟器建立连接。Tornado通过Target Server连接目标机连接方式有网络、串口、共享内存等。初学者最容易卡在Target Server连不上我遇到的情况里百分之八十是防火墙拦截了WDB通信端口。解决办法是把XP自带防火墙关掉或者放行Tornado安装目录下的程序。用VxSim模拟器时目标机类型选VxSim/WDB连接方式一般不用改启动后Target Server会自动加载模拟器镜像。用网络连接真实目标机时确认目标机IP和宿主机IP在同一个网段在Target Server配置里填目标机IP和WDB端口号默认17185具体要看目标机BSP配置。串口连接是另一个容易踩坑的点。虚拟机里使用串口要先在VMware虚拟机设置里添加一个串口设备实际开发中常用管道方式连接物理串口或虚拟串口。波特率要和目标机BSP中bootrom里配置的一致常见的是38400或115200。端口号如果被占用Target Server会启动失败错误提示类似“Can not connect to serial port”。4.3 老开发环境的备份与复用技巧Tornado 2.2装好的环境非常脆弱有时候不小心改动一个系统变量或者装了某个杀毒软件整个环境就废了。所以我在装好一套干净环境之后第一件事就是在VMware里给虚拟机做一个快照标注“Tornado 2.2已装好License已验证示例工程编译通过”。后续如果工程环境被搞坏直接回滚快照几分钟就恢复。这个操作看起来简单但真的能救命。有次客户那边改了一个系统环境变量Target Server怎么都连不上排查了一整天也没结果最后回滚快照才想起是变量被改了。另外我习惯把XP虚拟机整体做成一个模板导出为OVF格式放到NAS上。新同事接手老项目时直接把OVF导入改一下主机名和IP就能用省去了重新安装系统和工具的半天时间。这里要提醒一下给同事分发模板前先确认License绑定的是网卡MAC还是用户名如果绑定了MAC导入后需要修改虚拟机配置文件保持MAC不变或者联系授权方重新授权。5. 常见问题排查速查表5.1 安装阶段的典型故障错误现象可能原因处理方法安装到一半提示无法复制文件光驱读取问题或ISO挂载不稳定将安装目录整体复制到本地再安装双击setup.exe无反应安装程序与XP兼容性问题右键-属性-兼容模式选择Windows 2000安装向导界面乱码系统区域语言设置错误将区域和语言选项统一设为“中文(中国)”或“英语(美国)”安装过程极慢杀毒软件实时扫描暂时关闭杀毒软件实时防护安装阶段最有迷惑性的就是“无法复制文件”这个报错。我遇到过一次重新换了个ISO问题依旧最后发现是硬盘坏道导致复制文件失败。所以不仅安装包要好磁盘健康状态也要检查一下。5.2 运行与编译阶段的典型故障错误现象可能原因处理方法启动报License验证失败时间不对、MAC不匹配、环境变量缺失校准系统时间、固定网卡MAC、检查WG_LICENSE_FILE编译报“cc1plus not found”PATH没包含GNU工具链目录检查并补充PATH注销后重试编译报“path has invalid character”工程路径有中文或空格把工程移到纯英文目录WindSh启动后命令无响应License问题或WIND_BASE设置错误检查环境变量确认WIND_BASE指向安装目录创建工程失败提示BSP不存在组件未勾选对应BSP或安装不全重新运行安装程序补充安装目标平台组件License验证失败是最常被低估的问题。老License对时间很敏感XP虚拟机挂起再恢复时间就可能偏差几个小时。虚拟机快照恢复后系统时间甚至可能回到快照点License立刻失效。最好在虚拟机里装个时间同步脚本每次启动自动对时能省很多麻烦。5.3 针对虚拟机的特殊坑虚拟机里跑Tornado还有一个独有的坑VMware的虚拟网卡MAC地址默认会变化。VMware Workstation可以在虚拟机设置里把MAC地址设为固定方法是在.vmx配置文件里增加一行ethernet0.addressType static同时指定ethernet0.address 00:50:56:xx:xx:xx。改完重启虚拟机再重新验证License。内存分配也是个坑。VxSim模拟器在1GB内存的XP虚拟机上跑得很勉强尤其是编译带网络组件的镜像时模拟器内存不足会直接报错。建议XP虚拟机给到2GBWindows XP的32位版本最多只能识别约3.5GB给2GB不会浪费也能让VxSim跑得舒服些。配置较高的新CPU跑老XP虚拟机时偶尔会遇到“ACPI BIOS not found”之类的蓝屏多半是虚拟机硬件的ACPI兼容问题。这种我一般建议把虚拟机兼容版本降低一些在VMware的“虚拟机设置-选项-高级”里调整或者在.vmx文件里改virtualHW.version让它模拟更老的主板芯片组。结尾装好这套环境只是开始真正让人头疼的是之后漫长的Debug过程。我自己也是在几次“回滚快照重来”之后才意识到老工具虽然笨重但只要环境状态固定、路径干净、License稳定它其实是非常可靠的生产工具。最后再分享一个小习惯我会把Tornado安装光盘里的所有PDF文档复制到虚拟机共享目录本地随时可查。VxWorks 5.5的文档在老工程师眼里就是字典很多看起来玄乎的问题翻一下BSP目录下的README和target.nr文件答案其实都写在里面了。