概述
VxWorks是风河公司(Windriver)开发的实时操作系统之一,以其优秀的可靠性、实时性及内核的可裁减性,被广泛应用于通信、军事、航天、航空等关键行业领域。VxWorks可以适用于多种硬件体系结构,其中也包括大家日常都可以接触到的PC体系结构。
VMWare 是被广泛应用虚拟PC系统软件,他可以提供基于Inetl CPU的虚拟PC系统环境,包括CPU、BIOS、硬盘和其他外围硬件设备,使您可以在一台PC机上同时运行两个操作系统。VMWare对外围硬件设备的模拟,屏蔽了不同设备型号的差异,在硬件环境发生改变时(硬件型号变化),对于运行于VMWare上的操作系统影响很小(无须安装新的驱动程序)。
本文以下部分将介绍如何在VMWare软件提供的虚拟环境上安装VxWorks操作系统。由于可以在同一台PC机上建立完整VxWorks开发环境,所以可以有效地降低项目初期的开发成本,也可以为初学者提供一个接近于真实的模拟环境。
需要注意的是,由于VMWare本身是运行在Windows操作系统之上的,而VxWorks运行于VMWare之上,所以这个模拟环境无法保证VxWorks的实时特性。
准备工作
我们假设您有一台普通配置的PC机,并安装了Windows2000操作系统。其次您需要安装Tornado 2.2 for pcPentium开发环境。缺省安装的Tornado 2.2 for pcPentium可能不包括pcPentium的BSP组件,但该组件可以从风河公司(Windriver)的网站免费下载。
我们将在下文以WIND_BASE引用Tornado的安装路径。
其次是要安装VMWare软件,这里我们使用4.0的版本。如果您还没有该软件,也可以从VMWare的网站下载试用版。
最后,由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD的PC-NET网卡的VxWorks系统驱动,可以从AMD网站免费下载。
一张1.44M的软盘,用于制作系统引导盘。
准备并安装好以上软件后,就可以开始下一步的工作了。
开始安装
编译网卡驱动程序
VMWare为运行于其上的操作系统提供虚拟网卡支持,该网卡类型即为AMD的PC-NET。实际上,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过测试,对于VMWare无法正常工作,所以您需要从AMD的网站下载最新的驱动程序。
下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到Tornado目录下。如果提示是否允许覆盖文件,则选择允许。
此后按如下步骤完成驱动程序的编译和替换:
- 打开一个控制台窗口,运行批处理程序:$(WIND_BASE)\host\x86-win32\bin\ torVars.bat;
- 重新定位到$(WIND_BASE)\target\src\drv\end目录,运行:
make CPU=PENTIUM tool=gnu ln97xend.o
其间会产生一些警告,但这不会影响我们的工作。
- 重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xend.o复制到此目录下。备份此目录下的文件libdrv.a;
- 运行命令arpentium -d libdrv.a ln97xEnd.o,删除libdrv.a中原有的ln97xEnd模块,然后再运行命令:
arpentium -ra iOlicomEnd.o libdrv.a ln97xEnd.o
将我们刚刚创建的新模块添加进去。
到此有关网卡驱动的设置就完成了。注意不要关闭这个窗口,后面还要使用。
修改配置文件
在这一节中,我们要修改编译VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEnd.c这个文件,以使系统的网络功能正常运行。
- 定位目录到$(WIND_BASE)\target\config\pcPentium并打开该目录下Config.h文件;
- 我们首先要修改VxWorks的启动参数。先查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM分支下的定义如下:
#define DEFAULT_BOOT_LINE \
"lnPci(0,0)your_host_name:d:\\vxWorks h=192.168.80.169 e=192.168.80.254 u=target pw=vxworks tn=target"
其中:
- lnPci(0,0)指定了使用第0个网卡和第0个处理器,lnPci这个标识会因为使用的驱动程序不同而有所不同,但这里用lnPci就可以了;
- your_host_name指定您的主机的名字,使用Windows系统的主机名就可以;
- d:\\vxWorks指定了VxWorks映象下载的完整路径;
- h=192.168.80.169是主机的IP地址,就是您当前正在使用的系统的IP地址;
- e=192.168.80.254是目标机的IP地址,也就是未来VxWorks操作系统的IP地址,您只要任意指定一个不冲突的IP地址即可,这里我们假设您的目标机IP地址和主机IP地址在同一个网段内;
- u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks映象的,后面还会提到;
- pw=vxwroks是用户名对应的口令;
- tn=target指定目标机的名字,任意指定即可;
您可以参考Tornado自带的手册以获取更多信息;
- 下面我们要指定使用什么样的网卡驱动程序。首先查找“Network driver options”这段文字,之后您可以看到在该注释后面定义了一系列的有关网卡驱动的宏定义。注意保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef);
- 缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态。我们查找定位宏INCLUDE_PC_CONSOLE,然后保证其处于定义状态(define)即可;
- 到此为止,对config.h文件的修改就完成了,保存修改,然后再打开同一目录下的sysLn97xEnd.c文件;
- 这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,这样就可以了。最后别忘了保存。
到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。
编译程序
这一节我们要编译生成bootrom引导程序和VxWorks运行映象。
- 打开您的Tornado开发工具,在Build菜单下选择Build Boot ROM,弹出如下对话框:
在BSP列表中选择pcPentium,而在Image to build列表中分别选择bootrom和gnu。完成选择后,点击OK按钮就开始引导程序的编译了。编译产生的文件bootrom将保存在$(WIND_BASE)\target\config\pcPentium目录下。
- 编译生成bootrom后,还要创建一个VxWorks映象(image),也就是VxWorks操作系统本身的代码。
- 创建一个“bootable VxWorks image”的工程;
- 选择您需要的VxWorks组件。这一步是可选的,如果您只想使用缺省的配置,那根本就不需要这一步;但如果您想使用额外的组件,例如,您可能想通过telnet连接VxWorks系统,这时就需要在Workspace窗口的VxWorks选项卡中选择telnet sever对应的组件,如下图:
在这个例子中我们选择了两个重要的组件:Telnet server 和 Target shell 。前者使我们可以通过Telnet协议登录到VxWorks操作系统中;后者则可以让我们通过命令行控制VxWorks系统。
- 到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。这里还要提醒读者,在您每次修改完系统的配置信息(如:config.h)后,都要重新创建一个工程来编译VxWorks映象,以免出现代码不一致的问题。
- 将生成的名为“vxworks”的文件复制到D盘根目录下。这个路径是由上面我们所设置的DEFAULT_BOOT_LINE宏中的路径参数决定的,必须保持二者一致。
制作引导磁盘
现在开始制作VxWorks系统引导磁盘,用于引导装载VxWorks运行映象。
我们回到“编译网卡驱动程序”一节中所打开的控制台窗口,定位目录到$(WIND_BASE)\target\config\pcPentium,插入您已经格式化好的软盘,然后运行:
mkboot a: bootrom
该命令将在软盘上建立VxWorks系统引导分区,并将引导程序复制到软盘上。
这里再额外向您介绍一个虚拟软盘的工具:RamDiskNT,它可以在内存中建立一个虚拟的软盘,对于提高VxWorks的启动速度有很大帮助。
配置FTP服务器
这里的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象。我们这里使用Tornado开发环境自带的FTP服务器。
- 打开Tornado FTP Server,选择“Security”菜单下的“Users/Rights”子菜单,弹出如下对话框:
当User Name为“target”时,修改“Home Directory”为D盘根目录(此路径由上面的DEFAULT_BOOT_LINE参数决定),同时修改口令为“vxworks”,最后点击“Done”按钮完成修改;
- 为了便于调试,我们还要打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,弹出如下对话框,其中除了“Winsock Calls”外,让其他选项全都处于开启状态。
- 保持FTP Server窗口处于打开状态(这样FTP服务器就处于运行状态)。
创建VxWorks系统
- 打开您的VMWare Workstation,在File->New菜单下选择创建一个新的虚拟机(Virtual Machine),按照其向导帮助,完成虚拟机的配置。在选择操作系统类型时,选择“Other”,其余选项均使用缺省值就可以了。
- 完成以上配置后,点击右侧窗口中的“Start this virtual machine”,系统即开始引导运行,如下图所示:
在引导过程中,您会遇到一个7秒钟的等待,以决定是使用缺省的引导参数,还是手动输入引导参数。这里我们选择前者,所以不需要做任何工作。
成功引导后,系统会自动从FTP Server下载映象,并开始运行,得到如下画面:
到此,我们已经成功的在VMWare上安装了VxWorks操作系统。
需要注意的是,上面的画面会因为选择组件的不同而略微有所不同(例如,如果您没有选择target shell,就不会出现命令行提示符),但一般不会影响后续操作。
配置联机调试环境
装好系统后,您肯定还希望将自己编写的应用程序下载到目标机进行调试,下面我们就完成这一部分的配置工作。
打开您的Tornado开发环境,选择“Tools->Target Server->Configure”菜单,弹出如下对话框:
在“Description”中任意填写一个名字,这里是“net00”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“192.168.80.254”(由DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一项中选择您的映象的完整路径,这里是“D:\vxWorks”(由DEFAULT_BOOT_LINE参数决定)。
完成以上两项配置,点击“Launch”按钮,就可以启动Target Server了。
再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择“192.168.80.254@your_host_name”。这时您会发现工具条中一些原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。
现在您就可以开始联机调试您的VxWorks应用程序了。
参考
http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_6629_2452^2454^2488,00.html
分享到:
相关推荐
本文档将指导您在 VMWare 平台上安装 VxWorks 操作系统,涵盖了准备工作、安装编译网卡驱动程序、修改配置文件等步骤。 准备工作 在开始安装 VxWorks 操作系统之前,您需要准备以下软件和工具: * 一台普通配置的...
本文将详细介绍如何在VMware上安装VxWorks操作系统,这是一个专为嵌入式系统设计的实时操作系统(RTOS)。通过这个过程,你将了解虚拟化环境中的操作系统安装步骤以及VxWorks的一些基本特性。 首先,我们需要准备...
总的来说,这份“VxWorks学习笔记——实战之在VMWare上安装VxWorks操作系统”文档将深入浅出地介绍如何在虚拟环境中搭建VxWorks开发环境,以及如何利用其强大的实时性、安全性、多任务处理等功能。对于想要涉足...
按照安装向导进行,确保在安装过程中选择正确的安装选项以支持VxWorks。 2. **获取VxWorks映像文件**:VxWorks的安装通常需要特定的ISO或硬盘映像文件。这些文件可能包含在提供的压缩包中,或者需要从Wind River的...
本文将介绍如何在 VMWare 软件提供的虚拟环境上安装 VxWorks 操作系统。 在安装 VxWorks 之前,需要准备以下软件和工具: * Windows 2000 操作系统 * Tornado 2.2 for pcPentium 开发环境 * VMWare 软件(版本 ...
VMware是一款流行的虚拟化软件,它允许你在一台物理机器上运行多个独立的操作系统实例。你需要在VMware上创建一个新的虚拟机来安装VxWorks。 1. **创建虚拟机** - 打开VMware,点击“创建/打开” -> “新建虚拟机...
在Windows 7 64位操作系统中,使用VMware虚拟机安装VxWorks是一个常见的实践,这使得开发者可以在不改变主机系统的情况下,测试和开发基于VxWorks的操作系统。VxWorks是由Wind River Systems开发的一款实时操作系统...
这是一个在虚拟机上运行VXWORKS最小系统的文档,比较详细的介绍了实现步骤,其中涉及比较多的知识,可以在已经运行vxworks的虚拟机上开发调试一些简单的运用程序
### VmWare上安装VxWorks操作系统的详细指南 #### 一、引言 随着嵌入式系统的广泛应用和发展,VxWorks作为一种实时操作系统,在许多领域得到了广泛应用。然而,由于其特殊的开发环境要求,如何在现代计算机环境中...
`vm.iso`是关键文件,它是一个ISO映像,用于在VMware中模拟一个光驱,以便于安装或启动VXWorks操作系统。ISO映像是光盘内容的数字副本,可以被虚拟机识别为物理光盘,从而加载并运行VXWorks。 `note.txt`可能是安装...
总的来说,这些资源将帮助用户从零开始了解和掌握如何在VMware虚拟机中建立并运行VxWorks操作系统,无论你是初学者还是有一定经验的开发者,都能从中获益。通过学习这些教程,你可以了解VxWorks的启动过程、VMware...
总之,VMware下的VxWorks 6.9安装运行指南涵盖了从创建虚拟机、安装操作系统、设置开发环境到实际编程和调试的全过程。通过这个指南,开发者可以快速地在虚拟环境中搭建起VxWorks开发环境,进而实现高效、可靠的...
在VMware上安装VxWorks操作系统的过程如下: 首先,确保你的PC已安装Windows 2000操作系统。然后,你需要安装Tornado 2.2 for pcPentium开发环境,这是VxWorks的开发工具。如果Tornado的默认安装包中不包含...
本篇文章将深入探讨“vmware12.0 BSP(板级支持包)for vxWorks6.9”的相关知识,包括vxWorks6.9操作系统在vmware12.0虚拟化平台上的移植过程、BSP的作用以及驱动程序的支持。 首先,让我们理解什么是BSP。BSP,即...
在了解VxWorks Tornado2.2在VMWare上安装流程之前,我们首先需要掌握VxWorks和Tornado的基础知识,以及了解VMWare虚拟化技术的相关内容。VxWorks是一款由风河公司开发的嵌入式实时操作系统(RTOS),广泛应用于航空...