随着移动通讯的发展,移动应用软件的需求也随之升温,目前移动应用软件开发工具有C++、eMbedded Visual C++、eMbedded Visual Bsiac以及J2ME系列
按:] 随着移动通讯的发展,移动应用软件的需求也随之升温,目前移动应用软件开发工具有C++、eMbedded Visual C++、eMbedded Visual Bsiac以及J2ME系列。SUN发布的MIDP开发工具包受到众多移动通讯厂商的支持,“基于JAVA技术的手机”已经成了一句广告词。在这个领域微软处于困难的境地,虽然微软在EVC之后又发布了EVB,但EVB具有VB相同的缺点,在Windows条件下VB尚能被接受的话,在嵌入式开发中EVB的缺点就是不容忽视的。 .NET Compact Framework 和Smart Device Extensions (SDE) for Visual Studio.Net是微软专门针对移动通讯设备开发的工具包,其目的就是夺取移动软件开发工具市场,或许不久我们就可以看到“基于.NET技术的手机”这样的广告词。由MIDP到.NET Compact Framework 和Smart Device Extensions (SDE) for Visual Studio.Net,我们从另一个角度来看可以发现未来的开发工具将更专业。
Windows CE简述 Microsoft Windows CE是一个紧凑、高效和可扩展的操作系统,适用于各种嵌入系统和产品。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的硬件系统。同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,例如客户电子设备、专用工业控制器以及嵌入式通信设备等。
凭借Windows CE,开发者可以充分利用他们已拥有的基于Windows的编程技巧。Windows CE支持超过1,400条的普通Microsoft Win32 API和其他的编程接口,包括:
组件对象模型(COM)
Microsoft基本类库(MFC)
Microsoft ActiveX控制
Microsoft活动模板库(ATL)
在Microsoft Windows CE下开发压缩和高性能的嵌入应用程序
嵌入式系统设计员们长期被一些技术和功能性障碍所困扰,这些因素降低了产品性能和兼容性,提高了开发成本,而Windows CE这个32位、与Windows兼容的确定性实时操作系统消除了这些障碍。Windows CE为了满足小型可扩展系统的需求而实现,这些系统在各种产品上工作:包括移动式计算机、终端、工业控制器和其他许多产品。最突出的一点是,它允许开发者使用Win32 API,方便而功能强大的开发平台以及其他资源。
Windows CE的模块化设计使得它能够在大量的平台上定制使用,从客户电子设备到专用的工业控制器。由于它是模块化的,故而你能使用满足平台系统需求的最小软件模块和组件集合来设计嵌入式系统平台,从而使内存用量最小并最大可能地提高了操作系统的性能。
Windows CE直接支持多类硬件外围设备,象键盘、鼠标设备、触摸面板、串行口、以太网、调制解调器、USB设备、音频设备、并行口和存储设备(ATA或闪存),同时,由于Windows CE扩展了新的外围设备类型,对嵌入式系统开发者来说,在增加新的外围设备类型方面就有了巨大的潜力可挖,实现起来也很容易。这是通过Windows CE简洁而良好定义的设备驱动模型来实现的,它提供了良好文档化的设备驱动程序接口(DDI)和展示如何实现它们的例程代码。这一模型使得嵌入式系统开发员(OEM和IHV)很容易地为运行在Windows CE平台上的设备实现自己的驱动软件。
Windows CE支持超过1,400条最频繁使用的Win32 API,借此Windows CE开发者就能利用大量其他的编程资源、工具、软件例子以及文档来进行Windows CE开发工作。全世界有多于五百万的Win32开发者,其中有些有经验的程序员可能已谙熟Microsoft Windows CE平台的开发工作,从而降低了培训成本,缩短了进入市场的时间。
在Windows CE平台上可以使用的数据库包括:Pocket Access ,SQL Server CE, Oracle 9i Lite, db2 Lite等数据库。在编写数据库方面的访问时,主要使用ADOCE方式,即Windows CE平台上的ADO。
目前Windows CE的开发中,最主要的工具就是Microsoft eMbedded Visual Tools 3.0(EVT),其中包括 eMbedded Visual Basic ( EVB )、eMbedded Visual C++ ( EVC )和分别用于不同设备的SDK。在EVT之前,要开发Windows CE应用的话,是通过将Windows CE Toolkits 嵌入VC++ 和 VB来实现的。从 EVT3.0 开始微软正式的将这部分功能独立出来,形成了独立的开发软件,其中两个主要的开发工具:EVC和EVB在界面和开发风格上分别继承了VC6.0和VB 6.0的开发界面和开发风格。两者的功能和特性各不相同,下表为EVC和EVB的主要特性和他们之间的区别:
表:EVC和EVB的比较:
功能与特性: |
EVC |
EVB |
模拟器,模拟器调试 |
支持 |
支持 |
CE设备直接调试 |
支持 |
仅H/PCs、Pocket PC支持 |
H/PCs |
支持 |
支持 |
Palm-size PC |
支持 |
支持 |
Pocket PC |
支持 |
支持1.0版本以上的PPC设备 |
COM组件和ActiveX控件开发 |
支持 |
不支持 |
Hosting ActiveX controls |
支持(很难开发) |
支持(很难开发) |
驱动开发 |
支持 |
不支持 |
ActiveSync开发 |
支持 |
不支持 |
开发调试速度 |
慢 |
快 |
开发自由度 |
高 |
低(局限于VB语法和事件) |
WINDOWS CE设备 |
支持所有WINDOWSCE设备 |
支持CE2.11以上版本设备 |
远程服务 |
支持 |
支持(通过WINSOCK控件) |
Pocket PC 新增功能 |
支持 |
支持 |
Pocket PC API |
支持 |
不支持(可通过ActiveX控件实现) |
ADOCE |
不支持 |
支持 |
我们从上表可以看出,EVC功能强大,但是开发难度大,开发速度慢;EVB开发简单,尤其适合作数据库方面的开发,但是在组件开发、网络通信等方面存在缺陷。正如VB6.0和VC6.0的区别。
在这里需要说一下的是,在Windows CE .Net中内置了EVC 4.0(Windows CE .Net即Windows CE 4.0,在今年1月7日在美国CE Show首次露面)。EVC4.0和在此之前的EVT3.0没有冲突,可以共存。EVC4.0的自带SDK称为STANDARDSDK,如果使用模拟器调试,须选择WIN32(WCE Emulator)Release/Debug ,而不是X86....。并且EVC4.0是专门针对Windows CE .NET系统开发而设计的。而EVB已经终止于3.0版本了。淘汰EVB后,他的简单和快速进行数据库开发的特性将在我们这篇文章的重点―Smart Device Extensions for Visual Studio .NET上有更好的表现。
下面是一些链接地址,大家可以去了解更多的关于eMbedded Visual Tools的知识。
关于EVC4.0:
http://msdn.microsoft.com/vstudio/device/datasheet.asp 关于eMbedded Visual Tools 的更多详细情况和下载方式请访问微软站点:
http://msdn.microsoft.com/vstudio/device/prodinfo.asp 由于Windows CE所应用的硬件设备的特殊性,在Windows CE的开发中有一些注意事项,在这方面微软公司提供了一些建议。
Microsoft Windows CE 编程的十点忠告: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnce21/html/msdn_10ce_tips.asp
查看本文来源