PB5.0定制中文模拟器_pb5 devicemulator-程序员宅基地

技术标签: 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

智能推荐

位置 如何获取一个元素相对于视口的位置?_获取元素相对视口的位置-程序员宅基地

在开发时,会遇到一些拖动元素的需求获取元素位置可以使用Element.getBoundingClientRect()参考:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect它会返回一组read-only值,left,top,right,bottom,x,y,width,height..._获取元素相对视口的位置

电大计算机本科离散数学考试题,国开(中央电大)本科《离散数学(本)》网上形考(任务一至三)试题及答案...-程序员宅基地

《国开(中央电大)本科《离散数学(本)》网上形考(任务一至三)试题及答案》由会员分享,可在线阅读,更多相关《国开(中央电大)本科《离散数学(本)》网上形考(任务一至三)试题及答案(10页珍藏版)》请在装配图网上搜索。1、国开(中央电大)本科离散数学(本)网上形考(任务一至三)试题及答案国开(中央电大)本科离散数学(本)网上形考(任务一至三)试题及答案 说明:适用于计算机科学与技术本科国开平台网上形..._国开离散数学形考任务4

手机上能搭建mysql服务器_安卓手机搭建网站服务器【Php+Mysql+Lighttpd】 – 楚盟博客...-程序员宅基地

早段时间看见过一篇文章介绍安卓手机能充当网站服务器使用;正好这几天比较闲,决定来测试一下,看看是否真的行得通,稳定性能如何!架设到手机上面以后测试编辑网站会比较方便,走到哪服务器就跟到哪里;我手机是三星GT7100型号 安卓4.3版本首先给手机安卓KSWEB应用【别忘了打开WIFI】KSWEB简介:是由俄罗斯人开发的一款基于Android的开源服务器使用lighttpd+php+sql可以使你的..._手机搭建mysql

2018.10.08【HNOI2010】【BZOJ2002】【洛谷P3203】弹飞绵羊(LCT)-程序员宅基地

BZOJ传送门洛谷传送门解析:LCTLCTLCT裸题啊。。。思路:可以很显然的发现不管怎么变,我们设置虚拟节点n+1n+1n+1,所有点到它的路径构成一棵树。那不就完了,直接LCTLCTLCT维护这棵路径树的形态,路径上经过多少点就是要被弹多少次,在LCTLCTLCT的节点里维护sizsizsiz,最后提取路径,siz−1siz-1siz−1就是最终答案。代码:#include...

java 正态分布算法_如何在java中拟合正态分布_函明的博客-程序员宅基地

前言最近在工作中需要拟合高斯曲线,在python中可以使用 scipy,相关代码如下:#!/usr/bin/env python# -*- coding=utf-8 -*-%matplotlib inlineimport numpy as npimport pylab as pltfrom scipy.optimize import curve_fitx = range(10)y = [25,68..._ex=illegal state: unable to perform q.r decomposition on the 2x2 jacobian ma

c语言prentf和scanf用法,void HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, int *w, int n)...-程序员宅基地

满意答案hlqhu2013.06.13采纳率:58%等级:12已帮助:8675人很简单了typedef struct{ /*哈夫曼树的存储表示方法*/float weight; /* 权重,即概率 */int parent,lchild,rchild; /*每个结点均有父结点,左孩子,右孩子*/}HTNode,*HuffmanTree;typedef char **Huffm..._ntfc语言

随便推点

实现连麦_微信重磅更新,视频号直播连麦打赏美颜上线,新增巨大流量入口-程序员宅基地

12月23日晚,微信迎来重大改版!在最新7.0.20版本的微信中,视频号大招不断,不仅上线了连麦功能,支持美颜瘦脸、打赏等功能。此外,微信还给视频号开放了两个重大入口,包括微信个人名片和“发现”tab里的“附近的直播和人”。那么,在这次大改版中,视频号具体有哪些变化?这些变化对于视频创作者有哪些影响?我们给大家盘了盘,这可能是迄今最完整的要点概括。(目前苹果手机可支持此项更新,安卓手机预计尚需等待..._微信连麦直播

电脑计算机桌面什么安装,一般的软件是怎样安装到电脑桌面上的?-程序员宅基地

优质回答 回答者:你瞅啥啊系统默认安装后,将开始菜单--程序里已安装好的应用程序直接拖拽到桌面上,以快捷方式存放于桌面。具体操作如下(如Excel)1)点击桌面最底层"windows"快捷菜单按钮2)想下滚动鼠标,找到"Microsoft Office"文件3)打开“Office”文件,找到“Microsoft Office Excel 2008”应用程序4)左键点击该程序并拖住鼠标不放,往桌面拖..._电脑桌面自带的软件安装程序是哪个?

mysql数据库初级-程序员宅基地

一、数据库数据库是是用来存储数据的,数据库就是一些具有特殊个格式和意义的数据文件的集合。相比于普通文件数据库的优点是:读写速度极高持久化存储对程序支持性很好,容易扩展数据的有效性1、数据库管理系统(Database Mangement Systerm):是为了管理数据库而设计的软件系统,主要包括三部分组成数据库文件集合数据库客户端数据库服务器端2、数据库分类:关...

uni-app开发小程序准备阶段-程序员宅基地

uni-app开发小程序准备阶段 1.软件安装开始之前,开发者需先下载安装如下工具:HBuilderX:官方IDE下载地址下面开发工具根据需求进行安装:微信小程序开发工具安装https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html..._uni-app hbuild 如何开发小程序

理解Ionic、Angular、Cordova及插件之间的关系_cordova angular-程序员宅基地

本文提及概念不区分Ionic 1/Angular 1和Ionic 2/Angular 2。首先我们需要明确以下几个概念:1.即使我们将移动端web页面做得和原生应用及其相似,在我们的页面中也无法像原生应用那样调用原生的能力,当然通过输入框触发键盘、图库、拍照等操作不在这里“调用原生能力”的范畴。2.单纯的web页面不能提交到应用商店被用户使用。然后,我们分别就它们之间的关系做出解释:Ionic和A_cordova angular

怎样用计算机算一条线的斜率,直线的斜率_诚杜的博客-程序员宅基地

斜率,亦称“角系数”,表示一条直线相对于横轴的倾斜程度。一条直线与某平面直角坐标系横轴正半轴方向的夹角的正切值即该直线相对于该坐标系的斜率[1]。 如果直线与x轴垂直,直角的正切值无穷大,故此直线不存在斜率。 当直线L的斜率存在时,对于一次函数y=kx+b(斜截式),k即该函数图像(直线)的斜率。中文名直线的斜率外文名slope又称角系数表示一条直线相对横坐标轴的倾斜程度公..._通过坐标算出斜率 90度和180度

推荐文章

热门文章

相关标签