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

[介绍]
JAVA手机网[www.cnjm.net]
   Windows CE,根据微软公司在Windows CE and Pocket PC: FAQ 中的定义,是
操作系统开发商用以构建专有操作系统的一系列组件。原始设备制造商(OEM) 可以
向微软公司购买一个称为“Windows CE平台开发系统”的集成开发环境并利用该系
JAVA手机网[www.cnjm.net]
统组装和编译基于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应
用程序开发,基本上也是针对这两个操作系统的应用程序开发。
   就象微软的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手机网[www.cnjm.net]
嵌入式操作系统的Java虚拟机在业界不断的涌现出来,同时也产生了大量针对不同
设备的嵌入式Java应用程序。虽然微软公司由于控制Java的努力失败而对Java采取
了抵制措施,但是嵌入式Java仍然顽强的在微软一统天下的Windows CE市场中占据
了一席之地。在Java虚拟机的支持下,一个应用程序不但可以运行在不同硬件平台
不同版本的Windows CE操作系统上,还可以轻易的移植到其他嵌入式操作系统上。
因此,在嵌入式应用程序开发方面,嵌入式Java比嵌入式VC或者是嵌入式VB具有不
可替代的优势。
   本文介绍了一系列基于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手机网[www.cnjm.net]
常使用Java的开发人员都不应该感到陌生。在2001年9月,Visual Age for Java被
Java开发人员杂志(Java Developer's Journal)评选为本年度最佳Java集成开发环
境,最佳团队开发工具,以及最有新意的Java产品。
   Visual Age Micro Edition则是IBM 公司开发的嵌入式Java解决方案,包括一
个完备的集成开发环境和一系列针对不同平台的虚拟机。 在2001年7 月, Visual
Age Micro Edition被Java专家杂志(Java Pro)以及Sun公司共同评选为本年度最佳
嵌入式Java开发工具。
   使用Embedded VC或者是Embedded VB的开发人员有福了。为Pocket PC 编写的
JAVA手机网[www.cnjm.net]
应用程序不能够在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需要占用更多的系
JAVA手机网[www.cnjm.net]
统资源但是能够提供更多的功能和特性。此外,开发人员还可以根据应用程序的需
要对这些配置进行裁剪,从而为自己的应用程序设计一个最佳的配置。
   (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。
JAVA手机网[www.cnjm.net]
   (3) 功能完备的集成开发环境。除了其他集成开发环境都会提供的界面设计、
代码编译和程序编译功能之外,Visual Age Micro Edition能够制作ROM 镜象文件
并且将应用程序上栽到目标平台进行调试,能够对应用程序的资源使用状况进行分
JAVA手机网[www.cnjm.net]
析和评估。此外,Visual Age Micro Edition还提供了一系了的工具,使得开发人
员能够很容易的实现代码重用、团队合作、以及版本控制。
   Visual Age Micro Edition的网站地址为:http://www.embedded.oti.com/。
感兴趣的读者可以访问该网站以获得更多的信息。
JAVA手机网[www.cnjm.net]

[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 公司网站所提供的消息,目前有一个
团队正在开发基于Windows CE 3.0 (Pocket PC 3.0) 的Personal Java,并且计划
于2000年10月发布一个测试版本。但是知道作者撰稿之日为止,我们还是没有能够
从Sun 公司的网站下载到支持Pocket PC 3.0的Personal Java。
   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.awt.image        java.beans                 java.lang
   java.lang.reflect     java.net                   java.net
JAVA手机网[www.cnjm.net]
   java.text             java.util
   此外,在Personal Java中还包括了一些不完全支持的标准Java类库包(例如
java.awt和java.io)和一些可支持可不支持的标准Java类库包(例如java.math,
JAVA手机网[www.cnjm.net]
和java.rmi)。开发人员使用这些类库时必须注意这些类库是否被Personal Java
支持或者是其特性是否与标准Java类库有所不同。
   Personal Java虽然没有能够提供一个集成开发环境,但是它为开发人员提供
了一个模拟运行环境(Personal Java Emulation Environment, PJEE),使得开发
JAVA手机网[www.cnjm.net]
人员能够在开发平台(桌面计算机)上模拟运行专门为Windows CE设计的应用程序。
PJEE有点类似于标准的Java运行环境(Java Runtime Environment, JRE),用户需
要将其安装在自己的开发平台上并且设置PATH, JAVA_HOME, CLASSPATH 等环境变
量才能够使用。与标准JRE相类似,在PJEE中开发人员通过命令行来启动Personal
Java应用程序,例如命令pjava MyApp可以启动一个名为MyApp 的应用程序。目前
版本的PJEE仅仅支持Windows和UNIX两个平台。
   Personal Java的网站地址为:http://java.sun.com/products/personaljava/。
感兴趣的读者可以访问该网站以获得更多的信息。

[Waba]
   Waba是一种专门为微小型设备设计的程序开发平台,在该平台上定义了一种程
序设计语言,一个虚拟机,一种类库文件格式以及一组基本类库。由于Waba语言的
语法是Java语言的语法的严格子集,Waba平台的类库文件格式也是Java平台类库文
件格式的严格子集,因此熟悉Java的开发人员能够利用自己已经熟悉的Java开发平
台进行Waba程序开发。
   Waba平台所针对的是例如手机、个人数字助理、掌上型电脑、多功能计算器等
硬件资源非常紧张的微小型设备。因此,Waba的编程语言、虚拟机和基本类库都针
对微小型设备进行了优化处理。在Java语言中需要耗费大量内存或者是被认为与微
小型设备无关的特性均被排除在Waba平台之外。同样,Waba平台也对Java平台的基
本类库进行了大幅度裁减,从而使得Waba平台只需要占用很少的硬件资源而仍然能
够满足微小型设备应用程序设计的需要。
   和Java应用程序相类似,Waba应用程序能够在任何安装了Waba平台的操作系统
上运行。最早的Waba平台是针对Windows CE操作系统进行开发的,但是目前Waba虚
拟机已经被移植到多种平台上,其中包括AmigaOS, BeOS, Linux, MacOS, MS-DOS,
Newton, OS/2, PalmOS和Windows。 为了保持与Java平台的兼容,Waba还提供了一
JAVA手机网[www.cnjm.net]
系列过渡类库使得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更类似
于微软的Visual Basic,开发人员不但能够在其中进行界面设计和程序设计并生成
JAVA手机网[www.cnjm.net]
源代码,还能够对程序进行编译,最后生成Windows CE平台上的可执行文件。
   关于Waba平台的更多情况,感兴趣的读者可以访问如下网站:
   (1) WabaSoft: http://www.wabasoft.com
   (2) Waba Workbench: http://www.wabaworkbench.com
JAVA手机网[www.cnjm.net]
   (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。
JAVA手机网[www.cnjm.net]
   Jeode虚拟机支持Personal Java标准中的所有内容,因此基于Personal Java的
应用程序基本上可以不加修改的在Jeode虚拟机上运行,基于Jeode 的应用程序也可
以不加修改的在Personal Java上运行。这些共同的标准Java类库包括如下内容:
   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手机网[www.cnjm.net]
   java.util             java.util.zip
   由于Jeode 虚拟机使用了Insignia公司的动态适应性编译技术,并且实现了精
确的同步垃圾回收,因此能够大大的提高Java应用程序的效率和反应速度。根据一
些用户以及第三方测试人员所提供的数据,动态适应性编译技术使得应用程序的执
行效率比标准的解释执行方式提高6 倍,而对内存的要求基本上与标准的解释执行
方式相同;动态适应性编译技术使得应用程序的执行效率与及时编译技术(JIT) 相
类似,但是对内存的要求仅仅是即使编译技术的1/4。
   Jeode 的网站地址为:http://www.insignia.com/products/default.asp。感
JAVA手机网[www.cnjm.net]
兴趣的读者可以访问该网站以获得更多的信息。

JAVA手机网[www.cnjm.net]
[其他]
   (1) CrEme
   CrEme是由Nsicom公司专门为Windows CE设计的Java虚拟机,该虚拟机符合Sun
公司所制定的Personal Java标准,因此能够运行基于Personal Java的应用程序。
在Personal Java标准的基础上,CrEme虚拟机提供了对Swing的支持。但是,需要注
JAVA手机网[www.cnjm.net]
意的是,在应用程序中使用Swing往往意味着更大的内存开销,因此Swing 可以说是
CrEme的一个特色,但却不一定是CrEme的一个优点。
   目前版本的CrEme虚拟机支持MIPS, Power PC, SH3, Strong Arm以及Intel x86
芯片上的Windows CE 2.x的所有版本。
   参考站点: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/
 
[结论]
   本文介绍了一系列基于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具有不可
替代的优势。
※ 来源:·BBS 水木清华站 smth.org·[FROM: 64.166.188.154]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值