Windows CE开发之起步停车

原创 2004年02月24日 10:32:00

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" />CSDN_Dev_Image_2004-2-231725280.jpg

      

       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

CSDN_Dev_Image_2004-2-231725282.jpg

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

       CSDN_Dev_Image_2004-2-231725284.jpg

 

       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之旅吧。

CSDN_Dev_Image_2004-2-231725286.jpg

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

CSDN_Dev_Image_2004-2-231725288.jpg

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

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

CSDN_Dev_Image_2004-2-2317252810.jpg

 

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

C# windows CE 使用小技巧实例

C# Windows CE使用小技巧实例(2013-08-31 10:03:28) 转载▼ 标签: c wince 使用小技巧实例 it 分类: WINCE ...
  • SnowLotusLi
  • SnowLotusLi
  • 2014年01月23日 20:18
  • 485

win7 64位系统 win CE6.0模拟器开发环境配置

win7 64位系统安装 win CE6.0模拟器开发环境配置win7 64位系统安装 win CE60模拟器开发环境配置 本章讲解需要的原料 我们对win 7系统的构造都已经很熟悉了在这里不在赘述 ...
  • ygz5175526
  • ygz5175526
  • 2015年08月04日 09:19
  • 1745

Windows ce的体系结构和功能

Windows ce体系结构图   操作系统层 操作系统的基本功能被放在多个独立的进程(exe)里面实现。在运行的时候,这些进程大致有如下几个: l         内核NK.EXE l       ...
  • songjinshi
  • songjinshi
  • 2013年06月06日 16:47
  • 2378

定制WINDOWS CE用户界面

作者:太阳下的泪 转自:http://blog.sina.com.cn/s/blog_5be1061c0100bgy8.html MSDN原文参考LINK: http://msdn...
  • whw8007
  • whw8007
  • 2013年05月13日 20:29
  • 591

驾校学车,科目二坡路定点停车和起步操作技巧!

前方就是上坡路定点停车与陡坡起步考试科目地点      驾车在上坡路定点停车与陡坡起步,可以提高使用档位和离合器的能力,以适应在上坡路段固定地点靠边停稳车辆和等候放行时的操作需要。   考试内容...
  • thy822
  • thy822
  • 2016年04月25日 11:15
  • 3069

Win CE 实现web访问快捷方式解决方案

1      Wince实现web访问快捷解决方案 1.1  PDA手持设备参数 1.1.1  MOTO MC3100 购买机器上显示的参数: 系统  Windows CE 6.0 处理器  Marv...
  • boonya
  • boonya
  • 2015年09月09日 13:19
  • 2426

Windows CE 必备开发工具总结

开发工具: VS2005或VS2008都可以。两者都包含“智能设备”开发功能。 ActiveSync:这是PC和智能设备通信的工具。可以传送文件同步数据等。 Windows Mobi...
  • lan_tian88
  • lan_tian88
  • 2013年02月25日 22:01
  • 894

Windows CE 模拟器和远程调试工具

一、模拟器   模拟器(emulator)是PB的一部分。专用于调试在PB下创建的内核及应用程序。模拟器能够在PC下模拟Windows CE的物理平台 图一 模拟器 远程调用评测程序...
  • xingyuan1hao
  • xingyuan1hao
  • 2013年11月28日 16:43
  • 959

windows CE5.0模拟器 可在PC上运行的WINDOWS CE5.0下载(转载)

蚁言送给新手朋友.免安装绿色版,最好用的分辨率可调CE5.0模拟器  码字很劳累,转贴请注明作者ZH1H2H3或蚁言并保持帖子的完整.  先看几个吧,别的分辨率的就不上图了 看到网上朋友谈论在PC...
  • cruelchen
  • cruelchen
  • 2013年07月12日 10:50
  • 1225

加快编译Windows CE 6.0的驱动和BSP

在WinCE下面,创建工程,然后编译是需要花很长时间的。当我们第一编译完工程以后,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的: WinCE6.0的编译过程真是很漫长,编译整个OS...
  • zhangjikuan
  • zhangjikuan
  • 2014年10月23日 13:04
  • 784
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows CE开发之起步停车
举报原因:
原因补充:

(最多只允许输入30个字)