VxWorks学习笔记——实战之在VMWare上安装VxWor…

2008-02-23 05:32:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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,弹出如下对话框:

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 键树算法的实现

下一篇: C 中对浮点数的格式化显示