PB5.0定制中文模拟器_handdexpert的博客-程序员宅基地

技术标签: wince  application  WinCE  networking  wizard  microsoft  network  

 

一、生成OS

1. 安装Windows CE 5.0(记得CPU类型里把ARMV4I选上)装完之后装DeviceEmulatorBSP.msi(本站下载),这是ARMV4I模拟器的BSP。

2. 运行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,其余都去掉。最后完成向导。

3. 添加网卡。在Catalog View的 Device Drivers->Networking->Local Area Networking (LAN) devices目录 下,把NE2000-compatible(PCMCIA car)添加进来。

4. 如果要开发托管程序,添加Catalog View的Core OS->Windows CE Devices->Applications – End User->CAB File Installer/Uninstaller。

5. 添加ActiveSync(可选),在Catalog View的Core OS->Windows CE Devices->Applications – End User目录下。

6. 添加闪存支持。有三个部件:SMFlash,Partition Driver和FAT。
   先转到Catalog View:
   SMFlash在BSP->Microsoft Device Emulator->Storage Drivers->MSFlash Drivers->SmartMedia NAND Flash Driver (SMFLASH),
   Partition Driver在Core OS->Windows CE Devices->File Systems and Data Store-> Storage Manager->Partition Driver
   FAT在Core OS->Windows CE Devices->File Systems and Data Store->Storage Manager->FAT File System。

7. 打开菜单Platform->Setting,这里有三个地方要设置: //本部分DeviceEmulator.rtf中未说明
1) Build Options选项卡下,去掉Enable CE Target Control Support和Enable KITL;
2) Environment选项卡,添加环境变量CE_MODULES_SERIAL=1,这是用来将DMA添加进来;
3) Locale选项卡,用来添加你想要的语言支持,可改可不改。我这里先Clear All然后选了中文(中国)和英语(美国)。Default Language选为中文。

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

9. 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>

3. 设定变量。上面替换的代码中有几个变量需要设定,分别是:
1) ImageName:这是程序员在Visual Studio IDE里所看到的名字;
2) VMID:一个GUID,可以用GuidGen.exe来生成一个;
3) Height/Width:模拟器屏幕的宽高;
4) BitDepth:颜色深度;
5) Memory:分配给模拟器的RAM大小;
6) DPIX/DPIY:屏幕DPI;
7) Source:这是一个目录,包含编译生成的NK.bin。建议最好在%_WINCEROOT%下新建一个目录,专门用于存放NK.bin。

这里我设为C:\WINCE500\MyCEEmu\ReleaseImage。
修改完成后保存。

3. 生成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运行程序,不出意外的话模拟器应该就出来了。

我的理解:这种方法是因为pb5缺省只有基于x86的emulator bsp,生成的x86指令模拟器bin文件是无法运行armv4i指令的程序的。通过安装基于armv4i的emulator bsp并生成armv4i指令的模拟器bin文件,利用DeviceEmulator可以动态翻译并执行armv4i指令的功能,加载armv4i指令模拟器bin文件后,用vs2005而不是evc4(vs2005才有device emulator)调试基于armv4i的应用程序。而调试真实设备的nk.bin我想应该要用pb5的kitl。




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/handdexpert/article/details/7044615

智能推荐

mybatis-redis项目分析_叩丁狼的博客-程序员宅基地

【原创文章,转载请注明原文章地址,谢谢!】redis作为现在最优秀的key-value数据库,非常适合提供项目的缓存服务。把redis作为mybatis的查询缓存也是很常见的做法。在网上发现N多人是自己做的Cache,其实在mybatis的git下有一个子项目mybatis-redis;这个项目提供了redis作为mybatis查询缓存的一个实现,下面先分析一下这个项目的实现原理,再提出几个项目的...

eclipse运行工程时 控制台中出现<ConnectionProperties> 的解决方法_你没事儿吧的博客-程序员宅基地_connection properties are detected.

eclipse运行工程时 控制台中出现 的解决方法出现问题:问题图片解决方法出现问题:eclipse运行工程时 控制台中出现ConnectionPropertiesPropertyCategory name=“Connection/Authentication”Property name=“user” required=“No” default="" sortOrder="-2147483647" since=“all”&gt;The user to connect asProperty

【Java】知识点:继承及其小案例_19Java菜鸟的博客-程序员宅基地

知识点:#继承#及其小案例*1)、在com.soft863.test05.bean包中声明员工类、程序员类、设计师类、架构师类员工类(Employee)属性:编号、姓名、年龄、手机号码程序员类(Programmer)属性:编程语言设计师类(Designer)属性:奖金(bonas)架构师类(Architect)属性:持有股票数量(stock)要求:属性私有化,无参有参构造,get/set,getInfo方法(考虑重写)*2)、在包中声明测试类Test02创建各种类的对象,并测试

warframe怒焚者结合目标_Warframe中文维基:403_图像车间的博客-程序员宅基地

WARFRAME中文wiki(灰机wiki)遭到了大量来路不明爬虫骚扰,由于爬虫已经严重影响了其他托管站点的用户和访问者平等访问、使用灰机平台的权利,我们只能对Warframe站点进行暂时性隔离并限制访问隔离期间我们会积极分析日志,加强对非法爬虫、QQbot的反制措施,并收集必要的证据,保留对滥用wiki开放机制,抄袭剽窃wiki内容者采取进一步措施的可能性。隔离治疗期间玩家和用户可以使用狗头人A...

ORACLE RAC安装过程中,root.sh运行错误_其格乐罕的博客-程序员宅基地

在安装rac的过程中,在第二个节点跑root.sh的时候,遇到了一下错误:[[email protected] grid]# ./root.sh Running Oracle 11g root.sh script...The following environment variables are set as:    ORACLE_OWNER= grid    ORACLE_HOME=  /

随便推点

ESXI6.7-修改当前日期和时间-UTC修改为CST_lizhigang_bj的博客-程序员宅基地_esxi6.7修改时区

一、备份原localtimemv localtime localtime-back二、通过WINSCP将localtime文件传输至/etc/localtime

使用npm安装express时遇到304错误_chixingmin0137的博客-程序员宅基地

ubuntu下用npm安装express信息如下: npm http GET https://registry.npmjs.org/expressnpm http 304 https://registry.npmjs.org/expressnpm http GET https://r...

测试server之间端口是否通讯_congjian0578的博客-程序员宅基地

##############1.57###################### [PROD #] telnet 109.120.1.86 7575Trying...Connected to 109.1...

ffmpeg命令大全_walkeryudev的博客-程序员宅基地_ffmpeg

ffmpeg命令大全FFMPEG 目录及作用FFMPEG基本概念FFMPEG 命令基本信息查询命令主要参数视频参数音频参数录制录屏分解与复用滤镜简单滤镜复杂滤镜直播相关前言FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。本文将简要介绍一下 FFMPEG ...

使用FCIV验证网络下载iso文件完整性_allway2的博客-程序员宅基地

Lync Server 2010 (x64) – DVD (English)Posted on 2016-08-14 by MSDN &amp; filed under 英语.文件名en_lync_server_2010_x64_dvd_598415.isoSHA1AD4B3D0893BF81B0AA840A3DA31B9702B084EA0C文件大小1.49GB发布时间2010-11-17fciv -sha1 en_lync_server_2010_x64_dvd_598415.

linux--函数劫持--基于LD_PRELOAD_xqhrs232的博客-程序员宅基地_jynx2 linux

原文地址::http://m.2cto.com/os/201406/306008.html相关文章1、Analyzing Jynx and LD_PRELOAD Based Rootkits----http://www.infosecisland.com/blogview/22440-Analyzing-Jynx-and-LDPRELOAD-Based-Rootkits.html

推荐文章

热门文章

相关标签