VxWorks的环境配置
1. 准备工作
(1) VMWare
(2) 一台安装Windows XP或Window 7系统的PC机
(3) Tornado 2.2 for pcPentium CD1 和Tornado 2.2for pcPentium CD2分别为Tornado安装程序和BSP组件,WindML安装程序。
(4) RamDiskNT用来在Windows NT系统上虚拟软盘工具
(5) 由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD的PC-NET网卡的VxWorks系统驱动,ln97xEnd.c 和ln97xEnd.h。
2. 安装Tornado
(1) 安装Tornado 2.2 for pcPentium CD1
Installation Options:
Tornado Registry:
Backward Compatibility:
License Management Configuration:
License Management Installation Options:
注册:
拷贝CRACK目录下的license.dat 到c:\flexlm 目录,如果没有这个目录,自己新建一个。设置如下环境变量:LM_LICENSE_FILE = c:\flexlm\license.dat。
(2) 安装Tornado 2.2 for pcPentium CD2
一路顺风,安装下去。
3. 编译网卡驱动
(1) 我们下载的AMD网卡驱动,分别将
ln97xEnd.c替换到D:\Tornado2.2\target\src\drv\end\ ln97xEnd.c
ln97xEnd.h替换到D:\Tornado2.2\target\h\drv\end\ln97xEnd.h
(2) 打开一个控制台窗口,运行批处理程序D:\Tornado2.2\host\x86-win32\bin\torVars.bat
(3) 重新定位到D:\Tornado2.2\target\src\drv\end
(4) 运行命令:make CPU=PENTIUM tool=gnu ln97xend.o
如果发生如下错误:
解决上述问题如下:
重新进入D:\Tornado2.2\host\x86-win32\bin
执行命令:cp ccpentium.exe cc.exe
然后重新返回D:\Tornado2.2\target\src\drv\end 执行上述命令,会发生一些warnings,不过直接忽略它。
(5) 将生成的ln97xend.o剪贴到D:\Tornado2.2\target\lib\pentium\PENTIUM\common。
然后将控制台定位到该目录下。
运行命令:arpentium -d libdrv.a ln97xend.o删除libdrv.a中原有的ln97xEnd模块,
然后再运行命令:arpentium -ra iOlicomEnd.o libdrv.a ln97xend.o将我们刚刚创建的新模块添加进去。
4. 修改配置文件
(1) 首先定位目录到D:\Tornado2.2\target\config\pcPentium并打开该目录下config.h文件;
先查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU== PENTIUM分支下的定义如下:
#defineDEFAULT_BOOT_LINE \
"lnPci(0,0)your_host_name:d:\\vxWorksh=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系统的主机名就可以,如果没有重新创建用户的话,那就是Administrator;
d:\\vxWorks指定了VxWorks映象下载的完整路径;
h=192.168.0.16是主机的IP地址,就是您当前正在使用的系统的IP地址;
e=192.168.0.25是目标机的IP地址,也就是未来VxWorks操作系统的IP地址,您只要任意指定一个不冲突的IP地址即可,这里我们假设您的目标机IP地址和主机IP地址在同一个网段内;
u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks映象的。
pw=123是FTP服务器的用户名的密码,即target对应的密码。
tn=target指定目标机的名字,任意指定即可;
(2) 下面我们要指定使用什么样的网卡驱动程序。首先查找“Network driver options”这段
文字,之后您可以看到在该注释后面定义了一系列的有关网卡驱动的宏定义。注意保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef);
缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态。我们查找定位宏INCLUDE_PC_CONSOLE,然后保证其处于定义状态(define)即可;
(3) 就是修改config.h文件将
#defineSYS_WARM_TYPE SYS_WARM_FD 改为
#defineSYS_WARM_TYPE SYS_WARM_BIOS
如果不修改就会发生一个错误:0x2dd0d4(tBoot):sysNvRamGet:open failed.
到此为止,对config.h文件的修改就完成了,保存修改。
(4) 然后再打开同一目录下的sysLn97xEnd.c文件
这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,这样就可以了。最后别忘了保存。
1. 编译引导程序
Build --> Build Boot Rom
bootrom将保存在D:\Tornado2.2\target\config\pcPentium目录
6. 创建生成bootrom后,还要创建一个VxWorks映像
(1) 创建一个“bootable VxWorks image”工程
(2) 选择您需要的VxWorks组件。至少要选择telnet server组件和 target shell组件。
完成选择后,Build-->build;将工程目录下的vxWorks复制到D:\目录下。
其中vxWorks的目录:D:\Tornado2.2\target\proj\Project0\default
7. 制作引导磁盘
(1) 虚拟软盘
点击Start之后,打开“我的电脑”,看看是否存在软盘 A?如果不存在,表示虚拟软盘失败。如果存在,表示成功,继续进行下面的命令。
(2) 我们的bootrom存在于D:\Tornado2.2\target\config\pcPentium,所以我们将控制台切换到该目录下。执行下面的命令:
mkboot a: bootrom
成功之后,A盘里面会有一个bootrom.sys文件。到此引导磁盘成功。
8. 配置FTP服务器
从开始-->所有程序-->Tornado2.2-->FTP Server 打开FTP服务器
Security-->User/Rights-->New user
User Name 一定要和我们上面配置的环境一样,所以为target
Pass word 一定要和上面配置的环境一样,所以密码为123
其中Home Directory是 D:\ ,我经常不小心会将其设置成D:\VxWorks,这样是错误的。
设置好之后,每次使用FTP之后,都要选择一次target,Done一次。
Logging-->Logging Options 记录日志
9. 运行vxWorks
(1) 虚拟机的属性:Network Adapter --> Network connection 选择Bridged
Floopy-->Connection-->Use physical drive: A
(2) 打开FTP Server,选择target-->Done
(3) 运行虚拟机