在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3103|回复: 1

ware 虚拟机上装vxwoks5.5全过程

[复制链接]
发表于 2009-9-28 15:42:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近在学习vxworks,要在vmware虚拟的基于Pentium处理器上运行Vxworks,于是上参照网上大牛的文档,却在一些关键的地方过不去,于是广泛搜资料,费好些功夫终于把vxworks顺顺当当地请上了虚拟机。为避免初入vxworks界的同仁走同样弯路,决定把前前后后需要注意的地方都写下来,顺便也做个纪念。
    总的过程分为以下几步:
   1、编译网卡驱动。
   2、修改一些文件。
   3、编译bootrom并放到启动盘里去。
   4、编译vxWorks镜像。
   5、用FTP把vxWorks镜像传到虚拟机里面去。
   6、配置target server,在主机上调试目标板应用程序。

我tornado安装的目录是:E:\tornado2.2\......(我第一次装tornado2.2的时候没有把数字2.2带上,教训是:编译bootram的时候通不过。)


具体步骤如下:
装tornado,这个就不用说了。
下载一个RamDiskNT装上,打开后可以设置软驱,保存,重启机子,电脑里就有软驱(A:)了。
一、编译网卡驱动
     去http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_6629_2452^2454^2488,00.html网上 下载驱动:x86 END Driver for VxWorks。 双击下载的文件,不停的下一步直到完成,把C:\pcnet\vxworks_end目录下的ln97xEnd.tar1.gz文件解压缩,得到ln97xEnd.tar文件,再解压缩,得到target文件夹,把这个target文件夹放到E:\tornado2.2目录下。提示覆盖的时候点ok。
单击windows系统的开始菜单,在“运行”里输入“cmd”打开控制台程序。
输入:E:\tornado2.2\host\x86-win32\bin\ torVars.bat;
输入:cd /D E:\tornado2.2\target\src\drv\end目录,运行:
          make CPU=PENTIUM  tool=gnu ln97xend.o   (这一步会出现重复提示,不要管它,它自己会结束。耐心点,否则驱动编译不完全)
          这一步会在E:\tornado2.2\target\src\drv\end目录下生成ln97xend.o文件。
输入:cd E:\tornado2.2\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


二、修改文件
打开文件:E:tornado2.2\target\config\pcPentium\config.h文件。


找到/*default boot line */那行,修改预处理条件CPU == PENTIUM分支下的定义如下: "lnPci(0,0)cherish:d:\\vxWorks h=192.168.100.145 e=192.168.100.14 u=target pw=vxworks tn=target"(我是这样设置的)
lnPci(0,0)指定了使用第0个网卡和第0个处理器
cherish是我的计算机名。
d:\\vxWorks是存放操作系统镜像的路径,后面讲用FTP传送的时候还将提到。
h=192.168.100.145 h后面跟的ip来自于主机网卡。
e=192.168.100.14  这个ip是给目标板用的,和上面的ip要在同一个网段内,且它不能和主机所在的局域网的其他主机的ip冲突。
u=target 即:用户名,后面ftp传送的时候也要用到。可随便设置
pw=vxworks   和用户名对应的密码,后面ftp传送的时候也要用到。可随便设置
tn=target 是目标板名字。可随便设置


再找到network driver options 那段文字,这是有关网卡驱动的宏定义的。这些宏里面,只要保证INCLUDE_END宏和 INCLUDE_LN_97X_END是定义状态,其它宏是未定义的就可以了。


再找到INCLUDE_PC_CONSOLE 文字,把这个宏改成定义态。
这个文件就修改完了,保存。




打开文件:E:\tornado2.2\target\config\pcPentium\sysLn97xEnd.c。找到memory-mapped IO base文字,
把前面的参数由pciRsrc[endUnit].bar[1]修改为NONE。 保存。


  三、编译bootrom并放到启动盘里去。
打开Tornado开发工具,在Build菜单下选择Build Boot ROM。
BSP列表中选择pcPentium,而在Image to build列表中分别选择bootromgnu。完成选择后,点击OK按钮就开始引导程序的编译了。编译

产生的文件bootrom将保存在E:\tornado2.2\target\config\pcPentium目录下。
输入 cd E:\tornado2.2\target\config\pcPentium
输入 mkboot a: bootrom。 这样软驱(a:)里就有启动虚拟机的代码了。


四、编译vxworks镜像。

创建一个“bootable VxWorks image”的工程;

选择您需要的VxWorks组件。在这个例子中我们选择了两个重要的组件:Telnet server Target shell 。前者使我们可以通过Telnet协议登录到VxWorks操作系统中;后者则可以让我们通过命令行控制VxWorks系统。完成选择后就编译操作系统。把编译好的操作系统镜像放在D:\ 盘下(这由 default boot line 参数决定的)。

五、用FTP把vxWorks镜像传到虚拟机里面去
运行vmware,建立一个虚拟机。大多数才用默认设置,只有在选择操作系统的时候选“other”。ethernet的连接方式选择默认的bridge。

打开tornado2.2自带的ftp server  选择“Security”菜单下的“Users/Rights”子菜单,
先要把自带的target用户名删掉:具体这么干:把user下拉列表框点开,单击target,单击delete。 (这是default boot line 的参数决定的)
具体这么干:单击“新建 ”,输入用户名target(这是default boot line 的参数决定的),密码vxworks。路径写D:\(这也是default boot line 决定的)。然后点done。这样做是在告诉主机,虚拟机将用target用户名和主机通信。


为了便于调试,我们还要打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,弹出如下对话框,其中除了

Winsock Calls”外,让其他选项全都处于开启状态。
保持FTP Server窗口处于打开状态(这样FTP服务器就处于运行状态)

启动虚拟机,虚拟就能从a盘启动,等待7秒后,虚拟机用ftp 从主机加载vxWorks操作系统。加载完成后,在虚拟机的vxWorks操作系统环境下输入i命令可以看到一些任务。

六、配置target server,在主机上调试目标板应用程序。
配置target server 之前,把vmware软件的ethernet 属性设为 host-only。否则target server连接不上(我在这卡了半天)。
改属性后就可以在主机的控制台窗口下ping 目标板ip 了(这里是192.168.100.14,由 default boot line参数决定)。如能ping通,说明主机和虚拟机已经连通。

打开Tornado开发环境,选择“Tools->Target Server->Configure”菜单,
在“Description”中任意填写一个名字,如“abcd”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机

IP地址,这里是“192.168.100.14。由(DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File

and Symbols”,并在“File ”一项中选择映象的完整路径,这里是“D:\vxWorks”(由DEFAULT BOOT LINE参数决定)。
点击“Launch”按钮,就可以启动Target Server了。

再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择[email=“192.168.100.14@your_host_name]“192.168.100.14@your_host_name[/email]”。这时您会发现工具条中一些

原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。


现在可以编译一个应用程序,新建应用程序工程,toolchain 那选PENTIUMgnu。添加c源文件
如:#include "vxworks.h"
#include "timexLib.h"
#include "stdio.h"
void test()
{
int i=0;
while(i<100)
{
i++;
printf("%d\n",i);
}

printf("%d\n",i);
}



编译,下载。再打开tornado2.2下的shell,运行test。就可以在虚拟机上看结果了,还可以调试。
 楼主| 发表于 2009-9-28 15:55:05 | 显示全部楼层
那个第四步创建vxWorks工程的时候是这样子的:新建一个bootable  vxworks image工程。BSP类型选pcPentium,toolchain选 gnu。完成即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 22:31 , Processed in 0.018289 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表