老是在网上看到有新人在问vmWare上运行VxWorks而出现的各种各样的问题。在某人的催促下,出于增长网站访问量的险恶用心,于是决定抽空把vmWare上配置VxWorks的步骤仔细的写一下,同时提供配置好的BSP包,省去新人们学习vxworks的烦恼。呵呵,废话少说,直接进入主题。
1. 涉及的软件资源
1) Tornado2.2/VxWorks5.5
首先当然是vxworks/Tornado了,这里我们以Tornado2.2/vxworks5.5
for X86为例,因为vmWare模拟的是X86体系的CPU系统,所有只能是装Tornado for
X86的了。你没有Tornado,到哪里去找,呵呵,这个就不是我关心的了,自己想办法吧。什么,Tornado/VxWorks是什么东东。。。。那么老兄,我不认识你哈。
2) vmWare虚拟软件
vmWare为一个虚拟软件,可以虚拟出一个逻辑的电脑,它可以提供基于Intel
CPU的虚拟PC系统环境,包括CPU、内存、BIOS、硬盘和其他外围硬件设备。具体的自己百度,下载也请百度吧。我们这里以vmWare6.0为例,其它版本的也一样的,我在4.0,5.5,6.0上都试过,基本上设置步骤都一样。
vmWare的好处就是可以不用去买什么开发板,相当于提供了一个x86的板子,适合新人学习vxworks。当然最大的好处就是随便你怎么折腾它都没有关系,不怕弄坏,省钱环保。
当然,如果你有家人想学电脑,比如要学格式化啊啥的,你又不放心自己的爱机给他们折腾,就给他们装个vmware好了,你就不用胆战心惊的了。
3) 本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件
本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件,主要用于在vmWare上直接当光盘用,里面包含已直接从光盘启动bootrom、直接从光盘启动vxworks、启动win98的dos、从硬盘启动等功能。
如果你比较懒的话,不想怎么去设置,可以直接下载本站的启动ISO文件,直接让vmWare从光盘镜像启动,直接启动里面的bootrom就可以从host上引导vxworks。或者更懒一点,可以直接用光盘里的直接启动vxworks,在vxworks启动后再用Tornado和它连接调试,不过这样不是没有乐趣了不是。
下载地址为: http://www.vxdev.com/html/68/690.htm
4)AMD的ln97网卡驱动及BSP
由于vmWare里面将所有的网卡驱动都模拟成了AMD的一款ln97网卡,而对应VxWorks里的ln97的驱动有些问题不能很好的在vmWare里工作,所有我们要去AMD网站上下一个对应的驱动,同时要对vxworks里的BSP进行修改。
方便起见,本站直接将BSP进行了修改,将修改好了的BSP整个打包给大家可以直接下载。包含了网卡驱动,并已经将sysLn97xEnd.c文件修改好,还有makefile文件的修改也都在里面了。大家也不用去编译库文件。修改的部分大家可以自己在源文件中搜索frank就可以找到了。
下载地址为: http://www.vxdev.com/html/68/693.htm
5) win98启动工具盘映像(可选)
这个主要是利用里面的fdisk工具对vmware的虚拟硬盘进行分区。如果有其他的比如diskman等工具也可以。我试过不进行分区格式化的话,无法实现在vmware的硬盘上启动vxworks。
当然这个为可选项,如果不想设置vmware上硬盘启动的话,可以直接利用本站提供的光盘启动bootrom就可以了。
2.准备工作
1)Tornado2.2 for X86的安装
忽略。 假设tornado安装的目录为d:\tornado22-x86,后面都以这个为假设,不再提。
2) vmWare6.0的安装
安装过程也忽略。
3) 下载用于vmWare上vxworks的BSP包
下载地址为: http://www.vxdev.com/html/68/693.htm
下载下来解压,将解压开的vmware这么个目录整个copy到d:\tornado22-x86\target\config\目录,这样我们的Tornado下就多了个vmware这么个BSP了。
4) 下载本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件
下载地址为: http://www.vxdev.com/html/68/690.htm
假设下载后放的位置为 f:\source\vm.iso
5) 下载本站提供的win98启动工具盘映像(可选)
下载地址为: http://www.vxdev.com/html/68/692.htm
假设下载后放的位置为 f:\source\win98.iso
3.利用本站提供的bootrom启动vxworks步骤
1) 配置vmWare
建立一个vmWare的虚拟机,起名为vxworks,配置的RAM大小为32M足够了,硬盘大小为0.1G(即100M,这个大小足够了,但vmware里面最小只能设这么小了),CDROM设置直接选ISO映像,选f:\source\vm.iso,网卡就设为host-only好了(其他方式也无所谓的),客户操作系统版本选other,其他的随便设了。设置好的如下图
然后配置vmWare的网卡设置。我这边是将vmWare的VM1网卡IP设置的是192.168.102.1,如下图(这个应该不用教的吧)。
2) vxworks的生成
Torando中建立一个bootable的工程,注意BSP选vmware就可以了,一路往下建立工程。
建立工程后大家会发现,ln97xEnd.c文件已经包含在工程中,这是因为我在makefile中已经将此网卡驱动包含进来了。
然后,就是对vxworks进行一些配置,增加一些自己喜欢的模块,比如target
shell等等,然后编译生成vxworks文件。
3) 配置host端的ftp server
ftp server用来将host边的vxworks,通过bootrom直接下载到target的RAM中,然后直接运行vxworks。ftp
server的软件很多,随便的可以。这边方便起见,就用tornado本身带的wftp来示例。运行d:\tornado22-x86\host\x86-win32\bin\
wftpd32.exe,设置用户名,密码,这边都设置为target;设置根目录,对应vxworks生成的目录就可以了。
可以将ftp的log打开
4) 启动vmware下的vxworks虚拟机
启动后,先按F2键进去bios进行设置(手要快点),将启动设备的第一个设为CDROM,然后启动。启动后就会从来本站提供的vxworks
bootrom/win98启动盘的界面,选第一个bootrom启动即可。
默认参数如下,可以用C命令进行修改。
参数改好后,就直接敲 @ 启动vxworks。
启动后的界面如下,这个vxworks里已经包含了target shell。
在host的命令行下,ping一下看看跟vxworks通了没有。
之后,就可以通过tornado的target server跟vxworks连接,进行调试了。
4. 配置vmware的硬盘启动vxworks的方式(可选)
写得好烦啊,一步步抓图可真累啊,后面的就简单点了。
1) 将vmware的配置里的CDROM里ISO文件改成f:\sourec\win98.iso文件,启动vmware,启动后出来一个win98的dos启动盘,选支持CDROM启动。
Win98的dos启动后,可能会有提示说硬盘分区不对。进去光盘目录(可能是D:),
然后运行fdisk,将原有的分区删除,创建新的分区,然后重启。重启后,将C盘进行格式化。这样这个vmWare中的100M的硬盘我们就可以用了哈。
2) 再将将vmware的配置里的CDROM里ISO文件改回f:\sourec\vm.iso文件,启动虚拟机。
出来选择菜单后,选3 pwin98启动,选择支持CDROM启动。启动后,进入光盘目录,里面有bootrom.bin,mkboot.bat,vxsys.com等几个文件。执行
D:> lock C: // 这一步很重要,否则不然往硬盘写bootrom的
D:> mkboot c: bootrom.bin
这样bootrom就写到C盘去了。
3) 启动vmware虚拟机,按F2进入bios设置,将启动项设为硬盘启动。
4) 这样就会从硬盘的bootrom启动了
就先写这么多了,大家有何问题到论坛提问吧。 |