前些日子同事要做嵌入式开发,所以同事让我帮忙装一下windows ce,刚开始也一头雾水,以前听说过,但是根本就没有去装过windows ce,后来怀着好奇心,就去网上搜索答案。刚开始装的时候以为很简单,但是感觉什么都需要下载,下东西就浪费了我许多时间,然后加上安装的时间一共用了3天的时间。
发环境方案为:Windows XP SP3 + Visual Studio 2005 SP1 + Windows Embedded CE 6.0. Visual Studio 2005 (以下简称VS2k5)和 Windows Embedded CE 6.0(以下简称CE6)虚拟机采用了oracle的VirtualBox
1.刚开始下载vs2k5 文件名字为chs_vs_2005_VSTS_180_Trial.img ,用虚拟光驱安装即可。这个文件非常大3.22g
2.下载好之后安装vs2k5,安装好之后就是安装VS2k5 SP1补丁(KB926601),否则后面的Platform Builder SP1无法安装大概补丁VS80sp1-KB926604-X86-CHS.exe 大概有400多兆,这个安装速度是最慢的。
3.安装好补丁之后就是安装Windows Embedded CE 6.0,官方下载地址为:
http://www.microsoft.com/downloads/details.aspx?familyid=7E286847-6E06-4A0C-8CAC-CA7D4C09CB56&displaylang=en里面的cab包直接用迅雷下载windce6.0.lst,这个在附件中,这个大概下载有3.76g大小,安装的时候选择x86平台
4.经过漫长的等待终于安装好了windowce6.0主要程序,但是接下来还有许多事情要做,然后安装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中的。
5.安装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版本的升级。
6.安装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项目模板创建,进入向导页面。
在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。
译之前要提到一点就是取消KITL(no IMGNOKITL=1),如果不取消这一选项的话在非Debug模式下模拟器是不能启动的。右单击项目名称,选择Properties,在Build options中取消对"Enable KITL(no IMGKITL=1)"的选中。然后就可以进行编译了,编译的时间会相对长一些,取决于定制功能的多少。
编译成功之后,在RelDir对应的目录下生成了一个名为NK.bin的文件,这个文件就是给虚拟机使用的运行时镜像,解下来我们要把编译完成的系统附加到设备。在此之前要对连接属性进行一些设置。打开Vs2k5菜单,选择Target -> Connectivity options, 打开目标设备连接属性对话框,Target Device选择CE Device, Download和Transport都选择Device Emulator (DMA),Debugger选择None。针对模拟器运行参数的其他设置,比如屏幕尺寸,内存大小等等,都是要在这个对话框中进行设置的.
修改完配置后点击Apply并关闭窗口,在Vs2k5中选择Target->Attach device开始附加到设备,这个时间也会有几分钟,Output窗口中会显示添加的状态,如果输出窗口卡在某一个位置上,模拟器还是黑屏的话,有可能是前面的某一步配置出现问题。需要回过头来检查,模拟器正常启动后,就可以看到一个Windows CE系统的模拟器窗口。接下来我们要创建并安装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平台上开发调试相关的应用程序了。
本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/544752,如需转载请自行联系原作者