浅谈java在嵌入式开发中的应用

从网上收集了些资料,总结了一下,与想在这方面发展的朋友们分享,若有侵权,请谅解~~
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式软件的基本体系结构包括嵌入式实时操作系统 RTOS(RealTime Operating System)、嵌入式设备驱动程序、嵌入式应用程序接口(中间件)和嵌入式应用程序。
Java原名叫 oak,在最早时事为了嵌入式系统而设计的一项产品,因为商标已被注册,改名为java,从java1.0发表以后,java被广泛的使用在桌面型应用程序及applet的开发上,从java1.1开始,java又回到了嵌入式系统方面的应用,当时sun Microsystems发表了Embedded java与Personal java两项规格,Embedded java是为了资源十分有限,而且没有显示设备的嵌入式装置而设计;Personal java则是为了在能够与网际网络连接,并拥有显示系统(如彩色LCD)的消费型电子装置而设计。接着java演进了java 2,这时为了再明显区分各种java的应用,分割出了j2ee,j2se,j2me三种版本,j2ee应用于服务器端企业级开发,j2se应用桌面软件开发,j2me应用嵌入式系统开发。
J2me将所有的嵌入式装置大体分为两种:一种是运算功能有限、电力供应也有限的嵌入式装置,比如 PDA、手机;另外一种则是运算能力相对较佳、电力供应相对较充足的嵌入式装置,比如空调、电冰箱、电视机机顶盒。J2me引入了Configuration的概念(配置、规范)分别针对这两种装置制定了平台规范:Connected Limited Device Configuration(CLDC)、Connected Device Configuration(CDC)。为了更明确的区分出各种嵌入式装置上java程序该如何开发以及它们应该具有哪些功能,J2me在Configuration的基础上定义出了Profile的概念,Profile中定义了与特定嵌入式装置非常相关的扩充类别函数库以及使用者界面的呈现方式。由于java本身最初的设计理念即是针对嵌入式系统,因此将它用在嵌入式系统开发中是理所当然的。
Java与 linux的合作,LinuxDevices.com的专栏作家Randy Rorden发表了一篇白皮书,名为『Java与嵌入式Linux合作』,可见java在嵌入式开发中的前景是不错的。为了在市场需求中开发嵌入式应用程序,首先要选一个硬件平台,就是处理器,根据我们所设计的嵌入式应用程序的目标来决定,选好硬件平台后就需要一个软件支持平台,所以我们要寻找一个可靠的、稳定的、支持这个硬件的操作系统,近几年来很多人对Linux的功能进行完善和扩展,Linux环境越来越流行,又由于其开放源代码,所以Linux作为我们将来要开发嵌入式应用程序的软件平台是极有可能(Linux版本的问题),从java这方面讲,对于嵌入式系统来说,java技术比c语言和汇编语言具有很明显的优越性,最显著的特点就是减少了系统的开发和维护、代码的重利用能力、以及java代码与系统原有代码的可整合性。
Java的跨平台性得益于 java虚拟机,Java虚拟机其实是一种抽象的机器,安装在具体操作系统之上,本身具有一套抽象的机器指令,并且拥有自己的栈、寄存器组等,jvm是java平台无关的基础,java应用小程序能够在带有jvm的任何硬软件系统上执行。
关于 java的执行速度:硬件加速java,为了加快java执行,又避开编译或者软件java的缺点,嵌入式开发人员开始求助于硬件加速器。通过将JVM的部分或者全部任务转交给专用硬件去处理,其运行性能比解释型java提高了5~10倍。半导体厂商采用以下3种硬件方法来加快java的执行速度:一种是采用硬件解释器,该解释器把进来的java代码的大部分转化成本机码,从而给JVM省去了麻烦,例如,Nazomi的Jstar,InSilicon的JVX和ARM的Jazelle;另一种方法是使用协处理器,协处理器不仅解释字节码,还执行由此生成的机器码,让cpu完全得到解放,InSilicon公司的JVXtreme是纯粹的协处理器,Aurora VLSI公司的Exprisso和Delaf可以充当协处理器或者独立处理器,Ajile公司的aJ-100,Dct公司的Lightfoot和Zucotto公司的Xpresso,这些协处理器往往作为用于ASIC或者FPGA实现的核心。第三种方式利用硬件及时编译器高速编译java字节码,这种设备有别于硬件解释器,它不仅仅把软件从一种形式转换另一种形式,实际上还能编译,包括进行优化,重新安排代码执行次序,例Parthus公司的MaehStream。
JINI技术: JINI是一种可以连接各种java平台的技术,JINI的价值和作用就是简化与网络的交互性。JINI技术有一个主要目的:让许多电子产品可以容易地被加入至网络上,也就是随插即用(plug-and-play),任何物件,如DVD,CD,VCR,台式计算机,便携式计算机,打印机,扫描器,播放器,电话,电视机,警报系统,空调系统,厨具,汽车引擎等,只要利用JINI技术,就可以结合各类的电子产品成为网络上的资源服务,而使用者只透过电话或无线通信器材就能使用这些服务。
嵌入式系统的典型应用领域: 1.消费产品。2.工业控制。3.通信设备。4智能仪器。5.机器人。6.计算机外部设备。7.军事电子设备和现代武器。8.太空科学。Java:Comdex’97展览会上的电子系统“燃料”汽车,多种触摸屏显示器,为驾驶员和每位乘客提供定制化信息通道;网络电话,这种智能电话配置触摸屏和小型键盘,只要按动按钮就可以通过电话线提供上网浏览、电子邮件以及其他定制化服务;互联网电视,即数字电视,通过按需点播、电子编程指南和多种摄像机视角提供更多的视觉选择,同时为消费者提供银行、结帐、购物、电子邮件、聊天、游戏等便捷服务功能;智能卡,课用于存储隐含帐户和医疗信息,甚至还可以存款。
 

你可能感兴趣的:(浅谈java在嵌入式开发中的应用)