其它 / 嵌入式 · 2010-05-25

基于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%/PLATFORMDeviceemulator 这个目录下有这个文件Using the CE DeviceEmulator.rtf.如图:

Using the CE deviceEmulator

按照这个文件的操作一步步执行即可完成相应的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,没有发现任何问题,呵呵看来很多都是都是要实践啊~~~~ 啊~~~~-_-!!!smile_tongue

最后就是按照Using the CE DeviceEmulator.rtf 这个文档生成SDK即可.

2.有了SDK就可以开始配置应用程序开发环境了.For App developer

a.首先安装SDK(这里俺生成的为”mytest_SDK.msi”)

Generator SDK

在选择Features项目时候,可以不选择’Embedded VC++’毕竟这个是用C++进行开发.如下图所示:

SETUP sdk

b.安装好SDK后.就可以开始配置VS2005了(说明这里以2005为例,2008类似设置,俺测试通过)

1.运行vs2005,Goto Tools->Options. Expand the “Device Tools” node on left and select “Devices”,选择你对应的平台,这里俺的是”mytest”,同时选择相应的设备,俺这里是”airwolf2026Test”如下图所示:

deviceSetting

2.选择上图中的”属性”,并保证”传输”选择”DMA传输”,如下图:

deviceProperty

这里有个问题,就是俺如果把”传输”选择 TCP/IP,VS2005就无法启动模拟器了….会提示说’设备未就绪’等.这个不知道该怎么解决…有知道的麻烦告诉俺下哈.谢谢.smile_wink

3.在”仿真器选项”中设置颜色和屏幕分辨率等,如下:

deviceProperty2

其他几个选项比如’网络’,外网设备’等俺还没有研究…初学…

然后就可以关闭这个相应的对话框了,ok接下来可以写一个Demo程序跑一下,看看环境是否搭好了.

4.从vs2005 ‘文件’菜单->>新建项目,选择’智能设备’–>WINCE 5.0,选择项目类型:设备应用程序,名字这里叫’DEMOTest”,如下图:

NewProject

然后和普通Winform开发类似,放置一个Button,在它的单击事件出show出一句话.顺便测试下俺这个添加了中文支持的SDK是否可以正 常显示中文哈.然后就是启动调试,程序编译好,会弹出对 话框要求选择’部署位置’,俺这边就选择airwolf2026Test,如下:

deployment

看看相应的模拟器和程序有没有起来.如果有起来,那么恭喜,环境搭建成功

最后看看效果吧:

runState

呃,看来俺添加的中文支持没有效果….这 个…smile_angry

最后附上参考文档:

原创]终于制作出WinCE 5.0的ARM模拟器收藏

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在默认皮肤这节可能重复了.呵呵