首页 > 范文大全 > 正文

卫星导航引擎跨平台技术研究与应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇卫星导航引擎跨平台技术研究与应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对目前市场上导航硬件设备类型、操作系统种类繁多的情况,对导航软件的跨平台、跨操作系统适配技术进行研究。在国际标准化导航模型的基础上,通过分析现有主流操作系统的特点,建立基于虚拟化技术的统一计算环境,并引入中间件技术构建导航引擎中间件以实现导航软件跨平台、跨操作系统运行。研究成果在导航软件生产中得到了应用,能很大程度上提高导航软件规模化生产的效率。

关键词:嵌入式;跨平台;导航引擎

0 引言

随着近几年卫星导航产业的发展,市场上嵌入式导航终端的种类层出不穷,所使用的硬件和操作系统也各不相同。相对导航硬件厂家来说,目前国内生产导航软件的厂家要少得多,且多数往往只针对其中一种操作系统而开发。因而软件的通用性差。降低了各类导航设备间的互通互联互操作能力。另外,伴随着道路的不断建设与发展,导航业务与内容逐渐丰富、功能不断增强,导航软件的更新频率不断增加,因此需要分别研发不同的导航软件,以满足多类操作系统平台同步更新的需求。要耗费大量的人力物力。

针对这一现状,对跨平台导航引擎技术进行了研究,通过设计跨平台导航引擎模型,解决导航软件的跨平台运行的问题,使其以单一的软件适配多类操作系统、多种硬件型号、多批次出货等市场需求,实现卫星导航软件的规模化生产。

1 主流嵌入式操作系统

嵌入式操作系统以其开放性、实时性等特点得到越来越广泛的应用,负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。目前市场上主流的操作系统有Win CE、Android、Symbian、iOS等。

1.1Win CE

Win CE是微软公司嵌入式、移动计算平台基础,是一个开放的、可升级的32位嵌入式操作系统。基于优先级的抢占式多任务调度,采用层次化的结构进行内存管理,文件系统分为内部文件系统和外部文件系统两部分,使用存储管理器(Storage Manager)管理所有的外存设备。

1.2Android

Android是美国谷歌公司开发的基于Linux平台的开源手机操作系统,本身包含一些由Java语言开发的应用程序,基于框架和组件进行应用程序开发,其程序运行环境包含一组Java内核库及Dalvik虚拟机,有效地优化了Java程序的运行过程。另外系统平台基于优化了的Linux 2.6.23内核来开发,Linux Kernel作为硬件和软件之间的抽象层提供处理器管理、存储器管理、文件管理和设备管理。

1,3Symbian

Symbian系统是塞班公司为手机而设计的操作系统,采用事件驱动的消息传递代替其他操作系统中广泛使用的多线程机制,支持物理存储管理和虚拟存储管理。文件管理是通过客户端/服务器架构实现的。设备管理功能基于I/O设备实现,用来对外设进行控制,并提供外设和Symbian系统之间的接口。

1.4iOS

iOS是由苹果公司开发的手持设备操作系统,运行于iPhone、iPod Touch以及iPad设备的操作系统,它管理设备硬件并为手机本地应用程序的实现提供基础技术。根据设备不同,操作系统具有不同的系统应用程序,为用户提供标准系统服务。系统结构分为以下四个层次:核心操作系统、核心服务层、媒体层、Cocoa触摸框架层。

2 跨平台导航引擎的实现

2.1建立跨平台导航引擎模型

国际标准化组织定义了标准的导航参考模型,主要包括人机交互和导航软、硬件多层次模块化、对象化结构。但它是针对一个导航产品而言的,对于众多不同的导航产品,由于其操作系统的不同决定了语言环境、文件系统、内存管理、任务处理以及设备驱动等的差异,加之同一操作系统下不同导航终端设备具有设备尺寸差异、硬件配置差异、设备驱动差异、终端数据交互协议差异等。如此众多的差异给导航系统与不同硬件的适配带来非常大的困难,因此需要对系统的跨平台性能进行研发。

结合导航引擎需要实现的核心功能,包括目标定位、目的地检索、地图绘制、路径规划、语音诱导等,建立面向不同操作系统、不同体系结构、不同硬件设备的跨平台导航引擎模型。通过对各操作系统间的差异性进行对比,找出其中的共性部分,因此从嵌入式操作系统的处理器管理、存储器管理、文件管理和设备管理上入手进行分析,对处理器、存储器、文件和设备四类核心管理进行抽象。建立基于虚拟技术的计算环境抽象层以屏蔽系统之间的差异。从而实现跨平台导航,如图1所示。

2.2导航引擎中间件的实现

中间件(Middleware)技术在信息技术领域的应用非常广泛,它的应用使得系统的开发、集成、升级及维护变得更为方便,大大降低了应用软件开发的成本,提高了开发效率。因此可以将其引入到导航软件的设计中,通过搭建一个各系统通用的软件支撑平台来提高导航软件的生产效率。

导航引擎中间件是位于底层硬件平台和操作系统平台之上、导航应用层之下的中间件适配层,主要实现对各不同操作系统的适配及硬件的驱动。它向下屏蔽各类硬件平台或操作系统的差异,向上为导航应用提供统一的接口,无论底层的硬件平台及操作系统如何变化,都可以简单地通过改变中间件的适配参数直接将导航软件与硬件进行适配。导航引擎中间件的实现,为大规模导航软件的生产提高了效率,同时还保证了系统的易升级性和稳定性。

3 应用

跨平台导航引擎技术的实现,为导航软件的大规模生产提供了技术支持,该技术在某公司的导航软件生产中进行了应用。针对市面上众多种类的导航硬件,该公司基于该技术推出了支持跨平台、跨操作系统的多个系列产品,并实现了一年多次导航软件的更新与。

另外,基于国家863计划。该公司还建立了大规模导航软件协同生产线与高可信资源共享环境。以单一的跨平台导航引擎应对多类系统、多个厂家、多种型号、大量出货等需求,有效地解决了导航系统的规模化生产问题。

4 总结

通过对现有主流操作系统进行研究,建立基于虚拟化技术的统一计算环境。并引入中间件技术构建导航引擎中间件以实现导航软件跨平台、跨操作系统运行。研究成果应用表明,该项技术研究不仅提高了软件的可复用性,还在很大程度上提高了导航软件规模化生产的效率。总体上来说。跨平台导航引擎的设计增强了异构环境下各嵌入式导航终端之间的互通、互联、互操作,具有极强的应用价值。