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

来源:互联网 发布:linux启动单个进程命令 编辑:程序博客网 时间:2024/04/30 00:50

一.  环境准备

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.0setup.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

微软的官方地址,点击这里

 

二.  生成OSSDK、配置VS.net 2005

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

 

(一)  生成OS

1.      运行Platform Builder,新建一个Platform,给你的新Platform取一个名字,我这里取为MyCEEmu      BSP 选择Microsoft DeviceEmulator:ARMV4IDesign 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 ViewCore OS->Windows CE Devices->Applications    End User->CAB File Installer/Uninstaller

4.      添加ActiveSync(可选),在Catalog ViewCore OS->Windows CE Devices->Applications    End User目录下。

5.      添加闪存支持。有三个部件:SMFlashPartition DriverFAT

先转到Catalog View

l   SMFlashBSP->Microsoft Device Emulator->Storage Drivers->MSFlash Drivers->SmartMedia NAND Flash Driver (SMFLASH)

l   Partition DriverCore OS->Windows CE Devices->File Systems and Data Store-> Storage Manager->Partition Driver

l   FATCore 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 SupportEnable KITL

l   Environment选项卡,添加环境变量CE_MODULES_SERIAL=1,这是用来将DMA添加进来;

l   Locale选项卡,用来添加你想要的语言支持,可改可不改。我这里先Clear All然后选了中文(中国)和英语(美国)。Default Language选为中文。

7.      视情况添加其他所需的组件,我添加了MSXML的支持。

8.      BuildOS->Sysgen

 

(二)  生成SDK

1.      运行SDK WizardPlatform->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.      生成SDKPlatform->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的安装设置两个快照,这样后面即使设置错误,回滚后系统也是干净的。

 

原创粉丝点击