VmWareVxWorks高阶教程.pdf

上传人:b****1 文档编号:3211495 上传时间:2022-11-20 格式:PDF 页数:26 大小:1.29MB
下载 相关 举报
VmWareVxWorks高阶教程.pdf_第1页
第1页 / 共26页
VmWareVxWorks高阶教程.pdf_第2页
第2页 / 共26页
VmWareVxWorks高阶教程.pdf_第3页
第3页 / 共26页
VmWareVxWorks高阶教程.pdf_第4页
第4页 / 共26页
VmWareVxWorks高阶教程.pdf_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

VmWareVxWorks高阶教程.pdf

《VmWareVxWorks高阶教程.pdf》由会员分享,可在线阅读,更多相关《VmWareVxWorks高阶教程.pdf(26页珍藏版)》请在冰豆网上搜索。

VmWareVxWorks高阶教程.pdf

VmWare下跑VxWorks高阶教程tearing&FiNALs首先要感谢论坛的FiNALs兄!

是他在QQ上给我的讲解,使我对vxWorks的各方面有了更进一步的了解。

他又帮我解决了虚拟机vmWare下跑WindML时鼠标一配就死机的问题。

总算、vmWare下的vxWorks环境又进一步真实化了。

目前我知道的不完美的地方还有:

USB貌似只能用U盘串口直连通信还存在只能收一次数据的问题(当时发的一篇帖子,未提到这个BUG)现总结一篇VmWare下跑vxWorks高阶教程,考虑通读性,所以从头起步,写的很细1从ATA硬盘加载bootrom引导vxWorks2通过FTP工具访问虚拟硬盘内容3WindML下配置上PS/2鼠标和PCConsole键盘4简单介绍BSP配置中涉及的文件关系1、先期准备1、先期准备1.1开发环境?

Tornado2.2(或升级到2.2.1)forPentiumCD1(开发环境和基本组件等)&CD2(BSP包)?

WindML3.0(或升级到3.03)?

AMDLn97XEnd网卡驱动补丁包(只需要ln97xEnd.c和ln97xEnd.h提供下载)?

VMware-workstation-5.5.3-34685对初学者建议使用刚安装好的环境,保证pcPentiumBSP包和WindML源码的纯净!

1.2工具MSDOS6.22镜像wsFtp2006(7)FTP工具虚拟软驱RamDiskNT1.52、虚拟机配置2、虚拟机配置2.1安装虚拟软驱(供虚拟硬盘做DOS,和初期拷贝文件使用)保证红圈配置正确后,点击START运行,随后重启电脑,虚拟软驱A应该就出现了2.2新建虚拟机File-New-VirtualMachine-Custom-New-Workstation5-other(other)-指定虚拟机名和保存位置-选单处理器-内存128MB对应VxWorks足以-使用桥接网络-IO适配器选BusLogic-创建虚拟硬盘-类型选择IDE(Recommended)-磁盘空间设置0.25GB(256MB)足以,并勾上立刻分配磁盘空间-最终完成虚拟机配置2.3虚拟硬盘安装DOS双击Floppy,配置软驱,使用软驱镜像,指定dos6.22的img文件后,点Create按钮启动虚拟机后,进入如下界面选择NONE后,进入软驱A:

盘符,运行A:

fdisk创建DOS主分区,一路回车,最后一个回车会使虚拟机重启,再次选择NONEA:

fomatC:

格式化创建的主分区A:

sysC:

成功后提示SystemTransferred这样C盘就安装了最简单的DOS,顺便把以下几个文件从A盘拷贝到C盘A:

copyHIMEM.SYSC:

A:

copyEDIT.COMC:

点击虚拟机停止按钮退出虚拟机,把软驱配置再改回连接物理软驱,如下图所示新建一个config.sys文件,内容如下menumenuitem=Boot_VX,StartwithVxWorks55menuitem=Boot_DOS,StartwithMsDos622menudefault=Boot_VX,3menucolor=7,0Boot_VXdevice=c:

himem.sys/testmem:

offdos=high,umbshell=c:

c:

bootrom.sysBoot_DOSdevice=c:

himem.sys/testmem:

offdos=high,umbCOMMONfiles=40buffers=30remdos=high,umb保存为config.sys文件,然后再准备这个文件:

C:

Tornado2.2hostx86-把把和和config.sys拷贝到软驱A:

盘,如下图注意:

虚拟机在使用物理软驱时,如果软驱A打开了,那么虚拟机会报警,停掉虚拟机,把软驱A的窗口关闭,再重新启动虚拟机即可启动虚拟机,因为此时软驱A无系统,所以会提示无效的系统盘,如图所示所以重启虚拟机,按F2,改BIOS,改首启动为HardDrive启动(按数字0旁边的减号键可以把RemovableDevices设下去,这样HardDriver就上来了)保存后退出BIOS重启后就会进入我们刚刚在C盘做的简单的DOS然后把A盘的两个文件拷贝到C盘C:

copyA:

C:

C:

copyA:

config.sysC:

注意,因为把config.sys拷贝进了C盘。

所以重启再次运行虚拟机后,就出现如下界面了选第一个引导vxWorks,不过目前还没做好,要在第四章选第二个进DOS,待会还会用到的3、3、ATA引导的引导的bootrom制作制作3.1替换驱动库中原有AMD网卡驱动首先把下载的补丁中的两个文件进行拷贝ln97xEnd.c拷贝到C:

Tornado2.2targetsrcdrvend下,覆盖原有的ln97xEnd.h拷贝到C:

Tornado2.2targethdrvend下,覆盖原有的打开一个windows控制台cmd窗口,运行批处理程序:

C:

tornado2.2hostx86-win32bintorVars.bat;定位到C:

tornado2.2targetsrcdrvend目录,运行:

makeCPU=PENTIUMtool=gnuln97xEnd.o定位到C:

tornado2.2targetlibpentiumPENTIUMcommon目录,并将上一步生成的文件ln97xEnd.o复制到此目录下。

备份此目录下的文件libdrv.a;运行命令arpentium-dlibdrv.aln97xEnd.o,删除libdrv.a中原有的ln97xEnd模块;运行命令,将我们刚刚创建的新ln97xEnd模块添加进去。

arpentium-raiOlicomEnd.olibdrv.aln97xEnd.o3.2修改BSP配置文件config.h首先,我们复制一份纯净未做修改的C:

Tornado2.2targetconfig下的pcPentium文件夹,改名为AMD(名称随便你起),最好不要带空格或什么特殊符号我们要修改编译bootrom、VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序bootrom和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEnd.c这个文件,以使系统的网络功能正常运行。

1)定位到目录C:

tornado2.2targetconfigAMD并打开该目录下Config.h文件;2)查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU=PENTIUM分支下的定义如下:

ata=0,0(0,0)Tifa:

/ata0a/vxWorksh=192.168.1.3e=192.168.1.250u=lnpcipw=97tn=vmwareo=lnPciata=0,0(0,0)指定了使用第0个ata控制器和第0个驱动;Tifa指定你的主机的名字,随便写拉;/ata0a/vxWorks指定了VxWorks映象下载的完整路径,因为我们是从硬盘下载;h=192.168.1.3是宿主机的IP地址,查看你的网上邻居的本地连接,根据它填写;e=192.168.1.250目标机的IP地址,可以根据实际情况修改,但要和主机在同一网段;u=lnpci指定登录FTP服务器的用户名,此FTP是用来下载VxWorks映象的;pw=97是FTP服务器与用户名lnpci对应的密码;tn=target指定目标机的名字,任意指定即可,这里写的vmware。

o=lnPci这个一定要加上,不然WDB会出错的,后面会解释注意这里u=lnpci名字我随便起的,和AMD网卡的引导设备名lnPci没有任何关系!

不过o=lnPci就不是随便写的了哦,且P一定要大写(即网卡设备名)这个参数和vxWorks启动时的WDB配置有关,在后面会有说明。

3)指定网卡驱动程序定位到“Networkdriveroptions”这段文字保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef),即:

4)包含ATA硬盘驱动首先定位到/*driverandfilesystemoptions*/字段,将INCLUDE_ATA定义上,如下再定位到/*Warmboot(reboot)devicesandparameters*/字段,将#defineSYS_WARM_TYPE后的SYS_WARM_FD改为SYS_WARM_ATA,如下图所示如果还保持为SYS_WARM_FD,那么虚拟机在引导或reboot时虚拟机会报警,如下所示5)配置WINDML查找/*IncludePCIsupportfordrivers&librariesthatrequireit.*/字段在字段之上,定义#defineINCLUDE_WINDML6)包含PC_CONSOLE缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。

为了便于调试,我们必须改变它的这种缺省状态,包含对PC控制台的支持。

查找定位宏INCLUDE_PC_CONSOLE,保证其处于定义状态(define)即可,即:

3.3修改BSP配置文件romInit.s添加红线标注的行,如果这里不添加,编译的bootrom引导vxWorks后,在运行ugl程序时,会提示如下错误3.4修改sysLn97xEnd.c打开C:

tornado2.2targetconfigAMD目录下的sysLn97xEnd.c文件,然后将参数由pciRsrcendUnit.bar1修改为NONE,保存即可,如下图:

3.5编译Bootrom打开Tornado开发工具,在Build菜单下选择BuildBootROM,选择BSP为AMD,image类型为bootrom,工具为gnu,如图。

点击OK,Bootrom就会编译。

编译成功后,会在AMD目录下生产bootrom文件。

新建一个make.bat文件,编辑内容如下echooffremCommandlinebuildenvironmentssetWIND_HOST_TYPE=x86-win32setWIND_BASE=C:

Tornado2.2setPATH=%WIND_BASE%host%WIND_HOST_TYPE%bin;%PATH%objcopypentium-Obinary-gap-fill=0bootrombootrom.sys保存为make.bat后,放在BSP目录AMD下,并双击之,即可生成bootrom.sys按照2.4节同样的方法,把bootrom.sys拷贝到你的虚拟硬盘C盘下,再此重启虚拟机经典的蓝天白云界面就出现了。

第一次启动提示下图openfailed,此刻随便敲击键盘,中断bootrom引导,按下c,然后一路回车,下次就不会再提示这个了,实际上这个是nvram.txt在作祟,bootrom会尝试从非易失性存储器中查找nv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1