基于Armv4I WINCE 5.0 应用程序开发环境搭建(C# VS2005或者VS2008)
这里说的开发环境是指:VS2005或者2008这样的IDE,开发语言C#,也就是在WINCE上进行.NET CF开发
主要分为两步:
a.准备必要的目标平台SDK;针对目标硬件平台通过Platform生成的SDK或者是厂商提供SDK(本文主要针对 Armv4i 平台,因此SDK是定制生成的)
b.安装该SDK,在VS2005等进行一些设置即可.
1.这里先提下目标平台SDK的生成(通过PB5.0),作为备忘吧.WINCE 应用程序开发可以并不需要了解SDK的生成,只需要知道用现成的SDK(由平台开发人员通过PB生成或者厂商提供的SDK)配合vs2005或者2008进行一些配置即可.这个步骤主要是供给PB DEVELOPER 参考用,说不定哪天俺也开发这个哈
前提条件是wince5.0相关开发环境的要安装好.这里主要只PB5.0,安装wince5.0过程中会自带安装好pb5.0,这一步很简单,可以直接看wince5.0的安装文档说明或者网上资源;安装的时候勾选arm 和x86两个平台就足够了.
有了wince5.0的开发环境后.就需要安装相应的 Device Emulator BSP(这里主要指 ARM平台)Device Emulator BSP 下载;
安装好这个BSP后,在%winceroot%/PLATFORM\Deviceemulator 这个目录下有这个文件Using the CE DeviceEmulator.rtf.如图:
按照这个文件的操作一步步执行即可完成相应的SDK的制作,按照这个文件制作出来的只是一个演示SDK,实际的SDK要根据相应的开发版进行OS定制.其中需要注意的是:
为了支持托管代码.net cf和ActiveSync需要
1.For supporting the managed app development experience in VS 2005, SYSGEN_WCELOAD is required
Catalog View: Core OS->Windows CE Devices->Applications – End User->CAB File Installer/Uninstaller
2.Adding ActiveSync is optional (SYSGEN_AS_BASE)
另外作为演示俺也是选择默认的Microsoft DeviceEmulator:Armv4i,而不是开发版对应的SamSung SMDK2410 :ArmV4i
其他就是配置 Configure your Device Emulation device settings文件,俺会提供一个俺修改的文件,里面有注释更加好找.
配置这个文件ExportSdk.sdkcfg的时候需要用到Guid生成工具.MS的开发工具一般都有带guidgen.exe,搜索一下就有.或者直接这边找一个http://www.guidgen.com/Index.aspx
另外参考文档中作者说不能选择Enterprise Web Pad这样的模板工程,俺就是选择这样的工程生成俺的SDK,没有发现任何问题,呵呵看来很多都是都是要实践啊~~~~啊~~~~-_-!!!
最后就是按照Using the CE DeviceEmulator.rtf 这个文档生成SDK即可.
2.有了SDK就可以开始配置应用程序开发环境了.For App developer
a.首先安装SDK(这里俺生成的为"mytest_SDK.msi")
在选择Features项目时候,可以不选择'Embedded VC++'毕竟这个是用C++进行开发.如下图所示:
b.安装好SDK后.就可以开始配置VS2005了(说明这里以2005为例,2008类似设置,俺测试通过)
1.运行vs2005,Goto Tools->Options. Expand the “Device Tools” node on left and select “Devices”,选择你对应的平台,这里俺的是"mytest",同时选择相应的设备,俺这里是"airwolf2026Test"如下图所示:
2.选择上图中的"属性",并保证"传输"选择"DMA传输",如下图:
这里有个问题,就是俺如果把"传输"选择TCP/IP,VS2005就无法启动模拟器了....会提示说'设备未就绪'等.这个不知道该怎么解决...有知道的麻烦告诉俺下哈.谢谢.
3.在"仿真器选项"中设置颜色和屏幕分辨率等,如下:
其他几个选项比如'网络',外网设备'等俺还没有研究...初学...
然后就可以关闭这个相应的对话框了,ok接下来可以写一个Demo程序跑一下,看看环境是否搭好了.
4.从vs2005 '文件'菜单->>新建项目,选择'智能设备'-->WINCE 5.0,选择项目类型:设备应用程序,名字这里叫'DEMOTest",如下图:
然后和普通Winform开发类似,放置一个Button,在它的单击事件出show出一句话.顺便测试下俺这个添加了中文支持的SDK是否可以正常显示中文哈.然后就是启动调试,程序编译好,会弹出对话框要求选择'部署位置',俺这边就选择airwolf2026Test,如下:
看看相应的模拟器和程序有没有起来.如果有起来,那么恭喜,环境搭建成功
最后看看效果吧:
呃,看来俺添加的中文支持没有效果....这个...
最后附上参考文档:
How to locate core operating system fixes for Microsoft Windows CE Platform Builder products这个KB说明了WinCE更新包相关的一些策略,比如它发布年更新包的时候,会把该年份之前的月更新包移除下载站点,因此为了给PB5.0添加.NET CF2.0或者3.5支持.只需要安装2007年全年更新包,或者另加2008,01月更新包即可.原来在一些论坛上很多人说要先安装之前的更新包...找的半死都没有找到....
修改后的ExportSDK.sdkcfg在默认皮肤这节可能重复了.呵呵