`
huihawk
  • 浏览: 5165 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

基于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具有不可
替代的优势。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Java_for_ce.rar_Java for wince6._WINCE6.0 JAVA_ce6 ja_windows ce

    Java for CE 是一个专为Windows CE 6.0操作系统设计的Java模拟器解决方案,它使得在掌上设备或嵌入式系统上运行Java应用程序成为可能。这个压缩包包含了一系列必要的组件和工具,使得用户能够在Windows CE 6.0环境下...

    建立WindowsCE+6.0开发环境

    4. **创建解决方案和项目**: 在Visual Studio中,创建一个新的智能设备解决方案,然后添加项目,如控制台应用程序、Windows Forms应用程序或设备驱动程序项目。 5. **编写代码和调试**: 使用Visual Studio的IDE编写...

    同步 Windows ce

    对于较新的Windows版本,可能需要升级ActiveSync或寻找其他解决方案。 通过理解这些知识点,用户可以更好地利用ActiveSync 4.5来管理和同步他们的Windows CE设备,无论是为了日常的数据同步,还是进行嵌入式开发...

    CE JAVA虚拟机

    - **嵌入式应用**: CE JVM广泛应用于嵌入式设备,如工业自动化设备、医疗设备、消费电子产品等,提供跨平台的软件解决方案。 - **移动设备**: 在早期的智能手机和平板电脑中,CE JVM支持开发和运行Java应用程序,...

    基于嵌入式Linux的汉字输入法 (1).pdf

    嵌入式操作系统通常选择轻量级的解决方案,如Palm OS、Windows CE、EPOC、Linux CE、QNX、ECOS和Lynx等。其中,Palm OS和Windows CE都有成熟的汉字输入法解决方案,但嵌入式Linux系统具有开源和可定制的优势,可以...

    嵌入式系统/ARM技术中的基于WindowsCE的HIRFL-CSR前端控制系统设计

    总的来说,基于Windows CE的嵌入式系统为HIRFL_CSR前端控制提供了稳定、高效的解决方案,实现了分布式控制和实时数据处理。这样的系统设计不仅提高了系统的可靠性和灵活性,还降低了维护成本,是现代大型科学装置...

    wince java

    描述中的“5.0亲测可用”可能是指该压缩包提供的Java解决方案已经在WinCE 5.0版本上成功测试过。这通常意味着用户可以期待一个相对稳定和可靠的Java运行环境。Java虚拟机对于WinCE的优化是关键,因为它需要适应有限...

    基于WinCE6.0开发

    **基于WinCE6.0开发**是嵌入式系统领域中的一个重要主题,它涉及Windows Embedded Compact(以前称为Windows CE)的第六个主要版本。WinCE6.0是一个可定制的操作系统,广泛应用于各种嵌入式设备,如工业控制、医疗...

    newsjncss.zip_Windows_CE_Java_

    标题中的"newsjncss.zip_Windows_CE_Java_"表明这是一个与Windows CE操作系统和Java...通过深入学习和实践,你将能够熟练地在Windows CE平台上利用Java进行应用程序开发,为各种嵌入式设备提供功能丰富的软件解决方案。

    嵌入式Linux在移动设备中的应用.pdf

    国内的嵌入式Linux市场也在迅速发展,形成了竞争激烈的格局,主要厂商有红旗嵌入式Linux、博利思推出的嵌入式解决方案等。这些公司为移动设备和其他嵌入式应用提供了多样化的Linux发行版,满足不同用户的需求。 ...

    2015-锐捷-嵌入式-校园招聘笔试题

    在锐捷的笔试题中,考生可能需要展示对上述知识点的理解和应用能力,例如编写高效的嵌入式程序、解决硬件与软件协同问题、设计低功耗解决方案,以及理解和分析嵌入式系统的性能指标等。通过这样的考试,企业可以评估...

    Linux打造新型嵌入式设备.pdf

    在实际应用中,Linux广泛应用于各种嵌入式产品,如SENA Technologies提供的设备网络化解决方案。它们通过TCP/IP协议将各种电子产品接入互联网,提供高质量、低成本的端到端产品系列,包括嵌入式板卡和模块、串口设备...

    win ce 蓝牙服务端

    总的来说,"Win CE蓝牙服务端"是一个针对Windows CE平台的蓝牙通信解决方案,利用了VS2008和CE JDK 6.0的开发环境,实现了蓝牙设备间的服务器功能,涉及蓝牙协议、安全管理和数据传输等多个方面,为Win CE设备提供了...

    嵌入式系统的概念绪论PPT学习教案.pptx

    在资源受限的情况下,嵌入式系统能够提供高度优化的解决方案,例如在工业自动化、智能家居、汽车电子、医疗设备等领域都有广泛应用。 嵌入式系统的分类主要包括简单嵌入式系统和复杂嵌入式系统。简单嵌入式系统通常...

    嵌入式系统及应用:第二章 嵌入式系统的基本知识-软件.ppt

    总之,嵌入式系统软件的基础涵盖硬件驱动、操作系统、中间件和应用软件等多个层面,这些组件共同协作,为特定应用提供强大而高效的解决方案。随着技术的进步,嵌入式系统的软件设计和实现方法也在不断演进,以适应更...

    ARM9嵌入式PPT

    **ARM9嵌入式系统详解** ARM9是英国ARM公司设计的一种微处理器内核,广泛应用于嵌入式系统中,以其高效能、低功耗的特点备受青睐。...这些知识对于嵌入式开发者来说至关重要,有助于理解和构建高效的嵌入式解决方案。

    jvm.0.4.7-bin.zip

    总的来说,"jvm.0.4.7-bin.zip"提供了一个在Windows CE设备上运行Java应用的解决方案,让开发者能够在嵌入式系统中充分利用Java的强大功能。通过深入理解JVM的工作原理和WinCE的特性,我们可以更有效地利用这个工具...

    ARM9 嵌入式

    总之,ARM9嵌入式技术是嵌入式系统设计的重要组成部分,它提供了一种高效、灵活的解决方案,满足了众多行业对高性能、低功耗计算的需求。随着物联网、人工智能等领域的快速发展,ARM9及其相关技术将持续发挥重要作用...

    中国嵌入式开发从业人员调查报告(2010-2011)

    - **百度/谷歌**:作为最常用的搜索引擎,工程师可以通过它们查找技术文档、解决方案等。 #### 五、嵌入式工程师对参加培训的看法 ##### 1、如何看待培训 - **积极态度**:大多数工程师认为参加培训有助于提高自己...

    消费电子中的基于X86的信息家电SoC解决方案

    此外,兼容多种操作系统,如Windows CE、嵌入式Linux和RTOS,可以适应不同的应用场景,比如实时通信网关需要实时操作系统保障通信连接的稳定。 Rise Technology公司的例子展示了如何通过其iDragon mP6 SoC产品实现...

Global site tag (gtag.js) - Google Analytics