首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:资料 参考手册 服务器
 → 当前位置:首页>编程开发>嵌入式开发>正文

让Linux“嵌入”天空

OKLinux www.oklinux.cn 2003-01-01 来源:开放系统世界  伊利贵  会员收藏 游客收藏

Intrinsyc软件公司依靠着推出的CerfBoard平台(http://www.intrinsyc.com/products/create.asp),一直以来都是智能连接设备开发的倡导者。Intrinsyc长期以来从事能够运行在各种处理器上的、面向Headless设备(安装时不需要使用键盘、显示器和鼠标的设备)和显示应用程序的嵌入式平台的开发,而且还开发了一个通用Linux发行版以充分利用CerfBoard的各种功能。通过使用IBM WME(WebSphere Micro Environment)的JPRE(Java Powered Runtime Environment),CerfBoard已经发展成了一个功能丰富、能力强大的通用嵌入式网关服务器。这个引人注目的小型网关服务器可用于远程系统管理和对连接的任何智能设备进行监控。

网关服务器是Internet和本地以太网设备之间进行通信的一个桥梁,它允许用户与所连接的设备进行会话或对其进行控制。比如,在智能家居中,一个家庭网关服务器可以连接家庭中的各种设备,并且允许用户把草坪上的喷水机和Internet上的气象预报进行同步。此外,用户还可以通过无线的PDA来开灯、监视报警系统,甚至放飞一架飞机。可以看出,该应用的范围实际上是无限的。

随着嵌入式智能设备在家庭和办公室的广泛使用,就需要有一个用于连接和整合的标准框架。这是通过使用OSGi(开放服务网关组织)协议和API来实现的。OSGi是通过定义服务网关的Java API来实现标准化的。之所以使用Java技术,是由于它是一项开放的技术,并且可运行于各种平台之上。

飞机模型的远程导航

IBM的PCATL实验室(Pervasive Computing Advanced Technology Laboratory)的工程师已经开发了一个应用程序,可以使用一个小型的基于Linux的单板机来代替标准的无线控制设备来控制模型飞机。该思想已经被扩展到Java层,允许用户使用一个标准的无线PDA实现对飞机的控制。由于具有网关服务器技术的很多优点,CerfBoard 405EP被选择用于该方案之中。

Intrinsyc软件公司的嵌入式Linux计算机使用的是基于IBM PowerPC 405EP嵌入式处理器的CerfBoard 405EP。CerfBoard 405EP运行的是Intrinsyc自己的Linux发行版(I-Linux),此外再加上IBM的WME Java VM(虚拟机)和SMF(服务管理框架),实现了嵌入式服务网关的功能。其中的SMF软件包整合了用户界面和用户在Java层与Linux操作系统进行交互的功能。

CerfBoard 405EP被安全地放置在飞机模型的驾驶舱内,并且被整合至模型中原来的无线控制系统中。CerfBoard 405EP使用的是5伏的电池组,也被放置在驾驶舱之中。

模型机原来的控制模块和CerfBoard 405EP通过某一特定频率被连接在一个无线切换的模块上面。用户可以在计算机控制飞行和手工控制飞行之间自由地切换。整个工作流程见图1。

图1 工作流程图

飞机飞行的路径则由下面的组件进行操纵:

◆ 飞机机翼上的副翼可以旋转机身;

◆ 水平稳定器上的升降舵可以调节飞机的高度;

◆ 垂直稳定器上的方向舵改变飞机的转向。

伺服发动机连接在副翼之上,升降舵和方向舵则通过一个专门的集成电路来控制,该集成电路通过一个标准的RS232连接来接受命令。CerfBoard 405EP上的Java层则通过一个本地的共享库和RS232进行交互。原来用于操纵飞机组件的通信协议则被导入到了CerfBoard 405EP上的SMF软件包之中。

SMF软件包提供了一个Java Servlet(一种标准的服务器端Java应用程序,它扩展了Web服务器的功能)。它可以从任何有Java插件的浏览器中进行访问。该Servlet会显示一张某一地点的LandSAT(地球资源卫星)地图,还可以通过CerfBoard 405EP的URL来进行访问。当地图上某一选定的点和飞机的位置不同时,软件就会给出一系列的命令,指引飞机到达指定的位置。一旦目的地到达,飞机就会在此盘旋,等待接收新的命令。

飞机上安装的一套GPS(全球定位系统)和一个独立的陀螺仪用于保持飞机的虚拟位置和实际物理位置之间的同步,并且允许对其飞行路径进行实时地校正。飞机的当前位置是由主板上的GPS模块和整合在垂直指示器上的陀螺仪来决定的。导航软件是由带有本地库支持的、具有GPS和陀螺仪模块接口的SMF软件来充当。收集到的数据会输送至一个位置算法程序中,该程序会比较飞机目前的状态和想要飞行的路径,并且由伺服系统对结果进行精确调整。

IBM的PCTAL开发了一个3维的虚拟飞行环境,它可以跟踪飞机的飞行情况。该环境居于LandSAT地图,并且给用户一个从飞机座舱里的虚拟视角(见图2)。高度、位置和方向等信息会被传送至一个Linux桌面,并且以640×480的分辨率来显示出地形。该飞行视角图可以实时更新。

图2 从飞机上传送回来的图片

PDA和随飞机携带的CerfBoard 405EP之间的交流是通过手机通信的方式来完成的。该手机通信模块通过一个RS232连接与CerfBoard整合在一起。一个802.11b连接用于近距离的通信和软件升级。CerfBoard 405EP使用了一个带有128位加密模块的MiniPCI无线卡。

PDA客户端使用的是一个具有Java功能的浏览器(比如Intrinsyc的uPDA平台或Sharp Zaurus)。PDA在此扮演的是一个通过802.11b和手机通信连接与CerfBoard 405EP进行连接的瘦终端,用户无需在PDA上运行任何其它的应用程序。

CerfBoard 405EP小型服务器

CerfBoard 405EP(见图3)使用的是IBM PowerPC 405EP嵌入式处理器。IBM PowerPC 405EP 32位RISC处理器可以提供灵活的硬件解决方案,以满足高性能嵌入式应用程序的需求。由于采用的是PowerPC体系结构,405EP处理器在代码上可以和其它的PowerPC处理器兼容,并且可以相互移植,从而加速了相关产品推向市场的速度。

图3 Intrinsyc的CerfBoard 405EP

CerfBoard 405EP优化的性能、低功耗及丰富的功能使其成为通信、数据存储等方案的理想选择。它包含有32MB NAND Flash和32MB SDRAM。I-Linux操作系统使用的内存不到5MB,而WME和SMF使用的内存也只有5MB,这就为其它的应用程序留下了足够资源。它还包含有两个网卡,两个RS232异步端口。

为什么使用Linux

据Intrinsyc公司称,之所以选择在CerfBoard 405EP上使用Linux,是因为Linux功能丰富,并且具有极好的可配置性。对于硬件资源有限的Headless设备来说,Linux绝对是一个非常不错的选择。此外,IBM的WME虚拟机与SMF可以和Linux操作系统无缝整合,并且提供一个强大的远程访问控制层也是主要的原因之一。

I-Linux

Intrinsyc软件公司开发了一个可用于CerfBoard上的Linux发行版。该发行版使用自由发行的内核和文件系统,这保证了用户也可以自由地加入推进该发行版功能的开发工作中来。

该发行版使用的内核是2.4.21-pre2。它经过修改可以支持CerfBoard 405EP的一些特定功能,比如对第二个网卡的支持和对在NAND Flash之上的JFFS2的支持。CerfBoard 405EP有一个MiniPCI插槽,所以内核里也包括了对网卡、调制解调器及HostAP无线网卡的支持。

文件系统来自Familiar Project(http://familiar.handhelds.org/),并且对其进行了一些更改。这使得CerfBoards可以运行一些具备很多关键功能的成熟工具,比如ipkg软件包管理工具。这个软件包工具由Familiar Project的PXA250演变而来,它可以简化应用程序和驱动程序的安装过程。另外,它与Debian的兼容性使得开发人员可以非常轻松地整合任何Debian中可用的软件包。

现在,Intrinsyc软件公司正在致力于建立一个开发社区,以支持和发行基于PowerPC 405EP的驱动程序和应用程序。该公司希望能够吸引大量的开发人员和用户加入其中,从而为PowerPC 405EP储备大量可用的应用程序和驱动。对于基于PowerPC 405EP的Linux而言,其成功的关键在于它对所支持的平台的整合过程简单,并且开发时间也比较短。

WME和SMF

上述遥控模型飞机方案展示了Linux和Java技术可以互补的特点。在该方案中,Linux提供了一个框架和操作系统的功能,Java的类库则提供了远程控制的能力和图形化的用户界面。Java技术可移植性的特点使得所开发的应用程序可以运行在所有Linux平台之上,而无需考虑开发时所使用的平台。

运行在CerfBoard 405EP上的Java层由JavaVM和SMF(服务管理框架)的网关服务框架组成。WME提供了一个专门针对嵌入式平台进行优化的虚拟机,其模块化的设计提供了多种可供选择的功能。在嵌入式平台上,软件大小的限制往往是至关重要的。Linux模块化的特点和WME VM让开发人员只包含必须组件的做法,都是基于这点考虑的。开发人员可以通过以下途径来配置WME:

◆ WME配置选项;

◆ 本地库选择;

◆ 使用JXE。

WME为J2ME应用程序提供了一个Java运行环境。CDC(连接设备配置)是专门为内存超过2MB的系统设计的,它支持以下的Java组件:

◆ java.lang Java VM系统类;

◆ java.util 基本的Java工具;

◆ java.net UDP(Universal Datagram Protocol) 数据包和I/O;

◆ java.io Java文件I/O;

◆ java.text 对国际化的支持;

◆ java.security 对安全和加密的支持。

它结合了一个创建J2ME运行环境的配置文件,该配置文件定义了一个用户可以操作的API层。本地库允许VM应用程序可以通过Java命令来访问硬件组件,从而简化了Java应用程序的开发。

WME JXE文件允许开发人员只包含classes.zip文件中所需的组件。因此,如果配置VM的要求是已知的,那么对于减少VM的大小,JXE文件将是一个理想的选择。

SMF专门针对嵌入式系统进行过优化,它组件化的设计可以让用户根据需求和资源的限制来进行配置和选择。它可以使用的设备范围非常广。此外,它还可以对资源进行管理。对于每一个软件包,开发人员可以指定最大的内存使用量、优先进程的数量等。

WSDD

WSDD(WebSphere Studio Device Developer)用于整合WME和SMF,从而简化针对这些平台的开发。IBM使用Eclipse平台的插件结构将其集成到WSDD。借助Eclipse技术,WSDD提供了全面的、可为移动电话、PDA及其它无线或有线设备构建、部署和测试嵌入式Java应用的环境。

为什么使用OSGi

OSGi定义了Internet到本地网和在设备传送服务时要遵守的一些规范。这些规范的目的是利用和管理日渐增长的家庭自动控制、家庭网络和娱乐服务的应用程序。网关服务标准化的框架可以被其它应用程序使用。

网关服务整合了原来相互独立的电话、数据网络、线缆服务、娱乐、移动业务、能源管理和信息通信业务。这些设备可以被打包,并且从一个具有单一用户界面的控制台进行管理。

OSGi充分利用了Java对于各平台的兼容性和可移植性,意味着任何Java设备都可以在该框架内进行管理。

小结

Linux和Java的结合在上述的方案中显示出了强大的实力。有理由相信,这还只是Linux在嵌入式应用中的冰山一角,还有很多未知的应用领域等待Linux去施展身手。

(责任编辑:赵纪雷)

上一篇:开源无线技术开发工具初露端倪   下一篇:Microsoft vs. Open Source: Military Moves

收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·开源无线技术开发工具初露端倪
·由数据库看嵌入式的发展
·开放动态—硬件(2003.05)
·Linux与迅驰移动计算技术
·让移动与商业协作
·MontaVista眼中的Linux与移动电话
·WAP端到端加密解决方案
·内置Linux即将一显身手
·Red Hat飚红英国电信
·AMD推出面向Linux和WinCE的参考Tablet电脑
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
· 嵌入式linux下常见的文件
·Linux and symmetric mult
·深入浅出 嵌入式中文Linux
·嵌入式Linux系统图形及图
· 在Ubuntu上建立Arm Linux
·为系统处理器编写Linux设
·Linux设备驱动框架、配置
·Linux高手进阶 嵌入式系统
· 构建嵌入式Linux系统平台
·U-Boot的常用命令详解
最新文章
·嵌入式系统开发:Arm与Lin
·嵌入应用:如何制作和使用
·详细解析:如何制作嵌入式
·嵌入式Linux系统软件开发
·嵌入式Linux文件系统详细
·嵌入式Linux操作系统学习
·嵌入式Linux系统的设计与
· 2.6内核的Linux嵌入式系
·用GNU工具开发基于ARM嵌入
·Linux嵌入式系统的内存管
·Linux系统和嵌入式系统应
·嵌入式Linux操作系统名词
·嵌入式Linux系统的驱动程
·嵌入式系统开发学习如何起
·介绍嵌入式应用中存储器类

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有