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


    欢迎下载试用新一代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
  • 相关阅读:
    poj 3744 Scout YYF I (矩阵快速幂 优化 概率dp)
    Codeforces Round #272 (Div. 2) D. Dreamoon and Sets (思维 数学 规律)
    Codeforces Round #272 (Div. 2) C. Dreamoon and Sums (数学 思维)
    hdu 5067 Harry And Dig Machine (状态压缩dp)
    hdu 4810 Wall Painting (组合数学+二进制)
    hdu 4856 Tunnels (bfs + 状压dp)
    tc srm 636 div2 500
    poj 2096 Collecting Bugs (概率dp 天数期望)
    ABC182 F Valid payments
    AT2699 [ARC081D] Flip and Rectangles
  • 原文地址:https://www.cnblogs.com/liang123/p/6325747.html
Copyright © 2020-2023  润新知