`
izuoyan
  • 浏览: 8934371 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Windows CE开发之起步停车

阅读更多

Windows CE开发之起步停车

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

最近一段时间,移动设备开发越来越多的成为了程序员社区的话题。移动设备主要包括智能手机和PDA,是嵌入式开发中很重要的一个方向。在智能手机领域被大多数手机厂商支持的J2ME无疑是领头羊,随着多普达推出了515手机,基于微软CE平台的SmartPhone也逐渐成为关注焦点。一直不温不火的PDA市场,也在行业应用领域有所收获,Pocket PC由于其开发与Windows平台的一致性而得到了开发人员的青睐。

在长期关注程序员论坛的过程中,我发现由于Windows CE开发的独特性,加之多个版本并存、缺乏中文参考资料,所以论坛上充斥着大量相同的入门问题。我希望在这里能够为刚转入Windows CE开发的程序员明晰一些概念,将现有的Windows CE版本与开发工具之间的关系给大家解释清楚,在最后介绍一下,关于Windows CE开发的中文书籍和国外网站的情况。

Windows CE与平台开发

Windows CE是微软为嵌入式设备打造的操作系统,而嵌入式设备可谓多种多样,这就要求CE操作系统必须是可定制的,所以微软将Windows CE设计为模块化的操作系统。说简单点,我们可以把Windows CE想像成一盒积木,你可以用积木搭建出任何物体,但不一定要把所有的积木都用上。

Windows CE搭建出来的物体就是平台,是适应某种有固定标准的嵌入式设备的操作系统子集,最著名的平台就是Pocket PC了,是提供给没有键盘的掌上电脑使用的平台。由于平台和硬件的一致性,所以有时候我们也用平台的名称来称呼整个系统——硬件与操作系统的总和。

我们也可以自己开发平台,开发工具是微软提供的Platform BuilderPlatform Builder的版本号是和Windows CE的版本号一致的。

更多程序员关心的是应用程序的开发,而应用程序开发是针对特定平台的,我们在开发之前必须安装目标平台的SDK,才能够开发出适应目标平台的开发工具。

Windows CE开发环境综述

初学者另外一个比较糊涂的概念是版本的问题,现在市面上能够见到Windows CE的两代产品,它们的内核分别基于Windows CE 3.0Windows CE.NET(即4.0)。

微软将今年刚面世的Pocket PC 2003Smart Phone 2003统称为Windows Mobile 2003,我们大多数时候还是习惯地沿用老称谓。

而市面上经常见到的Pocket PC 2002是基于Windows CE 3.0的平台,而Pocket PC 2003则是基于Windows CE.NET的平台,需要注意的是,Pocket PC 2003的内核是Windows CE.NET 4.2。而SmartPhone2003也是基于Windows CE.NET的。SmartPhone的最初版本是2002,基于Windows CE 3.0的,但是微软没有推出SmartPhone2002的中文版。

清晰了平台与CE之间的关系,解释平台与开发工具之间的关系就很容易了。微软提供给应用程序开发者的工具包括:Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0Embedded Visual Basic 3.0Embedded Visual C++ 4.0Visual Studio.NET

开发工具的版本号是与Windows CE的版本号对应的。EVC3.0EVB3.0是用来开发基于Windows CE 3.0平台的应用程序的,比较常见的平台有:Pocket PC 2002Pocket PC 2000Palm-size PCHPC。而EVC4.0是用来开发Windows CE.NET平台的程序的,主要包括Pocket PC 2003SmartPhone 2003

Visual Studio.NET针对嵌入式设备开发需要SDE的支持,而VS.NET 2003中包括了SDE,不需要另外安装。Visual Studio.NET开发的程序需要目标平台支持.NET Compact Framework。现在支持.NET Compact Framework的平台有Pocket PC 2002Pocket PC 2003。这里需要注意的是SmartPhone 2003是不支持.NET Compact Framework的。

EVB开发入门

微软已经宣布EVB不再支持Windows CE.NET,所以EVB的最终版本是3.0。但由于EVB的易上手性和快速开发的特点,在VS.NET横空出世之前,它成为Windows CE平台上快速开发的不二之选。现在EVB仍然适合Windows CE 3.0平台上小型应用程序的快速开发。如果您不是专职的Windows CE程序员,而只是需要在Windows CE平台上开发整个系统的一部分,那么EVB可以让您用很短的时间开发出您想要的程序。

EVB的开发环境的搭建也是十分简单,您可以从微软的网站上下载EVT 2002,其中包含了EVC 3.0EVB 3.0Pocket PC 2002 SDKSmartPhone 2002 SDK。按照提示将EVBPocket PC 2002 SDK安装好后就可以进行开发了。SDK中包含模拟器,在没有实际设备的情况下,可以利用模拟器来调试程序。

这里需要注意的是,开发环境和模拟器之间是通过网络连接协议进行通讯的,所以开发所用的计算机上必须有一个活动的网络连接。如果没有,可以安装微软的虚拟网卡,具体过程请参照我在CSDN专栏里的文章《在无网络的环境下使用模拟器》。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 306pt; HEIGHT: 102pt" type="#_x0000_t75"><img o:title="evb" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725280.jpg"><font size="3"></font></shape>

EVB的开发环境与VB类似,因为Windows CE应用程序需要在模拟器或者实际设备上调试,所以我们必须选择程序的输出目标。如果您选择了Emulation,在您按下运行(或F5)后,EVB将自动启动模拟器,并把程序下载到模拟器中。

由于新的Windows CE.NET将不再支持EVB,微软建议EVB程序员使用VB.NET开发新的程序,而对于原有的EVB程序也给出了迁移路径,关于这方面的论述,您可以参考MSDN的文章《Moving from eMbedded Visual Basic to Visual Basic .NET》。

EVC开发入门

无论是Win32平台还是WinCE平台,Visual C++都是一个强大的开发工具。而EVC也是WinCE上的主流开发工具。EVC支持MFC类库的子集,可以给开发者提供最强大的支持,也使Win32平台上的VC程序员可以很容易地迁移到WinCE平台上。但由于MFC类库需要一个DLL,所以对某些存储空间有限的嵌入式设备来说,这是个很大的负担,所以SmartPhone就不支持MFC

<shape id="_x0000_i1029" style="WIDTH: 315pt; HEIGHT: 201.75pt" type="#_x0000_t75"><img o:title="evc" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725282.jpg"><font size="3"></font></shape>

说这么多,让我们来创建一个EVC的工程。是不是和VC很像,需要提醒大家注意的是,由于嵌入式设备支持的CPU种类很多,我们在选择创建工程类型的同时,也要把该工程所支持的CPU类型选择好。创建工程的过程和VC是一样的。当然不同的平台支持的工程类型是不同的,比如Pocket PC 2003有支持MFCAPI的两种工程,而SmartPhone 2003则只有支持API的一种工程。

<shape id="_x0000_i1030" style="WIDTH: 431.25pt; HEIGHT: 62.25pt" type="#_x0000_t75"><img o:title="evc2" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725284.jpg"></shape>

EVC中比VC环境中多了一行下拉菜单的选项,分别用来选择:工程、SDKCPU类型和输出设备。以Pocket PC为例,在实际设备上调试应该选择Win32(WCE ARMV4)Debug ,而在模拟器上则需要选择Win32(WCE emulator)Debug

VS.net开发入门

又来到我们的.NET时间了,我怎么说又?最近大家都被JAVA.NET搞得头昏脑胀了吧?不管大家怎么吵,.NET Compact Framework对于手中缺少开发利器的嵌入式程序员无疑是一大福音。Visual Studio .NET 2003完全支持对移动设备的开发,好了,让我们开始一段奇幻的.NET之旅吧。

<shape id="_x0000_i1026" style="WIDTH: 333pt; HEIGHT: 243pt" type="#_x0000_t75"><img o:title="net1" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725286.jpg"><font size="3"></font></shape>

打开VS.net 2003,选File - New – Project,就打开了上面的界面。让我们来建立一个Visual C#的工程,然后选择Smart Device Application,然后OK

<shape id="_x0000_i1027" style="WIDTH: 342pt; HEIGHT: 238.5pt" type="#_x0000_t75"><img o:title="net2" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725288.jpg"><font size="3"></font></shape>

你在这里要选择目标设备:Pocket PCSmartPhoneWindows CE(指的是其他平台),下面则是选择创建的工程类型,我们选择“Windows Application”,左边是选择的平台所支持的模拟器。最后点击OK,我们就可以进入VS.NET的主界面了。

选择输出设备的情况和EVB十分类似,只需要选择输出设备,而不用选择CPU类型。当然了,因为.NET是运行在虚拟机上的了。在CPU类型众多的嵌入式领域,.NETJAVA才能真正发挥自己的强项。

<shape id="_x0000_i1028" style="WIDTH: 423pt; HEIGHT: 152.25pt" type="#_x0000_t75"><img o:title="net3" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-2317252810.jpg"><font size="3"></font></shape>

当然,我们也可以选择VB.NET作为开发智能设备的语言,情况和C#完全一样。目前智能设备开发只支持C# VB.NET。爱好C++的程序员可能还要等上一段时间。
分享到:
评论

相关推荐

    Windows CE开发指南

    Windows CE开发指南、英文版 Windows CE .NET Hands-On Lab

    WINDOWS CE实用开发技术.zip.001

    《WINDOWS+CE实用开发技术》完整版电子书pdf版 该书主要涉及WinCE下的驱动开发技术 压缩文件分三部分 需下载完全才能解压: WINDOWS CE实用开发技术.zip.001 WINDOWS CE实用开发技术.zip.002 WINDOWS CE实用开发技术...

    基于Windows CE系统嵌入式开发教程

    第2章 ARM基础开发 第3章 开发工具EVC的使用 第4章 Windows CE窗口和消息机制 ...第12章 Windows CE底层开发 第13章 Windows CE下的驱动开发 第13章 Windows CE下的驱动开发 第15章 Windows CE下的调试连接

    windows ce 开发教程

    windows ce 学习者的必备书,详细介绍了windows ce 的整个开发流程,尽请关注

    Windows CE开发初步

    许多开发人员都尝试了基于无线装置的软件编程,然而这些思想达于成功的关键之处在于他们能否深 入了解Windows CE 的功能和缺点。 本文就此介绍了Windows CE 的一些基本特性,并指出过渡到基于无线装置的软件开发所应...

    WINDOWS CE实用开发技术pdf.part2.rar

    WINDOWS CE实用开发技术pdf.part2.rar 共五卷 很好的书关于wince ce5.0的

    基于C#的Windows CE程序开发实例教程

    本书以C#语言、Visual 2003为开发环境,深入介绍了Windows CE应用程序开发的实用技术。本书分为基础篇和应用篇两部分。基础篇主要介绍了Windows CE概述、C#程序设计基础、XML基础、SQL CE数据库。应用篇主要通过4个...

    Windows CE 开发初步(第一部)

    Windows CE 开发初步(第一部) Windows CE 开发初步(第一部).

    Windows CE开发入门

    基于windows的嵌入式系统讲解,包括一些主要得开发步骤与注意事项

    WindowsCE实用开发技术

     《WindowsCE实用开发技术(第2版)》集作者多年来从事WindowsCE技术开发和认证培训方面的经验,系统总结和概括了WindowsCE的基础理论和特点,对WindowsCE开发过程中所涉及到的操作系统定制开发、Bootloader开发、OAL...

    使用visual studio开发windows ce程序

    zWindows CE 开发工具介绍 z使用Visual Studio开发Native CE应用程序 z使用Visual Studio开发.NET CE应用程序 z使用Visual Studio开发CE应用程序安装包 z将开发好的应用程序整合到CE映像中

    嵌入式Windows CE 5.0驱动程序开发

    windows ce 开发相关论文\嵌入式Windows CE 5.0驱动程序开发及测试.pdf

    Windows CE的开发工具包

    本文为你概略地介绍了面向Windows CE的WIN32 API,其目的是为了突出这种被广泛应用的并且十分重要的API的一般的特点和优点。有许多其它的细节你需要在第一次使用Windows CE嵌入式产品之前来学习掌握;做为投石问路的...

    Windows+CE开发指南

    Windows+CE开发指南

    Windows CE高级开发指南

    windows ce开发的相关技术,包括api,evc,evb开发数据库开发等!

    Windows CE设备驱动程序开发指南

    《Windows CE设备驱动程序开发指南》,描述了CE驱动程序的开发

    WINDOWS CE实用开发技术.zip.002

    《WINDOWS+CE实用开发技术》完整版电子书pdf版 该书主要涉及WinCE下的驱动开发技术 压缩文件分三部分 需下载完全才能解压: WINDOWS CE实用开发技术.zip.001 WINDOWS CE实用开发技术.zip.002 WINDOWS CE实用开发技术...

    WINDOWS CE实用开发技术pdf.part1.rar

    WINDOWS CE实用开发技术pdf.part1.rar 共五卷 很好的书关于wince ce5.0的

    Windows CE系统开发概要(ppt)

    Windows CE系统开发概要.pptWindows CE系统开发概要.pptWindows CE系统开发概要.pptWindows CE系统开发概要.ppt

Global site tag (gtag.js) - Google Analytics