基于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]
分享到:
相关推荐
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应用程序,...
总的来说,基于Windows CE的嵌入式系统为HIRFL_CSR前端控制提供了稳定、高效的解决方案,实现了分布式控制和实时数据处理。这样的系统设计不仅提高了系统的可靠性和灵活性,还降低了维护成本,是现代大型科学装置...
嵌入式操作系统通常选择轻量级的解决方案,如Palm OS、Windows CE、EPOC、Linux CE、QNX、ECOS和Lynx等。其中,Palm OS和Windows CE都有成熟的汉字输入法解决方案,但嵌入式Linux系统具有开源和可定制的优势,可以...
描述中的“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产品实现...