您的位置:首页 > 其它

定制自己的 WinCE5.0 ARMV4I 模拟器

2010-05-29 10:49 429 查看
一. 环境准备
Windows XP SP3 + Visual Studio.net 2005 SP1 + Windows Embedded CE 5.0
下面详细列举制作模拟器前需要安装的相应软件和补丁。
1. 安装Visual Studio.net 200 SP1补丁
请根据Visual Studio.net 2005中英文版本安装对应的SP1补丁包:
l 中文版SP1微软官方下载地址,点击这里
l 英文版SP1微软官方下载地址,点击这里
以上的SP1补丁包属于十全大补包,不管你的VS.net 2005属于什么版本,均可使用,其容量也是不可小视,达430多兆
2. 安装Windows Embedded CE 5.0 + Platform Builder 5.0
微软官方下载地址,点击这里
这个版本默认安装提供的是120天的试用版本,如需使其成为注册版,需自行寻找序列号。
安装过程中有如下几点需要注意:
l 整个安装过程中耗时比较久,这个需视网速决定,我在家中的安装过程花了近两个小时,自公司由于走的是光纤,只用了半个多小时。
l 在安装的过程中可能会提示一个Data_1.cab的文件无法下载,可自行从微软网站下载(点击这里)。我的做法是将该文件放在了Windows Embedded CE 5.0的setup.exe的同级目录中,然后在错误对话框上选择了Retry,发现结果一切正常。不知是其跳过了Data_1.cab的安装,还是确实就是这么做的,没有考证。
l 在安装Windows Embedded CE 5.0的过程中,将ARMV4IX86两个Operating System选择上就够了。
关于PB5.0,这里有段概要介绍,说的很好,引用一下:
Platform Builder是微软公司提供给Windows CE开发人员进行基于Windows CE平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试Windows CE操作系统平台的工具。它运行在桌面Windows下,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试。同时,开发人员还可以利用Platform Builder来进行驱动程序开发和应用程序项目的开发等等。Platform Builder的强大功能,已使其成为Windows CE平台下嵌入式操作系统开发和定制的必备工具。
3. 安装.net framework 1.1
微软的官方地址,点击这里
安装.net framework 1.1是因为它是DeviceEmulatorBSP的必选组件。
4. 安装DeviceEmulatorBSP
微软的官方地址,点击这里

二. 生成OS、SDK、配置VS.net 2005
在装完DeviceEmulatorBSP后,在%winceroot%/PLATFORM/Deviceemulator 这个目录下有这个文件Using the CE DeviceEmulator.rtf,按照这个文件一步一步配置就可以生成好用的SDK了。但该文档是英文的,对于因为英文不太好,又刚开始了解Wince的同学们,固然比较晦涩和难懂,还好,网上有前人将此文档翻译成了中文版,并且添加了需要注意的地方,照此步骤实施,方便而又快捷。现将文章内容转载如下(此文出处暂时无从考证,故在此处无法列举链接,对此向原译者表示抱歉):

(一) 生成OS
1. 运行Platform Builder,新建一个Platform,给你的新Platform取一个名字,我这里取为MyCEEmu。 BSP 选择Microsoft DeviceEmulator:ARMV4I,Design Template选择 Mobile Handheld, Application & Media随你 选,Networking & Communications只选择 Local Area Network(LAN)->Wired Local Area Network,其余都去掉。最后完成向导。
2. 添加网卡。在Catalog View的 Device Drivers->Networking->Local Area Networking (LAN) devices目录 下,把NE2000-compatible(PCMCIA car)添加进来。
3. 如果要开发托管程序,添加Catalog View的Core OS->Windows CE Devices->Applications – End User->CAB File Installer/Uninstaller。
4. 添加ActiveSync(可选),在Catalog View的Core OS->Windows CE Devices->Applications – End User目录下。
5. 添加闪存支持。有三个部件:SMFlash,Partition Driver和FAT。
先转到Catalog View:
l SMFlash在BSP->Microsoft Device Emulator->Storage Drivers->MSFlash Drivers->SmartMedia NAND Flash Driver (SMFLASH)
l Partition Driver在Core OS->Windows CE Devices->File Systems and Data Store-> Storage Manager->Partition Driver
l FAT在Core OS->Windows CE Devices->File Systems and Data Store->Storage Manager->FAT File System。
6. 打开菜单Platform->Setting,这里有三个地方要设置: //本部分DeviceEmulator.rtf中未说明
l Build Options选项卡下,去掉Enable CE Target Control Support和Enable KITL;
l Environment选项卡,添加环境变量CE_MODULES_SERIAL=1,这是用来将DMA添加进来;
l Locale选项卡,用来添加你想要的语言支持,可改可不改。我这里先Clear All然后选了中文(中国)和英语(美国)。Default Language选为中文。
7. 视情况添加其他所需的组件,我添加了MSXML的支持。
8. BuildOS->Sysgen。

(二) 生成SDK
1. 运行SDK Wizard(Platform->SDK->New SDK),填写必要的信息之后,把支持的开发工具都勾 上,完 成。下面是配置SDK(选择Platform->SDK->Configure SDK),要是觉得没有什么好配 置的也可以跳过。

2. 打开ExportSdk.sdkcfg文件(先做好备份,这个文件一般在项目根目录下,就是在New Platform Wizard的第2 步中所指定的目录,默认是%_WINCEROOT%/PBWorkspaces下)。这是一个XML 格式的文本文件,找到这两行:
<PropertyBag NAME=”DeviceEmulation”>
</PropertyBag>
把这两行替换为如下的片断:
<PropertyBag NAME=”DeviceEmulation”>
<Property NAME=”Default Image”>1 </Property>
<PropertyBag NAME=”1″>
<Property NAME=”ImageName”>MyCEEmu</Property>
<Property NAME=”VMID”></Property>
<Property NAME=”Default Skin”/>
<Property NAME=”Height”>240</Property>
<Property NAME=”Width”>320</Property>
<Property NAME=”BitDepth”>16</Property>
<Property NAME=”Memory”>128</Property>
<Property NAME=”Bin Dest”>Emulation/nk.bin</Property>
<Property NAME=”Fixed Screen”>1</Property>
<Property NAME=”CpuName”>ARMV4I</Property>
<Property NAME=”DPIX”>96</Property>
<Property NAME=”DPIY”>96</Property>
<Property NAME=”SupportRotation”>0</Property>
<Property NAME=”Enabled”>1</Property>
<Property NAME=”Bin Path”></Property>
<Property NAME=”Ethernet”>1</Property>
<Property NAME=”Ports”>1</Property>
<Property NAME=”AdditionalParameters”></Property>
<PropertyBag NAME=”Skins”/></PropertyBag>
</PropertyBag>
<PropertyBag NAME=”Added Files”>
<PropertyBag NAME=”{3B388597-0924-4102-ADFA-2519D2C3E11B}”>
<Property NAME=”Source”>C:/WINCE500/MyCEEmu/ReleaseImage</Property>
<Property NAME=”Destination”>Emulation</Property>
<Property NAME=”Subfolders”>0</Property>
</PropertyBag>
</PropertyBag>

这里需要说明的是,在原ExportSdk.sdkcfg文件中末尾处也存在一个<PropertyBag NAME=”Added Files”>,可以直接忽略其存在,不用管。

3. 设定变量。上面替换的代码中有几个变量需要设定,分别是:
l ImageName:这是程序员在Visual Studio IDE里所看到的名字;
l VMID:一个GUID,可以用GuidGen.exe来生成一个,也可从如下网站直接生成一个http://www.guidgen.com/Index.aspx
此项设置时,注意GUID外的大括号,最终格式如
<Property NAME=”VMID”>{b7158098-9058-4cae-a144-1a22a96598bb}</Property>
l Height/Width:模拟器屏幕的宽高;
l BitDepth:颜色深度;
l Memory:分配给模拟器的RAM大小;
l DPIX/DPIY:屏幕DPI;
l Source:这是一个目录,包含编译生成的NK.bin。建议最好在%_WINCEROOT%下新建一个目录,专门用于存放NK.bin。这里我设为C:/WINCE500/MyCEEmu/ReleaseImage。 修改完成后保存。

4. 生成SDK。Platform->SDK->Build SDK。一切顺利的话应该可以在当前工程目录的SDK目录下找到打包成msi文件的SDK安装包。

(三) 配置Visual Studio 2005
1. 先安装生成好的SDK。运行Visual Studio 2005,选择菜单“工具->选项”,打开选项设置对话框,从左边的树型列表中选择 “设备工具->设备”,右边的下拉列表框拉到底可以看到“MyCEEmu”,这就是我们刚刚生成的那个Platform。下面的设备列表里有两项, 双击MyCEEmu,设定传输为DMA传输,再点击“仿真器选项”,在“显示”选项卡里设定好模拟器屏幕尺寸,颜色深度等,全部保存。
2. 新建一个智能设备项目,向导第2步选择平台的时候用我们的MyCEEmu替换Pocket PC 2003,完成。然后按F5运行程序,不出意外的话模拟器应该就出来了。

三. 后记
以上安装和配置过程最好先在虚拟机中练习一下,因为过程比较多,且很多设置细节需要注意,为了避免不必要的重头再来,可以在虚拟机中对VS.net SP1的安装,PB5.0的安装设置两个快照,这样后面即使设置错误,回滚后系统也是干净的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: