基于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 是一个专为Windows CE 6.0操作系统设计的Java模拟器解决方案,它使得在掌上设备或嵌入式系统上运行Java应用程序成为可能。这个压缩包包含了一系列必要的组件和工具,使得用户能够在Windows CE 6.0环境下...
4. **创建解决方案和项目**: 在Visual Studio中,创建一个新的智能设备解决方案,然后添加项目,如控制台应用程序、Windows Forms应用程序或设备驱动程序项目。 5. **编写代码和调试**: 使用Visual Studio的IDE编写...
对于较新的Windows版本,可能需要升级ActiveSync或寻找其他解决方案。 通过理解这些知识点,用户可以更好地利用ActiveSync 4.5来管理和同步他们的Windows CE设备,无论是为了日常的数据同步,还是进行嵌入式开发...
- **嵌入式应用**: CE JVM广泛应用于嵌入式设备,如工业自动化设备、医疗设备、消费电子产品等,提供跨平台的软件解决方案。 - **移动设备**: 在早期的智能手机和平板电脑中,CE JVM支持开发和运行Java应用程序,...
嵌入式操作系统通常选择轻量级的解决方案,如Palm OS、Windows CE、EPOC、Linux CE、QNX、ECOS和Lynx等。其中,Palm OS和Windows CE都有成熟的汉字输入法解决方案,但嵌入式Linux系统具有开源和可定制的优势,可以...
总的来说,基于Windows CE的嵌入式系统为HIRFL_CSR前端控制提供了稳定、高效的解决方案,实现了分布式控制和实时数据处理。这样的系统设计不仅提高了系统的可靠性和灵活性,还降低了维护成本,是现代大型科学装置...
描述中的“5.0亲测可用”可能是指该压缩包提供的Java解决方案已经在WinCE 5.0版本上成功测试过。这通常意味着用户可以期待一个相对稳定和可靠的Java运行环境。Java虚拟机对于WinCE的优化是关键,因为它需要适应有限...
**基于WinCE6.0开发**是嵌入式系统领域中的一个重要主题,它涉及Windows Embedded Compact(以前称为Windows CE)的第六个主要版本。WinCE6.0是一个可定制的操作系统,广泛应用于各种嵌入式设备,如工业控制、医疗...
标题中的"newsjncss.zip_Windows_CE_Java_"表明这是一个与Windows CE操作系统和Java...通过深入学习和实践,你将能够熟练地在Windows CE平台上利用Java进行应用程序开发,为各种嵌入式设备提供功能丰富的软件解决方案。
国内的嵌入式Linux市场也在迅速发展,形成了竞争激烈的格局,主要厂商有红旗嵌入式Linux、博利思推出的嵌入式解决方案等。这些公司为移动设备和其他嵌入式应用提供了多样化的Linux发行版,满足不同用户的需求。 ...
在锐捷的笔试题中,考生可能需要展示对上述知识点的理解和应用能力,例如编写高效的嵌入式程序、解决硬件与软件协同问题、设计低功耗解决方案,以及理解和分析嵌入式系统的性能指标等。通过这样的考试,企业可以评估...
在实际应用中,Linux广泛应用于各种嵌入式产品,如SENA Technologies提供的设备网络化解决方案。它们通过TCP/IP协议将各种电子产品接入互联网,提供高质量、低成本的端到端产品系列,包括嵌入式板卡和模块、串口设备...
总的来说,"Win CE蓝牙服务端"是一个针对Windows CE平台的蓝牙通信解决方案,利用了VS2008和CE JDK 6.0的开发环境,实现了蓝牙设备间的服务器功能,涉及蓝牙协议、安全管理和数据传输等多个方面,为Win CE设备提供了...
在资源受限的情况下,嵌入式系统能够提供高度优化的解决方案,例如在工业自动化、智能家居、汽车电子、医疗设备等领域都有广泛应用。 嵌入式系统的分类主要包括简单嵌入式系统和复杂嵌入式系统。简单嵌入式系统通常...
总之,嵌入式系统软件的基础涵盖硬件驱动、操作系统、中间件和应用软件等多个层面,这些组件共同协作,为特定应用提供强大而高效的解决方案。随着技术的进步,嵌入式系统的软件设计和实现方法也在不断演进,以适应更...
**ARM9嵌入式系统详解** ARM9是英国ARM公司设计的一种微处理器内核,广泛应用于嵌入式系统中,以其高效能、低功耗的特点备受青睐。...这些知识对于嵌入式开发者来说至关重要,有助于理解和构建高效的嵌入式解决方案。
总的来说,"jvm.0.4.7-bin.zip"提供了一个在Windows CE设备上运行Java应用的解决方案,让开发者能够在嵌入式系统中充分利用Java的强大功能。通过深入理解JVM的工作原理和WinCE的特性,我们可以更有效地利用这个工具...
总之,ARM9嵌入式技术是嵌入式系统设计的重要组成部分,它提供了一种高效、灵活的解决方案,满足了众多行业对高性能、低功耗计算的需求。随着物联网、人工智能等领域的快速发展,ARM9及其相关技术将持续发挥重要作用...
- **百度/谷歌**:作为最常用的搜索引擎,工程师可以通过它们查找技术文档、解决方案等。 #### 五、嵌入式工程师对参加培训的看法 ##### 1、如何看待培训 - **积极态度**:大多数工程师认为参加培训有助于提高自己...
此外,兼容多种操作系统,如Windows CE、嵌入式Linux和RTOS,可以适应不同的应用场景,比如实时通信网关需要实时操作系统保障通信连接的稳定。 Rise Technology公司的例子展示了如何通过其iDragon mP6 SoC产品实现...