WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程Linux嵌入式Linux和Java 技术——天生的合作者

嵌入式Linux和Java 技术——天生的合作者
作者:pocketix  来源:pocketix  发布时间:2005-12-21 3:56:44
于共享技术的NFS和LAN使得Java程序能够即刻直接装载到远程设备上。
一旦虚拟机上的代码发生了改变,程序的变化能够立刻并且毫无改变的反映到开发主机的调式界面上来。这种紧密的联系使嵌入式开发者大大增加了效率。既然Java技术是基于虚拟机的技术,代码的变换都可以用到相连的嵌入式设备上。这就为嵌入式项目的设计者提供了更多的伸缩性和便利性。特别的,这就使得在这些使用了OSGi管理技术上进行功能扩展和改变特性成为了可能。

Java技术和Linux操作系统的结合


   一个完全的嵌入式实时操作系统必须是以嵌入式Linux或Java平台为核心。嵌入式设备受到了操作系统、驱动程序和其它的功能模块的限制和约束。使用一个与嵌入式目标平台相统一的Linux版本是非常重要的,并不是所有的Linux都能用。

  嵌入式设备资源如RAM、ROM、Flash相对缺乏,需要特别的注意对其管理。同时处理器的性能也相对有缺少(如浮点加速器),这就需要对不同的设备提供有针对性的不同的执行程序。

  既然嵌入式Linux必须适应目标设备的特定的环境,快速有效的重组建立Linux操作系统的镜像就是非常重要的。这样一旦虚拟机及Java应用程序需要,就能够让开发人员增加、移除、修改Linux特性。在嵌入式开发中,设备和应用程序的每一方面都必须被考虑到,以便在大小、速度、资源中进行权衡。

  嵌入式平台完全不像标准的个人计算机或是工作站。尤其是必须要做一些工作来使嵌入式目标板上的设备运行。交互端口、Flash存储、播放设备和声音界面的协同使用需要设定才能完成。我们要感谢在传统的嵌入式操作系统中广泛的开发经验也可以用到嵌入式Linux开发中,一些基于嵌入式的标准也用到这些设备中。这些标准包括以下:

  • 低成本设备管理
      这种嵌入式Linux操作系统和Java技术的统一展开了一个新的世界,在液晶屏和触摸屏上的图性用户界面能够更有效的构建。这些设备是低功耗、紧凑的、通常是彩色的,这对于消费者和产品生产者来说都是非常有吸引力的。很多底层的设计能使得用户界面使用到手持设备或机顶盒中,这样就可以控制和显示大量嵌入式设备如车载、通讯设备的底层嵌入式操作系统。

      图形用户界面同时被使用到粗糙的位图界面和窗口界面中。基于Linux的服务器和工作站配置"x-Window"用户界面以及一种可选的窗口管理器.与之不同,嵌入式Linux提供一种更有效的直接的方式。举例来说,MontaVista的Linux操作系统就配置了一个开放源代码的"MicroWindows"图形界面包,它可以被移植运行到很多处理器平台。它运行在Linux堆栈的顶部,提供了一个接近硬件设备的底层接口。它是为在嵌入式处理器中获得高性能而特别设计的,能够用来创建一个高响应速度的界面。

      MontaVista的MicroWindows采用了IBM的J9和它的Java类库。这样,一些嵌入式目标设备能够获得统一的图形界面的支持。IBM提供了两个基本的图形类库:简单图形工具("SWT")和"MicroView"。AWT是为了个人Java平台特别设计的,它运行在SWT图形层之上,作为一些浏览器及相连的XML翻译工具。SWT能够用复杂的窗口控制创建用户界面层。简化的MicroView结构用来创建在低性能的嵌入式设备上较为粗糙的用户界面。

  • 通讯接口
      几乎每一个开发平台和嵌入式处理器都包括了通讯接口。在Linux移植中,如果主板上有RS-232串口和以太网口,那么最基本的任务是写这两种设备的驱动。
     
      通讯是同时建立在TCP/IP协议和简单串口之上的,其中TCP/IP协议栈是由Linux提供。TCP/IP协议栈提供了连接互联网的权限,同时也提供了程序与程序之间基于对话通讯的socket界面。
     
      Java类库的衍生库能够直接操纵通过特殊通讯总线和设备相连的串行设备。这些设备中就包括符
    合"CAN","MOST",或IEEE J-1850标准的自控总线设备。
     
      在开发中,一些设备可以直接通过串行连接直接被访问到。包括电话、车载收音机以及GPS单元(卫星定位系统)。这些设备能够通过在串行连接上传输的专门协议被控制。但是在产品中,这些设备实际上被连接到自动通讯总线上。所以,为了控制这些设备,需要一个承接层。IBM设计了一个提供硬件模拟的软件包,它能够选择传输技术,这样在开发平台上的程序可以直接被移植到最终的产品中。

多变性

  使用Java技术和嵌入式Linux操作系统的结合现在应用到大量的嵌入式目标板上。开发者可以根据项目的需求配置和添加虚拟机以及Java类库的成分,就像Linux的裁减一样。设备驱动可以根据需要选择,同时也可以保留应用程序对于很多相关设备开发和配置的权限。这种方法可以通过用户界面以对大量设备程序重新使用其代码。Linux操作系统和Java可以根据硬件设备从最小的到最大的进行升级。

技术支持

  一个项目的大部分的花费是用在开发完成、产品上市之后。这种支持的花费与产品的用户在很多方面相关。
当考虑到嵌入式Java代码,开发者与Linux和Java供应商的技术支持的联系是关键。举一个典型的例子,Java本身的开发工程师在做最初的虚拟机端口和用于嵌入式Linux目标平台的Java库时,他们是和Linux的供应商一起工作的。Linux和Java供应商的共同发展的关系是最需要被考虑的。特别是在Linux开放源代码的环境下,能够控制Java库的源代码也同样是非常重要的,这样就可以根据一个项目的具体情况进行不同的配置。


结论

  嵌入式Linux操作系统和Java的结合为工程师和开发者对于不同的项目进行配置提供了新的选择。我们要感谢专业的Linux技术支持公司的出现,他们解决了嵌入式开发者遇到的很多问题。大量的连接设备的平台能够支持Java应用程序的执行。

  最初,考虑得最多的也许是可以获得源代码以及没有传统的版权费。因为传统的实时操作系统的商业模式是建立在订购技术支持和服务的基础之上的,这样嵌入式平台相对来说就较为便宜。

  在Linux平台上进行工具的改进,主要考虑的是在嵌入式设备中,工作是在资源紧缺的环境下进行的。随着IBM的"VisualAge Micro Edition"的出现,Java应用程序的开发人员能够获得丰富的交互开发工具的完全支持。

  由于以前很长一段时间内Linux都运行在服务器上,这就使得Linux的内核以及相关的功能在鲁棒性上都得到提高。嵌入式Linux也同样得到了这种性能的提升。今天,Linux被证明是一种非常健壮的环境,同时它也随着时间和经验的增加不断的得到提高。

  今天,对嵌入式Linux所做的工作主要是提供配置性更强的、更小的系统成分,这样就可以加速系统的初始化速度,同时提升资源的利用。当与Java强大的可变的环境相配合的时候,项目的管理者和开发者可以利用这种结合使他们成功的设计和开发下一代应用程序,而且是具有高可信赖性和高可利用性的程序。



译者:陈玮
职位:博利思软件有限公司技术支持工程师

上一页  [1] [2] [3] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码