登录
首页 嵌入式系统 嵌入式系统
回帖 发帖
正文

主题:如何从开发WinXP应用程序快速转到WinCE平台

点击:452 回复:1

其实Windows CE与Windows XP都出自微软,同是“Windows”自然有很多相似之处。最重要的还是了解他们两者的开发思想。
1、开发思想
 为了好理解,下面将开发产品的电脑叫主机,被开发的设备叫从机。
 PC程序开发的主机(开发的设备)和从机(被开发的设备)是一体的,即是本身;WinCE开发的主机是PC,从机是WinCE,两者一般通过USB同步来通讯。要建立个概念。
 这个是最重要的。有客户直接问,是不是要在WinCE上装一个VS2005,我并不觉得可笑。因为一些一直从事PC上应用开发的工程师,不像我这些搞单片机过来的,他们没有主机和从机的概念。建立这个概念,对从PC编程到WinCE开发,有很大的帮助。PC编程不需要知道SDK、主从机的概念,编译好程序就马上可以在本机出来。正因为如此,他们就分不清主从机,哪个是在PC上运行,那个应该是在WinCE上跑。
 要清楚那些工具是用来开发设备程序的,那些工具是在设备上运行的。
 例如,开发工具VS2005、SDK,这个对PC编程还是WinCE开发都是运行在主机上,用于设备开发的;编译出来的程序,以及运行这程序相关的DLL(例如开发SQL相关的程序,需要在设备上安装SQL、.net framework ,也就是一些DLL)都是属于设备的。对于.net framework 或者SQL,PC 和 WinCE上都有自己的版本,如PC上是SQL2000,WinCE是SQLCE3.5,这个是为应用程序的运行服务的,归属于从机的概念。开发WinCE的时候,主机会下载SQLCE、.Net到WinCE上使得开发的程序运行起开(当然可以在设备上直接安装这些或已经有了,就不用主机下载进去安装了)。开发PC程序的时候,由于主从是一体,会看不到这个过程,导致大部分人忽略了,转而对WinCE开发产生迷惑。
 现在的VS2005自己本身也集成了这些服务运行于设备的程序(WinCE5.0、6.0的SQLCE .NetFramework,XP的.NetFramework),当然某些还是要安装的,例如XP的SQL2000,但其目的主要是服务用户开发的程序,属于设备的。
 SDK
 SDK就是软件开发工具包,当然是属于主机上使用的东西。PC开发无论是VS2005,或者VC6.0,安装的时候已经包含了SDK包,因为PC的架构(X86)系统是单一的。而WinCE设备的种类很多,无法做到单一,需要厂家提供。主机是调用这些SDK生成平台相关的程序。然后下载到设备运行。开发示意如下图所示。
附件 ce开发.jpg
2、开发工具
 EVC4.0 SP4  & VC6.0。早期的WinCE C++开发工具使用EVC4.0,十分类似于PC上早期常用的VC6.0。如果有VC6.0编程基础的,使用EVC新建一个工程,一步步实现功能。参考自带的帮助,这个也不会太难。当然,如果将VC6.0的程序直接移植到WinCE上,这个相对困难些。最好还是自己重新建一个程序。WinCE的API编程,或者MFC,功能没有Windows XP的大,有些函数、类也被裁减了。但这些在MSDN上都有说明。另外注意的是EVC 中字符串缺省的是UNICODE编码(即一个字符wchar_t是2个字节 typedef unsigned short wchar_t),而VC的是ASCII编码(一个字符char 1个字节)。
 EVC现在微软不推荐使用了,而且只能够支持到WinCE5.0。我还是建议客户使用VS2005。
 VS2005。VS2005不再像EVC和VC一样,分开版本分别针对平台;而是把各种平台集成到一个IDE上,统一管理。对智能设备,除了他本省自带的SDK外,用户还可以安装其他的SDK,在创建程序的时候,选择相应的SDK即可。
13-09-06 11:36
我一般不顶贴,这个值得顶,望继续,能贴一个实例上来把玩一下就最好不过表情
13-09-06 14:35

工控新闻

更多新闻资讯