VMware虚拟机模拟VxWorks硬件环境

制作软盘引导盘

        引导盘的意思就是,在没有安装系统机器上引导运行一段程序,在这里要运行程序是BootRom。这一部分将实现通过VMware虚拟机模拟VxWorks硬件环境,通过虚拟软驱模拟软盘来实现引导盘的制作。

BootRom的含义

        BootRom是VxWorks操作系统集成的启动代码,通过它可以和Tornado集成的一些工具进行VxWorks内核的下载和调试工作。在Tornado集成开发环境的Build菜单中可以直接编译BootRom。

        BootRom程序主要有以下几个功能:

  • 通过串口下载操作系统映像。
  •  通过串口升级自身映像。
  • 通过串口下载系统配置文件及系统信息文件。
  • 加载操作系统映像,使其正常启动。

安装VMware和RamDiskNT

        这里使用的VmWare版本为9.0.1,RamDiskNT版本为1.5。VMware可以虚拟VxWorks硬件开发环境,RamDiskNT可以虚拟软驱来实现软盘启动的实验。其安装过程如同Windows其它应用程序的,这里就不总结了。

        1.配置VxWorks硬件环境

        打开VMware软件,单击File | New Virtual Machine命令创建一个名为Other的新虚拟机。关键步骤的截图如下图所示,其它均使用默认设置。

我们选择配置方式为定制方式,如图2.1所示。

技术分享

图2.1  选择配置方式

        现在只需要配置环境不需要安装系统,所以选择暂不安装系统,如图2.2所示。

技术分享

图2.2  系统安装

        VMware中没有提供VxWorks系统的选择,所以系统选择Other版本也选择Other,如图2.3所示。

技术分享

图2.3  选择系统

        2.虚拟一个软驱

        打开RamDiskNT软件会提示是否注册,这里选择Register Later即可。打开RamDiskNT后,选择Disk Type为1.44MB Floppy;Driver Letter为A;勾选Start driver at boot然后单击Start按钮即可。其具体步骤和设置,如图2.4所示。

技术分享

图2.4  创建虚拟软驱

        按照图2.4所示的配置设置好RamDiskNT后,单击OK按钮即完成了虚拟软驱的创建。重新启动后,创建的虚拟软驱才会生效。

虚拟软驱引导BootRom

        要想实现虚拟软驱引导BootRom,首先要通过Tornado集成开发环境编译BootRom,然后通过Tornado提供的命令将BootRom导入到虚拟软驱区。

        1.制作引导盘

        (1)编译BootRom

        打开Tornado 2.2集成开发环境,单击菜单项Build | Buid Boot Rom…命令。在弹出的Buid Boot Rom对话框中使用默认设置并单击OK按钮,即可完成BootRom的编译。如图2.5所示。

技术分享

图2.5  编译BootRom

        生成的BootRom文件可以在C:\Tornado2.2\target\config\pcPentium目录中找到。

        (2)搭建命令环境

        制作引导盘需要通过mkboot命令完成,但是在使用该命令之前需要搭建命令环境。首先打开命令提示符中输入,然后输入C:\Tornado2.2\host\x86-win32\bin\torvars.bat命令,即运行C:\Tornado2.2\host\x86-win32\bin目录下的torvars.bat文件。运行后结果如图2.6所示。

技术分享

图2.6  搭建命令环境结果

        运行torvars.bat后,系统将会为用户设置必要的环境变量和路径,搭建命令环境。从而让用户可以使用一些Tornado所提供的命令,这些操作都将在cmd下完成。要注意,直接双击运行torvars.bat批处理文件是无效的,而且每次需要使用命令都需要在cmd中运行该文件。

        (3)制作引导盘

        在cmd中输入cd C:\Tornado2.2\target\config\pcPentium即可进入到pcPentium目录,因为刚刚编译BootRom时候选的BSP驱动为pcPentium。然后,使用Tornado提供的mkboot命令将BootRom复制到软盘,制作成引导盘。该命令为:mkboot a: bootrom。运行后如图2.7所示。

技术分享

图2.7  制作引导盘

        其中a表示软盘的盘符。该命令首先将一段简短的引导程序写入软盘的引导扇区,然后将bootrom经过处理复制到软盘中,并将其重命名为bootrom.sys。

        2.引导虚拟机

        在引导虚拟机的时候需要将虚拟机设置的软驱指定为A:盘符,但是往往虚拟软驱不能被虚拟机检测到,如图2.8所示。

技术分享

图2.8  虚拟机设置中的软驱

        这时,还需要使用RamDiskNT软件来得到软驱的镜像文件。打开RamDiskNT,单击对话框右下角的Save Disk Image按钮,这时在C盘就会多出一个ramdskNT.img镜像文件。用虚拟机加载该镜像文件引导启动能得到软驱启动相同的效果。虚拟机中的软驱设置,如图2.9所示。

技术分享

图2.9  设置加载软驱镜像文件

        在虚拟机设置中选择软驱镜像文件并单击OK按钮后,在VMware软件中单击绿色三角箭头按钮启动虚拟机,如图2.10所示。

技术分享

图2.10  引导虚拟机结果

        其中,V1.6表示引导程序的版本,连续的’+’号表示引导的进程。根据bootrom的不同,’+’号长度也不同。

图2.10  引导虚拟机结果

       其中,V1.6表示引导程序的版本,连续的’+’号表示引导的进程。根据bootrom的不同,’+’号长度也不同。

        3.支持控制台

       VxWorks 5.5默认情况下不提供控制台的支持。如果需要支持控制台,得修改相应BSP目录下的config.h文件。这里需要修改的文件路径为:C:\Tornado2.2\target\config\pcPentium\config.h。打开config.h文件,查找INCLUDE_PC_CONSOLE,定位到如下宏定义:

#undef INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */
       修改#undef INCLUDE_PC_CONSOLE为#define INCLUDE_PC_CONSOLE。修改后,该宏定义下所示:
#define INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */
       保存修改后的config.h文件,重新执行上面1、2段的制作引导盘和引导虚拟机。最后结果如图2.11所示。

技术分享

图2.11  支持控制台的BootRom

       软盘引导目标机是最简单的办法,也是VxWorks的默认引导办法。当然还有其他类型的引导设备,比如:U盘、硬盘、ROM等。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。