自己定制模拟器的前提是安装了Platform Builder for Windows CE 5.0。定制步骤如下: 一、建立PBWorkspace,定制语言和组件,编译run-time image (1) 打开Platform Builder, 从菜单File->New Platform新建一个PBWorkspace, 注意在 New Platform Wizard - step 3 选BSP时要钩选EMULATOR:X86。在step 4的Design Template我选了Mobile Handheld,带的组件比较多,省事。一路NEXT下去。 (2) 在step 4选完Design Template后,别点Finish, 要点Next进到下一步。在这里把Standard SDK for Windows CE都选上, 再下一步把网络都勾上。ActiveSync和TCP/IP都是连接模拟器的调试手段,多勾点没什么坏处。在eVC里我比较郁闷的是用ActiveSync作Transport的话,连不上模拟器;而用TCP/IP连接模拟器时有个不好,就是网卡不能处于断开状态,得随便找个路由或者MODEM连上,程序才能下载到模拟器上。这个是后话了。 (3) NEXT到头后,PBWorkspace建好了,自己点菜,往里头加组件吧,应用开发比较常用到的也就是Applications and Services Development,Graphics and Multimedia Technologies, Shell and User Interface三个目录下面的东东,还有里我的建议是在产开发初期就把所需的组件定好,然后定制模拟器给应用开发人员用,BSP开发好后,同样也加上模拟器上用的那些组件来编译产品的IMAGE,这样应用开发才不会走样。 (4) 大家最关心的一步,中文。从PB菜单的Platform->Settings点进去,选择Locale页,然后在Locales:下面的复选框里慢慢找中文吧。其实就在最后一个:中文(中国)。加好后,在Default Language下拉菜单里就可以选“中文(中国)”了。 默认的拉丁文国家是在太多了,我一般先点Clear All,然后再找英文(美国)和中文(中国)就够了。 (5) 选完语言后,顺便拜访一下Build Options页。Full Kernel Mode我是比较喜欢,可惜据说运行起来会不稳定,还是别勾了;Enable KITL勾上,多个调试通路也好。 (6) 编译生成一个run-time image. 从菜单里Build OS->Sysgen. 等半个小时吧。从编译和SDK的原理来说,这步不是必须的。但是如果不SYSGEN而直接BUILD SDK,会弹出下图这个警告框。怕怕,还是SYSGEN一下好了 二、编译SDK (1) 终于等完SYSGEN,现在可以导出SDK了,从PB菜单里点Platform -> SDK -> New SDK. 出来个对话框,如下图。这里面的Locale只能选U.S.English和Japanese,这步和SDK的语言没关系,我们选English. 点NEXT (2) 第二步选编程支持,eMedded Visual C++ 4.0 support是必选的,其他看开发规划了。然后就FINISH了 (3) 别急着点Build SDK, 在Configure SDK里还很多好玩的。从PB菜单里点Platform->SDK->Configure SDK, 出来个N多内容的对话框。 A) 比较重要的,切到Emulation页,在Configuration里默认的可能是None, 选成Emulator: x86_Release,然后就可以配置内存大小、分辨率和色深了,这点比较重要,以前我还不懂自己定制模拟器时,就在分辨率和色深上吃过亏,模拟器上作好的东西,放到板子上跑完全走了样 B) 首先选Transports页,看看TCP/IP, ActiveSync, KITL三种调试手段都勾上没,选个自己喜欢的作默认。 C) 然后切到Splash Screen页, 可以弄张BMP图片作为SDK安装包启动时的广告界面。我原来以为是可以替换掉每次WINCE模拟器启动时显示的Windows CE那张LOGO图片,看来还没那么好玩。 (4) 编译SDK了。Platform->SDK->Build SDK。这个很快,两三分钟就搞定了。 三、安装SDK,开始爽吧 在WINCE500/PBWorkspaces/%your_workspace%/SDK/ 里面可以找到刚才编译出来的SDK。先关闭eVC再安装它。安装完后,重新打开eVC,就可以选择这个模拟器了,用法和STANDARDSDK_500模拟器一样,但是功能强多了,有自己定制的组件、分辨率和色深、可以Folder Sharing。我自己弄的一个,发张PP
Feedback#1楼回复引用查看 2007-04-27 21:22 by good [未注册用户] 这么好的文章居然没有人顶! #2楼回复引用查看 2007-05-19 20:10 by kimi [未注册用户] 照着做了 非常感谢 以后还请多多指教 #3楼回复引用查看 2007-05-19 20:21 by kimi [未注册用户] 请问在 configure SDK时,你提到过“在 Emulator: x86_Release,然后就可以配置内存大小” 我的初始值是48,请问这个值是否受到主机(HOST)的物理内存的限制,譬如HOST机内存是1G,那么配置内存是否能大于1G呢!谢谢 #4楼 [楼主] 回复引用查看 2007-05-19 23:39 by Walzer @kimi 嘿嘿,这个我倒没试,你可以试一把,估计是不行。 WINCE最多也只能管512M内存,我一般设置成128M就足够用了。 到了设备上,有个64M物理内存就谢天谢地了,有128M就要笑歪了,现在的设备制造商都很节省BOM的。 #5楼回复引用查看 2007-05-20 20:50 by kimi [未注册用户] 首先,非常感谢你的回答。another question 我现在有块2410的板子(带LCD),采用NANDFLASH启动WinCE,想做一个WinCE启动就能自动运行的界面程序类似一些工控的组态软件(但我现在还没有确定这个界面所要包含的功能,不用去考虑,仅仅是一个界面而已)。我对VC的界面编程不太熟悉,对EVC就知道的更少了。 请问我是否应该现看看VC方面的UI编程知识,我希望能够有针对性的看,那样会感觉进步快一点。 glad to hear from you!
#6楼 [楼主] 回复引用查看 2007-05-21 17:11 by Walzer @kimi EVC和VC看起来不多,主要区别应该只在SDK/CPU类型的选择,和远程调试方法上面。 关于调试方法,我BLOG的随笔分类里的TOOLS栏目里有一些入门的文章可以参考 http://www.cnblogs.com/walzer/category/61900.html 关于UI编程,在UI分类里有些可以参考 http://www.cnblogs.com/walzer/category/92488.html 如果你对FLASH空间的开销不敏感的话,就用MFC;如果对成本敏感,那么就可以用GWES的方案,目前我就是在这基础上做的。GWES的说明位于WINCE500的产品文档的Windows CE Features > Shell and User Interface > Graphics, Windowing and Events里面 #7楼回复引用查看 2007-05-21 20:26 by kimi [未注册用户] 虽然现在还不太明白,不过很快就会知道了^_^ #8楼回复引用查看 2007-05-23 21:52 by kimi [未注册用户] 你好,Walzer! 我想在WinCE下做数据库的开发,现在用的是模拟器,据说要装一个什么 AdoCE Manger,我下载下来后,通过EVC的remote File Viewer,将所有的安装文件都export到emulator下(o(∩_∩)o),想进行安装,结果失败,不仅如此,所有我传送到emulator系统的.exe文件都不能执行,譬如我还传过winRAR.exe ,请问这是问什么,你有好的建议吗!
谢谢!!!! #9楼 [楼主] 回复引用查看 2007-05-24 08:59 by Walzer 1、数据库开发我只是预研过,没真正做过。在CE5组件里Core OS->Windows CE devices -> Applications and Services Development -> SQL Server CE 2.0 不知道合用不,但这个实在太大了。 2、我不曾在EMULATOR上装过软件,重启一下就没了,(VS2005的模拟器改进了这一点),你传过去的EXE文件不能执行,我猜三种情况:1、你下载EXE文件时CPU类型选得不对,比如拿个ARMV4的下载到EMULATOR X86上;2、操作系统类型不对,比如EXE是用于Win Mobile或Win XP的;3、你自己定制的EMAULTOR里少组件,典型的比如少 CAB File Installer / Uninstaller
#10楼回复引用查看 2007-06-25 00:44 by akay [未注册用户] 博主,按你所说的方法,我已成功生成sdk,并安装.在vs2005中可以看到该sdk. 但无法运行对应的模拟器.即vs2005无法部署应用程序.