Windows Embedded CE 6.0开发环境的搭建 .

摘要:
ViralPC2007中存在使用模拟器的必要组件VirtualMachineNetworkDriver for Microsoft Device Emulator(如果未安装,模拟器将以空白屏幕启动)。但是,VirtualPC2007不能安装在服务器操作系统中。安装后,必须安装VS2k5SP1修补程序(KB926601)。

   最近要做一个Windows CE系统上的串行通讯程序,因为在此之前并没有接触过有关Windows嵌入式方面的应用开发,所以搭建开发环境成了摆在面前的第一道难题。本文将记录并总结我搭建Windows Embedded CE 6.0开发环境的步骤和过程中碰到的问题,希望给同为Windows嵌入式开发初学者的朋友们提供一个参考。

      我最终确定的开发环境方案为:Windows XP SP3 + Visual Studio 2005 SP1 + Windows Embedded CE 6.0. 我目前的操作系统是Windows Server 2003, Visual Studio 2005 (以下简称VS2k5)和 Windows Embedded CE 6.0(以下简称CE6)都可以直接在server系统上安装,但是考虑到后期要用模拟器(Device emulator)进行调试,而使用模拟器有一个必要的组件Virtual Machine Network Driver for Microsoft Device Emulator是存在于Virual PC 2007中(不安装的话模拟器启动黑屏),但是Virtual PC 2007不能安装在Server操作系统中,其替代版本为Virtual Server 2005 R2 SP1。因此我在Server操作系统中用虚拟机(虚拟机采用了Sun的VirtualBox)创建了一个Windows XP SP3的虚拟机,在该虚拟机上搭建CE6开发环境。

      第一步,安装VS2k5,安装完成后要安装VS2k5 SP1补丁(KB926601),否则后面的Platform Builder SP1无法安装。

      第二步,安装Windows Embedded CE 6.0,官方下载地址为:
http://www.microsoft.com/downloads/details.aspx?familyid=7E286847-6E06-4A0C-8CAC-CA7D4C09CB56&displaylang=en
      本文附件中提供一个离线安装的文件表(点击下载),把该文件表导入迅雷可以下载完整的离线安装包,大概有3.7G大小。CE6的安装界面如下图所示:

SelectBrowse

第三步安装Windows Embedded CE 6.0 Platform Builder Service Pack 1,官方下载地址为:
http://www.microsoft.com/downloads/details.aspx?FamilyId=BF0DC0E3-8575-4860-A8E3-290ADF242678&displaylang=en。如果没有安装Vs2k5 SP1补丁,需要先安装该补丁。   

       安装完成以上三步以后,打开VS2k5, 启动界面上我们可以看到Installed Products中增加了一个Platform Builder for CE6.0,说明CE6已经安装成功了,CE6是以add-on的方式安装在VS2k5中的。

VS-startscreen

第四步安装Microsoft Device Emulator 2.0,官方下载地址为:http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&displaylang=en,2.0版本的模拟器是对VS2k5中默认安装的1.0版本的升级。

      第五步是安装Virtual Machine Network Driver for Microsoft Device Emulator,这个组件保证模拟器的正常运行,如果不安装的话模拟器启动以后是黑屏,而且这个问题我也遇到过了,官方下载地址为:http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&DisplayLang=en,这个下载已经被微软关掉了,推荐下载Microsoft Virtual PC 2007,官方下载地址为:http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en,但是这里有一个问题,VPC2007能在Windows XP / Vista / Windows Server 2003 Standard上安装而无法在Enterprise上安装,Enterprise上只能装更为高级的Virtual Server 2005。所以在选择操作系统的时候要有所注意。因为我使用的Windows XP操作系认,所以这里直接安装了Virtual PC 2007。

      接下来要用刚刚安装好的PB定制一个Windows CE 6.0系统,系统定制完成后可以加载到设备模拟器上,以便我们针对这个系统进行开发和测试。打开VS2k5,选择新建一个新安装的OS Design项目模板创建,进入向导页面。

create-project

design-template

在Board Support Packages中推荐选择Device Emulator: ARMV4I。这是很重要的一步,同时这里要提到一点,设备模拟器是ARM架构的,也就是说x86架构的CE系统是不能在模拟器上运行的,这个问题我也遇到过了,用CEPC: x86定制了一个系统,编译完成后附加到设备模拟器的时候报出错误: Invalid or missing ROM image. 不过选错了也没有关系,在用模板创建完成后仍然可以修改这些选项。

      PB提供了一系列可供选择的设计模板,我选择的是PDA Device -> Mobile Handheld,然后一路下一步就可以完成创建,创建的最后一步确定后会弹出一个Catalog Item Notification的对话框,点击Acknolwlege确定,完成创建。Windows CE系统定制的话题会在以后的心得文章中介绍。在Vs2k5菜单中,选择Tools->Device Emulator Manager, 打开设备模拟器管理窗口,里面列出了现在可用的所有虚拟机,例如Pocket PC 2003, Smartphone 2003等,但是我们现在还找不到WINCE6_EMU的模拟器,接下来我们要对定制好的系统进行编译并生成SDK。

dmm-noce6

编译之前要提到一点就是取消KITL(no IMGNOKITL=1),如果不取消这一选项的话在非Debug模式下模拟器是不能启动的。右单击项目名称,选择Properties,在Build options中取消对"Enable KITL(no IMGKITL=1)"的选中。然后就可以进行编译了,编译的时间会相对长一些,取决于定制功能的多少。

uncheck-kitl

编译成功之后,在RelDir对应的目录下生成了一个名为NK.bin的文件,这个文件就是给虚拟机使用的运行时镜像,解下来我们要把编译完成的系统附加到设备。在此之前要对连接属性进行一些设置。打开Vs2k5菜单,选择Target -> Connectivity options, 打开目标设备连接属性对话框,Target Device选择CE Device, Download和Transport都选择Device Emulator (DMA),Debugger选择None。针对模拟器运行参数的其他设置,比如屏幕尺寸,内存大小等等,都是要在这个对话框中进行设置的.

connectivity-options

 修改完配置后点击Apply并关闭窗口,在Vs2k5中选择Target->Attach device开始附加到设备,这个时间也会有几分钟,Output窗口中会显示添加的状态,如果输出窗口卡在某一个位置上,模拟器还是黑屏的话,有可能是前面的某一步配置出现问题。需要回过头来检查,模拟器正常启动后,就可以看到一个Windows CE系统的模拟器窗口。

wince-emulator

接下来我们要创建并安装SDK,安装SDK的目的是在Vs2k5中提供对目标设备的开发支持,例如类库,模拟器等。在Vs2k5菜单中选择Project -> Add new SDK, 打开SDK属性页。在Emulator中,将Configuration修改为Device Emulator ARMV4I Debug,填写必要的信息后点击确定,然后在项目窗口中右单击刚才创建的SDK,选择编译。编译完成后生成一个msi安装文件,位于OSDesign项目文件夹下,SDKS/<SDKname>目录中。关闭Vs2k5,并击运行这个SDK并安装。

      安装完成后,打开Vs2k5,选择菜单Tools -> Device Emulator Manager, 打开设备模拟器管理窗口,我们可以看到WINCE6_EMU下已经添加了我们刚才创建的系统,右单击这个项目选择Connect, 弹出模拟器窗口,CE系统启动成功。

      至此已经完成了由PB定制CE6操作系统,生成SDK并安装到开发环境的整个步骤。安装完成后我们便可以在这个定制的CE6平台上开发调试相关的应用程序了。

免责声明:文章转载自《Windows Embedded CE 6.0开发环境的搭建 .》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇matlab画3维meshgrid/plot3/mesh/surf的用法ceph与openstack对接(cinder、glance、nova)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

0x00 漏洞描述Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广如:windows2003、windows2008、windows2008 R2、windows xp系统都会遭到攻击,该服务器漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击的。这个漏洞是今年来说危害严重性最大的漏洞,跟之前的勒索,永恒之蓝病毒差...

CUDA之初体验——数组求和

在高性能计算领域,GPU因为其架构的原因,在并行计算领域正发挥越来越多的用途,比如进行大量计算的游戏、绘图、图像算法等方面,采用GPU进行加速可以得到显著的性能提高。如今,Nvidia显卡在pc上的普及,cuda正是nvidia推出的通用并行计算架构。 下面在学习《深入浅出CUDA》的基础上初次体验下CUDA。 1.工程设置 这个就不多说了,新建一个空的W...

何谓系统架构师(转)

首先,何谓系统架构师? IBM工程师的说明是:    架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功 中文Wiki上的说明是:    系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单 这两个解释,加起来...

00.充电桩的那些事儿

许继电源意见表 对27930的意见: 1. 在启动绝缘,闭合K1K2前,和投泄放前,建议应该增加“检测并判断接触器外侧电”预防K5K6有粘连。 同意闭合K1K2前增加,后续K5、K6未闭合,投泄放前无须再检。 2. 图A.5 正常充电时序流程图(续1)中,”自检测到插头插入起5s”超时条件描述不对,应该“为设备第一次启动锁定后”。因为电子锁锁定命令是由用户...

Bootstrap 中visible-xs、hidden-xs等的用法

Bootstrap 中visible-xs、hidden-xs等的用法 Class 设备 .visible-xs 额外的小设备(小于 768px)可见 .visible-sm 小型设备(768 px 起)可见 .visible-md 中型设备(768 px 到 991 px)可见 .visible-lg 大型设备(992 px 及以上...

RabbitMQ面试题

1、为什么要引入MQ系统,直接读写数据库不行吗?其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。 先说一下消息队列常见的使用场景...