首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

VxWorks学习笔记(1)

VxWorks学习笔记(1)

准备工作

我们假设您有一台普通配置的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)Hostx86-Win32In TorVars.Bat;

重新定位到$(WIND_BASE)        Argetsrcdrvend目录,运行:

Make CPU=PENTIUM Tool=Gnu Ln97xend.O

其间会产生一些警告,但这不会影响我们的工作。

重新定位到$(WIND_BASE)        ArgetlibpentiumPENTIUMcommon目录,并将上一步生成的文件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)        ArgetconfigpcPentium并打开该目录下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,这样就可以了。最后别忘了保存。

到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。
返回列表