微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Java在嵌入式系统中的解决方案

Java在嵌入式系统中的解决方案

时间:08-08 来源:互联网 点击:

一、引言

Java的设计者企图建立一个简单的、面向对象的、智慧的、已经解译的、强大的、安全的、架构合理的、可移植的、高性能的、多线程的、动态的语言。为使Java对开发者有吸引力,Sun公司融合了类似于C语言的语法和结构。然而Sun最终没有达到这个目标,Java还是被证明不适合小型的电子设备,这很大程度是因为它大而且速度慢。应用Java程序所需要的处理能力和内存量,对这类设备来说太昂贵了。

然而,Sun公司设计Java时最重要的是平台无关及网络集成。一个无须更改能够在几种不同硬件和软件平台运行的程序,对网络环境来说是一个理想的程序。对想建立通过网络来通讯并利用网上资源的分布式程序的开发者来说,一种在任何平台上都有内置的和标准的网络支持的语言是一个大实惠。

1、Java语言与嵌入式

对于选用嵌入式编程语言,一般说,越是高级的语言,其编译和运行库施加的开销越大,你的应用程序也越大,越慢。已经公认用汇编语言能写出最小最快的程序,其次是用C或Forth,接下来较大的是C++或Basic,然后才是Java。因此一般来说,编程人员都会首选汇编和C,而然后才会考虑C++或Java。

但是嵌入式开发者为何要来关注Java呢?笔者以为,随着不断增长的市场需求,很多嵌入设备必须适应网上交流的需要,为了迎合此要求,考虑这种到开发Internet应用程序的便利,众多开发者都发现使用这种语言是有意义的。另一个原因是随着内存条及32位处理器价格的下降,最初在嵌入系统使用Java太昂贵的问题不再有了。随着使用Java的成本代价减少,它的很多优点应当被考虑作为嵌入平台。

2、Java对于嵌入式的优点分析

Java语言的优点在于:它当初就是由理解和信奉网络计算梦想的一个小巧而专注的开发组设计的,虽然该语言最初的实施方案有点缺陷,有许多后来已被解决了,但为了这个梦想,他们很少在技术上妥协,结果诞生了一种专为以相互通讯为主要目的的设备而设计的语言。

有许多技术上的优点都可能会引导嵌入系统开发者选择Java,以下就是这些优点(其中有几个也适用于通用编程)

A)与处理器无关

Java的第一个优点就是与处理器无关,这个优点似乎与嵌入式系统没什么相干。传统上,嵌入程序就是针对特定的微处理器设计并在其上运行的,而C语言程序的可移植性则可通过编译或交叉编译来保障。

但是在Sun公司的模型中,一个程序可能是存储在一个系统上,而被下载并运行在另一个完全不同的系统上;设备可能从不同地方下载一些程序来在一个处理器上运行,或者不同的处理器运行一个程序,通过网络在相互间传递数据。使用Java,一个嵌入式系统就可能成为一个通用的通信设备,能下载并运行能完成特定任务的程序。

对嵌入式系统,这是一个新的模型,已经有一些开发者正在向它靠拢。例如,电视机机顶盒的供应商已宣布并入JVM,以使用户能通过Java applets在他们观看电视的同时接收到的支持该电视节目的一些内容。这样你在观看足球比赛时,看到的支持内容就可以是对球员的技术统计;若你在看电影,看到的支持内容就可以是演员的背景资料。JVM还被并入到移动电话中,这样用户可接收股票报价信息、比赛分数及其他即时信息。

笔者以为,这是一个恰当的设计和实施模型。其一是你在选择开发平台时更加灵活了。你无需在与目标相同的平台上开发,也不用去关心交叉编译,因为Java字节码能在任何有JVM的操作系统中运行;另一个优点是:几乎所有的检测和调试可以独立于目标设备来进行。但是,一些数据输入和硬件交互要求在目标(或是很好的仿真系统)上测试。由于个别JVM有时有兼容性的问题,你应该在所有将用到该程序的平台上测试它。但一般来说,你并不要高级而昂贵的、配备有逻辑探针、ICE以及其它调试工具的、针对目标平台的开发环境。

B)面向对象的编程

Java是一种纯粹面向对象的语言。所有代码和数据都是某个类的一部分,没有全局变量或是独立于类存在的代码,一个对象是一个类的实例,对象是通过调用操作方法,或者说函数来操作的,而这些方法或函数也是类的一部分,对象的方法就对象的数据进行操作。Java类被组织成一个等级层次,在层次结构中,一个子类能够继承其超类的行为,并可用子类所具备的一些特有功能来扩展其超类的功能。对象模型是你能定义对应真实事物的数据结构,使得程序的任务和任务如何实现者二者之间的转换变得基本上透明。

面向对象的设计和编程的优点在于其开发速度和代码的可维护性,许多面向对象的开发都能通过利用和更改现存类库来完成,而不是创造一个新的结构,这就使开发加快了,例如,一个硬件

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top