欢迎下载试用新一代Windows Embedded CE(Compact 7):http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/default.mspx

开始Windows Embedded Compact 7的第一个项目——虚拟机上的CEPC

近日,微软发布了Windows Embedded Compact 7(以下简称WEC7)的Public Community Technology Preview(以下简称PCTP)版本。一直盛传的WinCE7是否就因此改名为WEC7还不得而知,至少目前开发者们称其为WinCE7,也是延续着对WinCE的期望。
作为预览版本,PCTP已经提供了正式版的大部分内容,作为技术开发者,我们可以建立WEC7的项目来测试WEC7的各种新特性。
作为第一个WEC7项目,最好的就是虚拟机上运行的CEPC(以下简称Virtual CEPC)了,因为我们的开发工具本来就是PC,所以不需要任何外部硬件,就可以开始玩转WEC7了。本文的目的就是帮助大家在自己的PC上建立起WEC7的虚拟机CEPC项目,开始自己的WEC7之旅。
关于WEC7开发环境的安装,大家可以参考相关文章,这里就不再赘述。
下面就开始我们第一次的WEC7之旅:

一 系统要求
对于Windows 7的用户而言,需要安装下列软件及环境:
1. Windows 7专业版,Windows 7旗舰版或者Windows 7企业版(很遗憾Windows 7家庭高级版不在支持之列)
2. Windows Virtual PC
3. Visual Studio 2008
4. Windows Embedded Compact 7

Windows XP或者Windows Vista的用户需要:
1. Windows XP专业版,Windows Vista商业版,Windows Vista旗舰版或者Windows Vista企业版
2. Windows Virtual PC 2007
3. Visual Studio 2008
4. Windows Embedded Compact 7

这里需要提示一点,就是如果要建立CEPC项目的话,在安装WEC7的时候一定要选上x86 Architecture的支持。
这里就以Windows 7为平台,给大家介绍整个项目建立过程。在Windows XP及Windows Vista下面也是类似的。

二 制作CEPC系统镜像
要想在Virtual PC下面运行WEC7,首先你需要建立一个CEPC的项目来获得系统镜像。因此需要下面几个步骤
1. 在Platform Builder下建立一个基础的项目
2. 配置项目以符合Virtual CEPC的要求
3. 添加删除一些系统组件
4. 选择合适的Virtual PC键盘驱动
5. 编译项目

下面就对这些步骤一一做详细的介绍

在Platform Builder下建立一个基础的项目:
这个步骤对于使用过WinCE以前版本的开发者来说是非常轻松的工作。打开WEC7的开发环境Visual Studio 2008,选择“文件”菜单下新建一个项目。
在“新建项目”页中,选择“Platform Builder 2008”,然后在右边模板处,选择“OS Design”,名字我们叫做VCEPC。

配置项目以符合Virtual CEPC的要求:
点击“OK”之后下一步到选择BSP的窗口,这里选择“Virtual PC: x86”。

]

接下来就会出现设计模板页,在本页中你可以选择想要用在模拟器中的模板。这里我们选择Enterprise Web Pad作为Virtual CEPC的基础模板。
在设计模板页里点开“PDA Device”目录,选择其中的“Enterprise Web Pad”。

单击“Next”进入应用程序和媒体页,这里你可以选择任意你想要加入到项目中来的媒体组件及应用程序。

为了演示,这里我们直接点击“Next”。随后进入到网路与通信设置页,这里我们选上“Wired Local Area Network”,以便以后我们通过虚拟网卡与本地PC连接。

选择之后,点击“Next”,我们就来到了新建项目的最后一步,这里有一个选项可以让你在完成配置之后立即编译这个项目。因为后面我们还需要做一些修改,所以这里把这个选项留空。

到这里,项目的新建工作就全部完成了。点击“Finish”。
这时根据你选择的系统组件,可能会弹出来一个安全警告窗口,只需要选择“Acknowledge”即可。
添加删除一些系统组件:
下面你可以根据自己的需要添加其他一些想要的系统组件。
比如,大家对WEC7的Silverlight for Windows Embedded(以下简称SWE)都很感兴趣,我们下面就添加SWE的支持到我们的项目里来。
在项目的开发环境中选择“Catalog Items View”配置窗口。(如果你的开发环境默认没有显示Catalog Items View,你可以在“View”菜单下选择“Other Windows”,然后选择“Catalog Items View”)然后打开“Core OS”->“Windows Embedded Compact” -> “Shell and User Interface” -> “Silverlight for Windows Embedded”。然后勾选“Silverlight for Windows Embedded”。成功之后选择“File”->“Save All”来保存修改。

选择合适的Virtual PC键盘驱动:
下面我们还需要将键盘驱动加入到项目中来。这里根据你使用的Virtual PC版本不同,设置略有不同。
如同前面添加SWE支持的方法,在“Catalog Items View”中找到如下路径“BSP”->“Virtual PC”-> “Device Drivers”->“Keyboard”。
如果你使用的是Virtual PC 2007,选择“VCEPC Keyboard driver:VPC2007”;如果使用Windows Virtual PC,就选择“VCEPC Keyboard driver:WIN7VPC”。我们这里使用的环境是Windows 7配合Virtual PC,所以我们选择后者。

添加好组件之后,选择保存。
编译项目:
在开发环境的“Build”菜单中选择“Build Solution”就可以开始编译过程了。
在“Output”窗口中你可以看到编译过程中产生的信息。整个编译过程还是需要花费一些时间的,具体取决于你的PC的速度。
如果编译过程中出现错误,可以仔细对比前面的设置步骤并检查自己的系统环境是否符合需求,另外关闭杀毒软件也许可以解决一些编译问题。
编译好之后,你会在WEC7的安装目录下的如下路径找到系统镜像文件:“你的WEC7安装目录/OSDesigns/VCEPC/VCEPC/RelDir/ VirtualPC_x86_Release/NK.bin”。随后将介绍如何把这个VCEPC系统镜像在Virtual PC中加载起来。

三 配置Virtual PC(以下简称VPC)
在获得了CEPC的镜像之后,我们需要配置一下VPC,新建一个虚拟机以便运行CEPC的镜像。
首先运行VPC,这时会打开一个叫做“虚拟机”的文件夹。这个是Windows 7中不同的一点,VPC当作一个系统补丁安装,并且管理上不是一个单独的应用程序了。
在这个文件夹中,点击上方的“创建虚拟机”按钮,会弹出来“创建虚拟机”的向导窗口,这里选择好虚拟机文件夹位置,名称我们叫做“VCEPC”。

下一步进入到内存和网络配置。这里可以指定使用的RAM大小,我们使用默认的512MB。

点击下一步,将会进入到创建虚拟硬盘的窗口,这里,WEC7已经给我们准备好了一个虚拟硬盘文件,所以我们选择“使用现有虚拟硬盘”,然后位置为“你的WEC7安装目录/platform/VirtualPC/VM/hd0_sample.vhd”。

点击“创建”之后,你会在“虚拟机”文件夹下看到一个叫做“VCEPC.vmcx”的文件,双击启动虚拟机,你会看到启动程序如下:

在5秒之内按下键盘空格键会进入到启动菜单中:

四 启动CEPC
1 配置Platform Builder
在配置好VPC之后,我们返回来看Platform Builder(以下简称PB)中的配置。系统镜像需要传输到VPC中才能运行,这种传输我们使用虚拟网卡的技术,通过网络(用过以前WinCE版本的朋友应该很清楚,过程类似于EBoot下载镜像的过程)把镜像传输给VPC,然后由VPC启动。所以前面VPC中使用的虚拟硬盘中,实际上已经包含了类似EBoot一样的启动代码。
在了解原理之后,下面的配置过程对于用过EBoot的朋友会非常简单。我们需要建立网络传输,首先设置一下PB。
在Visual Studio 2008中,选择“Target”菜单,然后选择“Connectivity Options”,然后选择“Add Device”。这时会弹出“Target Device Connectivity Options”对话框,在“New target device name”里输入VCEPC,在“Associated OS Design/SDK”中选择“Windows CE”,然后点击“Add”。
在“Target Device Connectivity Options”下有几个选项需要我们注意:“Kernel Download”,“Kernel Transport”,以及“ Kernel Debugger”。在“Target Device”下,选择你的目标设备名称,这里是VCEPC。“Kernel Download”中选择“Ethernet”,然后点击“Settings”按钮,会打开“Ethernet Download Settings”对话框。目前这个对话框还是空的,因为还没有找到接收传输的设备,我们就停在这里,继续操作我们的VPC。

2 设置VPC启动参数
刚才我们成功的在VPC中进入到启动菜单,这个菜单大家一定眼熟,因为看起来很像EBoot的菜单。实际上这个就是x86下的EBoot。
菜单项如下:
[1] Show Current Settings 
[2] Select Boot Source 
[3] Select KITL Device 
[4] Network Settings 
[5] Display Settings
[6] Debug Port Settings 
[7] Save Settings 
[0] Exit and Continue

我们首选需要配置启动源,所以选择第二项“[2] Select Boot Source”,在VPC的窗口下使用键盘输入“2”,进入Select Boot Source配置。
这里会有两个选项
[1] Boot Drive 
[2] DEC21140 at PCI bus 0 dev 10 fnc 0
这里我们选择“2”。实际上DEC21140 at PCI bus 0 dev 10 fnc 0是一个虚拟网卡,用来共享你的物理网卡,从而与你的PC通信。选择好之后会有如下提示:
Boot Device is set to DEC21140 at PCI bus 0 dev 10 fnc 0
随后跳转到主菜单。
主菜单下,我们可以选择“Show Current Settings”来检查当前的配置,你会看到类似下面的内容:
Boot source: DEC21140 at PCI bus 0 dev 10 fnc 0 
KITL device: DEC21140 at PCI bus 0 dev 10 fnc 0 
KITL config: enabled, interrupt mode, VMINI enabled 
DHCP: enabled 
Display: 640 X 480 X 32 / Full Screen
Debug Port: COM1 38400 baud

一般来说这里就可以了。但是我们需要注意一点,就是DHCP的问题。虚拟网卡会尝试使用DHCP来获得IP地址,如果你的路由器没有开启DHCP功能,它是拿不到IP地址的,这时候我们可以手动指定一个IP地址。在主菜单中选择“Network Settings”,随后选择“Set IP Address”,然后根据提示,输入你想要设置的IP地址,注意要与你的PC的IP地址保持在同一网段。比如你的PC的IP地址为192.168.1.2,那么你可以设置VPC的IP地址为192.168.1.3。然后选择“Enable/disable DHCP”,这时提示是否disable DHCP,输入y确定。
回到主菜单之后,我们可以再次进入“Show Current Settings”,这时我们就可以看到刚才设置的IP地址了。随后在主菜单中选择“Save Settings”来保存我们的设置。

3 启动CEPC镜像
在主菜单中,选择“Exit and Continue”,这时会进入等待引导下载镜像的过程,提示信息如下:
Send BOOTME Message (device name PC-0003FF9D5B30, attempt 1) 
Send BOOTME Message (device name PC-0003FF9D5B30, attempt 2)
这里就是在发送BOOTME信息,“PC-0003FF9D5B30”就是你的设备名。
这时我们返回到刚才PB的“Ethernet Download Settings”对话框。现在我们就会在“Active target devices”列表中看到我们的设备名称(这里就是“PC-0003FF9D5B30”)及IP地址了。选择我们的设备名称,然后单击“Apply”确定。关闭“Target Device Connectivity”对话框。
下面就可以下载系统镜像到VPC当中了。
在Visual Studio 2008中,在“Device”下拉框中,选择我们的设备配置名,这里就是“VCEPC”。然后在“Target”菜单中选择“Attach Device”,这时我们会看到“Device Status”窗口,显示传输镜像的进度及状态。
在VPC端,我们也可以看到,传出过程的进度,在传输完成后,我们就可以进入到WEC7的界面中了。

现在,VCEPC的创建及使用过程就全部结束了。大家可以在自己的PC上实践WEC7,而不用依赖与其他的硬件,如开发板等。同时也可以在PC上测试自己的应用程序,特别是大家感兴趣的Silverlight等。
对于使用Windows XP配合Virtual PC 2007的朋友,就是配置Virtual PC 2007的过程不一样而已,总体思路是一样的。
好了,现在就马上行动,建立自己的第一个WEC7项目,体验一下WEC7吧!

参考文献:
1. Mark McLemore,《Getting Started with Virtual CEPC》,2010-5

欢迎下载试用新一代Windows Embedded CE(Compact 7):http://www.microsoft.com/windowsembedded/zh-cn/products/windowsce/default.mspx

开始Windows Embedded Compact 7的第一个项目——虚拟机上的CEPC相关推荐

  1. 开始Windows Embedded Compact 7的第一个项目――虚拟机上的CEPC

    开始Windows Embedded Compact 7的第一个项目――虚拟机上的CEPC 2011年04月14日 欢迎下载试用新一代Windows Embedded CE(Compact 7):ht ...

  2. 建立Windows Embedded Compact 7开发环境

    欢迎下载试用新一代Windows Embedded CE(Compact 7):http://www.microsoft.com/windowsembedded/zh-cn/products/wind ...

  3. Windows Embedded Compact 7 数据库开发(上)

    数据库开发 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成 ...

  4. Windows Embedded Compact 2013升级:VS2013也能编译

    IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...

  5. Windows Embedded Compact 7新特性

    Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...

  6. Windows Embedded Compact 2013 安装体验

    6月14日,微软正式发布了Windows embedded compact 2013,大家还是习惯称之为Window CE 8,公司也要开始做windows embedded compact 2013 ...

  7. 微软宣布推出Windows Embedded Compact 2013正式版

    Microsoft announces general availability of Windows Embedded Compact 2013 微软宣布推出Windows Embedded Com ...

  8. Windows Embedded Compact 7开发环境的搭建

    <Windows Embedded Compact 7初体验>中曾简单介绍了其开发环境的搭建,时隔一年,最近项目中打算正式导入进来,于是需要再次搭建其开发环境.由于它不能和先前所有版本的C ...

  9. Windows Embedded Compact 7 试用笔记(3)

    这篇稿子,距离上一篇快一个月了,如此难产的原因,一个是最近项目比较忙,另外一个是我在试用中遇到一个难题,一直希望解决了再开始写,可惜,到现在这个问题也没找到解决办法,最后还是决定先写一点再说吧. 在一 ...

最新文章

  1. SqlDependency 与 SignalR 实现Web页面的数据实时刷新
  2. Mybatis使用generator自动生成映射配置文件信息
  3. 安装完MAVEN后输入mvn -v, 提示不是内部命令的问题
  4. jquery点击非div区域隐藏div
  5. SQL Cookbook—数字、日期
  6. AI修复技术为何这么强?原来背后的技术是……
  7. 关于计算机人工智能的知识,《计算机科学导论》人工智能基础知识
  8. 小米MIX4发布会还有新品?小米全面屏电视PRO官宣
  9. [NHibernate]一对多关系(级联删除,级联添加)
  10. 阿里云服务器部署Java Web项目全过程
  11. 全网首发:首个安卓摄像头预览加显示的项目
  12. linux 删除压缩包_【干货】记住!这些 Linux 命令千万不要运行!
  13. 跨考中科院计算机 学硕,【20082P】中国科学院大学心理学考研学硕认知神经科学学姐:放弃保研,跨考二战上岸...
  14. haosou属于搜索引擎的_搜索引擎登录工具
  15. 解决开机时出现An operating system wasn‘t found问题
  16. 99元紫米10000mAh移动电源开箱拆解
  17. Joplin 软件转换中文
  18. 卡塔尔世界杯有哪些高科技?-世界杯征文
  19. 银行卡收单业务____单边账___现实生活中单边账的处理
  20. Springboot游戏道具在线交易平台毕业设计源码171956

热门文章

  1. 011_AOP注解开发
  2. Axure RP 8.0软件安装教程
  3. Android 四大组件之——Acitivity(三) 深入了解Activity的启动流程
  4. 大话存储pdf 百度网盘_学用系列亲身体验百度网盘内测在线文档,有遗憾也有期待...
  5. oracle 如何添加数据文件,Oracle教程 误添加数据文件删除方法
  6. php js 异步上传图片,javascript实现异步图片上传方法实例
  7. java实现文件名过滤器接口_Java使用文件过滤器FileFilter、FilenameFilter搜索文件
  8. java hashtable排序_java中哈希表中有迭代器模式的实现,可以认为其是顺序表吗?...
  9. 联想android手机驱动,驱动天空 - 手机驱动 - 联想手机 lenovo
  10. java创建oracle序列_java学习:Hibernate学习-用oracle sequence序列生成ID的配置示例