最近学习WINCE6.0,在PC104(x86)上初步实现了简单应用。整个过程中,最郁闷的就是生成OS Image的漫长等待了......应用程序是通过网络方式下载到目标机运行。
如果没有目标机,安装个虚拟机也是很有趣的一件事。于是打算把WINCE6也装进VMware中去。开始还是比较顺利......
我的环境如下:
主机Win7企业版
虚拟机VMware7.1,装好DOS6.22
开发工具WINCE60+VS2005
制作OS,主要就是选择个VMware支持的网卡。搜google的结果,了解一些信息,虚拟网卡有3种:AMD PCnet-PCI II(具体型号为AMD AM79C970A)、Intel E1000 Pro(具体型号为Intel 82545EM) 、VMware Accelerated Lance (vmxnet)。
在虚拟机的BIOS的启动选择中就可以看到网卡型号,默认就是AM79C970A。而E1000系列网卡是1000M的,默认的PCnet-PCI网卡是10M的,速度不一样。不过在虚拟机里面应该区别不大,似乎不会需要很快的网速。vmxnet网卡需要安装VMTools才行,这个在WINCE里面没法装的。
在网上下载了AM79C970A的WINCE 2.x驱动,这个可以用在WINCE6(这个有点奇怪,6.0的机制和5.0之前的不一样啊),E1000网卡的驱动可以到Intel网站下载,有for WINCE6.0版本的。按照添加驱动的方法,打包好OS Image,然后拷贝到虚拟机里。问题出现了,网卡找不到!不管是PCnet还是E1000。
然后又是一番google,找到一个现成的例子:
http://blog.csdn.net/singlerace/archive/2008/06/02/2504643.aspx
下载的6.0虚拟机,的确是好用的,网卡正常。然而,用他的BSP再次制作的OS,还是同样问题!
反反复复,研究了2天,开始怀疑VMware的虚拟环境,比对2个vmx文件,有些不一致的地方。最终的结果就是:
需要修改vmx文件中的virtualHW.version = "7"为virtualHW.version = "6"
我的VMware版本是7.1的,看来似乎是这个原因。
OK,网卡终于正常了