基于Windows CE的嵌入式Java解决方案(转载)

基于Windows CE的嵌入式Java解决方案
                                qyjohn@SMTH

[摘要]
   本文介绍了一系列基于Windows CE的Java虚拟机以及集成开发环境,其中包括
IBM公司的Visual Age Micro Edition, Sun公司的Personal Java, WabaSoft 发起
的Waba,Insignia公司的Jeode,Nsicom公司的CrEme以及New Monics公司的PERC。

JAVA手机网[www.cnjm.net]

在Java虚拟机的支持下,一个嵌入式应用程序不但可以运行在不同硬件平台不同版
本的Windows CE操作系统上,还可以轻易的移植到其他嵌入式操作系统上。因此,
在嵌入式应用程序开发方面,嵌入式Java比嵌入式VC或者是嵌入式VB具有不可替代
的优势。

[介绍]
   Windows CE,根据微软公司在Windows CE and Pocket PC: FAQ 中的定义,是
操作系统开发商用以构建专有操作系统的一系列组件。原始设备制造商(OEM) 可以
向微软公司购买一个称为“Windows CE平台开发系统”的集成开发环境并利用该系
统组装和编译基于Windows CE的操作系统,该操作系统包括一系列基于Windows CE
的组件以及开发商自行开发的应用软件或者是设备驱动程序。由于基于Windows CE
的操作系统具有与微软Windows 系列操作系统相类似的用户界面,因此受到众多最
终用户以及开发商的青睐。目前Windows CE已经被广泛应用在手机,掌上型电脑,
个人数字助理,快译通以及电子字典等便携式设备上。
   虽然Windows CE的原义是指一系列操作系统组件,通常意义上的Windows CE,
则是指一切基于Windows CE的操作系统,例如采用了Windows CE 2.x技术的掌上型
电脑Palm-Size PC操作系统(譬如CASIO的Cassiopeia) 和采用了Windows CE 3.0技
术的Pocket PC操作系统(譬如Compaq的iPad H3650)。 通常意义上的Windows CE应

JAVA手机网[www.cnjm.net]

用程序开发,基本上也是针对这两个操作系统的应用程序开发。
   就象微软的Visual Studio系列产品是Windows平台上最有效率的集成开发环境
一样,目前最为流行的针对Windows CE的两个集成开发环境也是由微软开发的,分
别称为嵌入式VC (Embedded VC 3.0)和嵌入式VB (Embedded VB 3.0)。可以想象,
这两个集成开发环境与Windows 平台上的VC和VB具有异曲同工之妙。但是,即使是
使用微软自己的集成开发环境为微软自己的操作系统开发应用程序,开发人员仍然
需要时时忍受不兼容的痛苦,例如为Pocket PC 编写的应用程序不能够在Palm-Size
PC上运行,即使是完全一模一样的应用程序也要为不同版本的Windows CE不同的硬
件平台分别建立一个项目分别编译发布,等等。
   自从Java语言问世以后,其“一次编译,到处运行”的强大特性立即吸引了众
多的嵌入式系统开发商。在短短的几年时间内,大量基于Linux, QNX, VxWorks 等
嵌入式操作系统的Java虚拟机在业界不断的涌现出来,同时也产生了大量针对不同
设备的嵌入式Java应用程序。虽然微软公司由于控制Java的努力失败而对Java采取
了抵制措施,但是嵌入式Java仍然顽强的在微软一统天下的Windows CE市场中占据
了一席之地。在Java虚拟机的支持下,一个应用程序不但可以运行在不同硬件平台
不同版本的Windows CE操作系统上,还可以轻易的移植到其他嵌入式操作系统上。
因此,在嵌入式应用程序开发方面,嵌入式Java比嵌入式VC或者是嵌入式VB具有不

JAVA手机网[www.cnjm.net]

可替代的优势。
   本文介绍了一系列基于Windows CE的Java虚拟机以及集成开发环境,其中包括
IBM公司的Visual Age Micro Edition, Sun公司的Personal Java, WabaSoft 发起
的Waba,Insignia公司的Jeode,Nsicom公司的CrEme以及Newmonics公司的PERC。

[Visual Age Micro Edition]
   Visual Age for Java,这个由IBM公司开发的集成开发环境,想来任何一个经
常使用Java的开发人员都不应该感到陌生。在2001年9月,Visual Age for Java被
Java开发人员杂志(Java Developer's Journal)评选为本年度最佳Java集成开发环
境,最佳团队开发工具,以及最有新意的Java产品。

JAVA手机网[www.cnjm.net]

   Visual Age Micro Edition则是IBM 公司开发的嵌入式Java解决方案,包括一

JAVA手机网[www.cnjm.net]

个完备的集成开发环境和一系列针对不同平台的虚拟机。 在2001年7 月, Visual
Age Micro Edition被Java专家杂志(Java Pro)以及Sun公司共同评选为本年度最佳
嵌入式Java开发工具。

JAVA手机网[www.cnjm.net]

   使用Embedded VC或者是Embedded VB的开发人员有福了。为Pocket PC 编写的
应用程序不能够在Palm-Size PC上运行?即使是完全一模一样的应用程序也要为不
同版本的Windows CE不同的硬件平台分别建立一个项目分别编译发布?这些微软专
有缺陷(Microsoft Proprietary Bug) 在Java语言“一次编译,到处运行”的强大
特性面前已经不复存在。利用Visual Age Embedded Edition 编写的应用程序不仅
仅可以不加修改的顺利运行在各种硬件平台各种版本的Windows CE上,还可以不加
修改的顺利运行在AIX, Linux, ITRON, OSE, PalmOS, QNX, Solaris, Windows 等
其他平台上。
   Visual Age Micro Edition包括如下强大特性:
   (1) 一个可靠的可裁剪的J9虚拟机。该虚拟机提供了对Java本地方法(JNI) 的
支持和可靠的递增式垃圾回收机制。该虚拟机支持扩展的Java实时标准和TCP/IP协
议,并且支持动态类库加载。更为重要的是,该虚拟机能够从文件加载事先编译好
的软件与程序,从而减少了应用程序的启动时间,提高了整个应用程序的速度。该
虚拟机包括四个不同版本的标准配置,开发人员可以根据应用程序的需要选择合适
的配置,例如jclXtr比较适合资源十分紧张运行环境,而jclMax需要占用更多的系
统资源但是能够提供更多的功能和特性。此外,开发人员还可以根据应用程序的需
要对这些配置进行裁剪,从而为自己的应用程序设计一个最佳的配置。
   (2) 支持多个硬件平台多种操作系统。目前Visual Age Micro Edition支持的
硬件平台(微处理器)包括:386, 68K, MIPS, PowerPC, SH3, SH4, Sparc, Strong
Arm和x86。目前Visual Age Micro Edition支持的操作系统包括:AIX,  Hard Hat
Linux, ITRON, OSE, PalmOS, Pocket PC, QNX, Solaris, Windows和Windows CE。
   (3) 功能完备的集成开发环境。除了其他集成开发环境都会提供的界面设计、
代码编译和程序编译功能之外,Visual Age Micro Edition能够制作ROM 镜象文件
并且将应用程序上栽到目标平台进行调试,能够对应用程序的资源使用状况进行分
析和评估。此外,Visual Age Micro Edition还提供了一系了的工具,使得开发人
员能够很容易的实现代码重用、团队合作、以及版本控制。
   Visual Age Micro Edition的网站地址为:http://www.embedded.oti.com/。
感兴趣的读者可以访问该网站以获得更多的信息。

[Personal Java]
   Personal Java是Sun公司专门为Windows CE 2.11设计的Java 运行环境,该运
行环境的目标硬件平台是MIPS和SH3,并且要求目标平台至少具备16 MB的存储空间
和16色或者是灰度显示设备。经测试Personal Java运行环境还可以在Windows  CE
2.12, IBM Workpad Z50, Compaq Aero 2100以及HP Jornada 430 SE等便携式设备
上运行。由于Windows CE 2.11中使用了一些与Windows CE 2.0不同的I/O函数,因
此Personal Java不能够很好的在Windows CE 2.0上运行,并且Sun公司也没有计划
继续完善对Windows CE 2.0的支持。根据Sun 公司网站所提供的消息,目前有一个

JAVA手机网[www.cnjm.net]

团队正在开发基于Windows CE 3.0 (Pocket PC 3.0) 的Personal Java,并且计划
于2000年10月发布一个测试版本。但是知道作者撰稿之日为止,我们还是没有能够
从Sun 公司的网站下载到支持Pocket PC 3.0的Personal Java。

JAVA手机网[www.cnjm.net]

   Personal Java支持标准Java语言1.1.6版本的一个子集,此外又增加了一些专
门为Windows CE设计的API 。熟悉Java的开发人员能够在自己熟悉的Java开发平台
上进行应用程序开发,唯一需要注意的就是不能够使用Personal Java 所不支持的
类库与特性。
   在Personal Java中完全支持的标准Java类库包如下:
   java.applet           java.awt.datatransfer      java.awt.event

JAVA手机网[www.cnjm.net]

   java.awt.image        java.beans                 java.lang
   java.lang.reflect     java.net                   java.net
   java.text             java.util
   此外,在Personal Java中还包括了一些不完全支持的标准Java类库包(例如
java.awt和java.io)和一些可支持可不支持的标准Java类库包(例如java.math,
和java.rmi)。开发人员使用这些类库时必须注意这些类库是否被Personal Java
支持或者是其特性是否与标准Java类库有所不同。
   Personal Java虽然没有能够提供一个集成开发环境,但是它为开发人员提供

JAVA手机网[www.cnjm.net]

了一个模拟运行环境(Personal Java Emulation Environment, PJEE),使得开发
人员能够在开发平台(桌面计算机)上模拟运行专门为Windows CE设计的应用程序。
PJEE有点类似于标准的Java运行环境(Java Runtime Environment, JRE),用户需
要将其安装在自己的开发平台上并且设置PATH, JAVA_HOME, CLASSPATH 等环境变
量才能够使用。与标准JRE相类似,在PJEE中开发人员通过命令行来启动Personal
Java应用程序,例如命令pjava MyApp可以启动一个名为MyApp 的应用程序。目前
版本的PJEE仅仅支持Windows和UNIX两个平台。

JAVA手机网[www.cnjm.net]

   Personal Java的网站地址为:http://java.sun.com/products/personaljava/。
感兴趣的读者可以访问该网站以获得更多的信息。

[Waba]
   Waba是一种专门为微小型设备设计的程序开发平台,在该平台上定义了一种程
序设计语言,一个虚拟机,一种类库文件格式以及一组基本类库。由于Waba语言的
语法是Java语言的语法的严格子集,Waba平台的类库文件格式也是Java平台类库文

JAVA手机网[www.cnjm.net]

件格式的严格子集,因此熟悉Java的开发人员能够利用自己已经熟悉的Java开发平
台进行Waba程序开发。
   Waba平台所针对的是例如手机、个人数字助理、掌上型电脑、多功能计算器等
硬件资源非常紧张的微小型设备。因此,Waba的编程语言、虚拟机和基本类库都针
对微小型设备进行了优化处理。在Java语言中需要耗费大量内存或者是被认为与微
小型设备无关的特性均被排除在Waba平台之外。同样,Waba平台也对Java平台的基
本类库进行了大幅度裁减,从而使得Waba平台只需要占用很少的硬件资源而仍然能

JAVA手机网[www.cnjm.net]

够满足微小型设备应用程序设计的需要。
   和Java应用程序相类似,Waba应用程序能够在任何安装了Waba平台的操作系统
上运行。最早的Waba平台是针对Windows CE操作系统进行开发的,但是目前Waba虚
拟机已经被移植到多种平台上,其中包括AmigaOS, BeOS, Linux, MacOS, MS-DOS,
Newton, OS/2, PalmOS和Windows。 为了保持与Java平台的兼容,Waba还提供了一
系列过渡类库使得Waba应用程序也能够在仅仅任何安装了Java运行环境的平台上运
行。它既可以是Windows或者UNIX下面的普通应用程序(Application),也可以是内
嵌在浏览器中的一个小应用程序(Applet)。
   WabaSoft提供了一个软件开发工具包(Software Development Kit),称为Waba
SDK 。这个工具包提供了所有的Waba基本类库,开发人员可以将这些基本类库添加
到自己熟悉Java开发环境中去,然后在自己熟悉的Java开发环境中进行Waba应用程
序开发。一个最基本的Waba开发环境是Java SDK + Waba SDK,开发人员需要利用
Java SDK中提供的javac来编译Waba应用程序。此外,Waba SDK 还提供了针对一个
针对Windows CE的代码转换工具ExeGen和Warp,利用这两个工具开发人员能够将编
译以后的Waba类库文件转换成Windows CE平台上的可执行文件。
   随着Waba平台在嵌入式系统中的广泛应用,专门为Waba设计的集成开发环境也
不断的涌现出来,VisualWaba和UIGen 可以说是这些第三方集成开发环境中的佼佼
者。VisualWaba和UIGen 本身都是利用Java开发的应用程序,用来进行应用程序开
发似乎有点反应迟钝,但是如果综合考虑一下Borland JBuilder和IBM Visual Age
for Java的性能,VisualWaba和UIGen 的速度还是可以容忍的。相对来说UIGen 的
功能还比较弱,只能够根据用户设计的界面生成相对应源代码。VisualWaba更类似

JAVA手机网[www.cnjm.net]

于微软的Visual Basic,开发人员不但能够在其中进行界面设计和程序设计并生成
源代码,还能够对程序进行编译,最后生成Windows CE平台上的可执行文件。
   关于Waba平台的更多情况,感兴趣的读者可以访问如下网站:
   (1) WabaSoft: http://www.wabasoft.com
   (2) Waba Workbench: http://www.wabaworkbench.com
   (3) Visual Waba: http://www.dmic.fr/palm/prg2.htm

[Jeode]
   Jeode是Insignia 公司开发的针对多个平台的嵌入式Java运行环境。目前版本
的Jeode虚拟机支持如下硬件平台和操作系统:
   基于SH或者是MIPS芯片的Windows CE 2.12/3.0;
   基于ARM芯片的Linux;
   基于Intel x86芯片的Windows NT; 以及
   基于PowerPC芯片的VxWorks。
   Jeode虚拟机支持Personal Java标准中的所有内容,因此基于Personal Java的
应用程序基本上可以不加修改的在Jeode虚拟机上运行,基于Jeode 的应用程序也可
以不加修改的在Personal Java上运行。这些共同的标准Java类库包括如下内容:

JAVA手机网[www.cnjm.net]

   java.awt              java.applet                java.beans
   java.io               java.lang                  java.lang.reflect
   java.math             java.net                   java.rmi
   java.security         java.sql                   java.text
   java.util             java.util.zip
   由于Jeode 虚拟机使用了Insignia公司的动态适应性编译技术,并且实现了精
确的同步垃圾回收,因此能够大大的提高Java应用程序的效率和反应速度。根据一
些用户以及第三方测试人员所提供的数据,动态适应性编译技术使得应用程序的执

JAVA手机网[www.cnjm.net]

行效率比标准的解释执行方式提高6 倍,而对内存的要求基本上与标准的解释执行
方式相同;动态适应性编译技术使得应用程序的执行效率与及时编译技术(JIT) 相
类似,但是对内存的要求仅仅是即使编译技术的1/4。
   Jeode 的网站地址为:http://www.insignia.com/products/default.asp。感
兴趣的读者可以访问该网站以获得更多的信息。

[其他]
   (1) CrEme
   CrEme是由Nsicom公司专门为Windows CE设计的Java虚拟机,该虚拟机符合Sun
公司所制定的Personal Java标准,因此能够运行基于Personal Java的应用程序。
在Personal Java标准的基础上,CrEme虚拟机提供了对Swing的支持。但是,需要注
意的是,在应用程序中使用Swing往往意味着更大的内存开销,因此Swing 可以说是
CrEme的一个特色,但却不一定是CrEme的一个优点。

JAVA手机网[www.cnjm.net]

   目前版本的CrEme虚拟机支持MIPS, Power PC, SH3, Strong Arm以及Intel x86
芯片上的Windows CE 2.x的所有版本。

JAVA手机网[www.cnjm.net]

   参考站点:http://www.nsicom.com/products/creme.asp
   (2) PERC
   PERC是目前唯一的一个与Java 1.3相兼容的嵌入式Java虚拟机。该虚拟机目前支
持68K, Intel x86, MIPS以及Power PC芯片上的Linux, Windows CE以及VxWorks等一
系列操作系统。
   参考站点:http://www.newmonics.com/

JAVA手机网[www.cnjm.net]

 
[结论]
   本文介绍了一系列基于Windows CE的Java虚拟机以及集成开发环境,其中包括
IBM公司的Visual Age Micro Edition, Sun公司的Personal Java, WabaSoft 发起
的Waba,Insignia公司的Jeode,Nsicom公司的CrEme以及New Monics公司的PERC。
众多厂家纷纷开发Windows CE的Java虚拟机以及集成开发环境表明:虽然微软公司
由于控制Java的努力失败而对Java采取了抵制措施,但是嵌入式Java仍然顽强的在
微软一统天下的Windows CE市场中占据了一席之地。
   在Java虚拟机的支持下,一个嵌入式应用程序不但可以运行在不同硬件平台不
同版本的Windows CE操作系统上,还可以轻易的移植到其他嵌入式操作系统上。因
此,在嵌入式应用程序开发方面,嵌入式Java比嵌入式VC或者是嵌入式VB具有不可
替代的优势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值