做出来有一段时间了,本来找个时间好好整理一下再放上来,一直抽不出空。前两天有个意大利哥们儿写信来问有没有CE 6 for VMWare的网卡驱动,他折腾了半天没搞定。这让我觉得这东西或许还是有人需要的,因此先放上来再说了。
CE 6.0和以前的版本最大的区别在于虚拟内存管理,其他方面的调整大多由此而起。我本来以为升级的CE 6.0后以前的驱动程序都不能用了,这对我做CE 6.0 for VMWare会很麻烦,因为我没有网卡驱动的源代码(我在5.0 BSP里提供的那份源代码是不能工作的)。试着做了一个kernel后我惊喜的发现,原来的网卡驱动程序居然还能工作,这就省却了不少麻烦。要改的地方只 有一点,必须把网卡驱动指定为kernel mode driver,也就是说在latform.bib里得这么改一下(比CE 5多一个K):
VMWare workstation 6.0支持了USB 2.0 host (EHCI),不过CE 6.0的EHCI driver不能工作,初步研究的结果是USB设备插上去后它能觉察到,但在初始化的时候在GetDescpritor这一步失败了。因此这个 KERNEL用的还是USB 1.1 host (UHCI)。
另外我还在这个KERNEL里添加了Core Connectivity支持,用Visual Studio 2005做过CE 5.0或6.0应用程序开发的应该知道这个东西。具体用法可以看MSDN的这篇文章。同时我也写了一个小工具(corecon.exe)方便使用。如果你的VS2005没有打SP1补丁,在虚拟机的命令行输入:
">corecon
如果你的VS2005大了SP1补丁,则输入:
">corecon /sp1
想杀掉corecon,输入:
">corecon /k
下载地址:
用VMWare Workstation 6.0或VMWare Player 2.0或以上版本打开压缩包里的虚拟机配置文件,运行后可以自动引导到Windows CE桌面。Windows CE runtime kernel支持:
CE 6.0和以前的版本最大的区别在于虚拟内存管理,其他方面的调整大多由此而起。我本来以为升级的CE 6.0后以前的驱动程序都不能用了,这对我做CE 6.0 for VMWare会很麻烦,因为我没有网卡驱动的源代码(我在5.0 BSP里提供的那份源代码是不能工作的)。试着做了一个kernel后我惊喜的发现,原来的网卡驱动程序居然还能工作,这就省却了不少麻烦。要改的地方只 有一点,必须把网卡驱动指定为kernel mode driver,也就是说在latform.bib里得这么改一下(比CE 5多一个K):
- pcntn4m.dll $(_TARGETPLATROOT)"files"pcntn4m.dll NK SH<span style="color: rgb(255, 0, 0);">K<br></span>
另外我还在这个KERNEL里添加了Core Connectivity支持,用Visual Studio 2005做过CE 5.0或6.0应用程序开发的应该知道这个东西。具体用法可以看MSDN的这篇文章。同时我也写了一个小工具(corecon.exe)方便使用。如果你的VS2005没有打SP1补丁,在虚拟机的命令行输入:
">corecon
如果你的VS2005大了SP1补丁,则输入:
">corecon /sp1
想杀掉corecon,输入:
">corecon /k
下载地址:
- Windows CE 6.0 for VMWare workstation 6.0虚拟机:part 1,part 2
- Windows CE 6.0 for VMWare的BSP
用VMWare Workstation 6.0或VMWare Player 2.0或以上版本打开压缩包里的虚拟机配置文件,运行后可以自动引导到Windows CE桌面。Windows CE runtime kernel支持:
- 64MB内存
- 音频
- 2GB IDE硬盘
- USB 1.1 HOST (UHCI)
- 网卡
- RS232串口(输出到文件)
- Core Connectiviy Support