您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于虚拟处理器嵌入式中间件 正文
基于虚拟处理器嵌入式中间件

基于虚拟处理器嵌入式中间件

点击数:7927 次   录入时间:03-04 11:37:01   整理:http://www.55dianzi.com   嵌入式系统-技术

与大多数操作系统不同,elate的绝大多数代码了基于VP编写的,这些代码以静态或运动的方式被转换为真实处理器的本地代码。里的“真实处理器”指令在运行elate的处理器。这便利大段的代码在系统平台间转移成可能。Elate向Intent内核及其它应用提供了与CPU、外围设备等硬件的资源接口,是Intent系统软硬件的界面。

Intent系统可广泛运行于数字电视机顶盒、智能手机、PDA以及其它嵌入式数字设备。以下将以数字电视机顶盒为例,介绍Intent的具体实现。

2.2 Intent系统的移植实现

数字电视机顶盒是一种能够让用户在同有模拟电视上观看数字电视节目,进行交互式数字化娱乐、教育和商业化活动的消费类电子产品。其基本功能是接收数字电视广播节目,时具有所有广泛和交互式多媒体应用的功能。机顶盒系统由硬件平台和软件系统组成,可将其分为4层,从底向上分别为底层硬件、实时操作系统平台、中间件、应用软件。底层硬件提供机顶盒的硬件平台;实时操作系统平台提供操作系统内核以及各种硬件驱动程序;中间件(middleware)将应用软件与依赖于具体的硬件平台;应用软件包括本机存储的应用和可不载的应用。

图2 

    这里,所研发的机顶盒系统以PowerPC为微处理器,PSOS为实时操作系统平台,Intent系统作为中间件层。系统中,PSOS操作系统作宿主操作系统;Intent系统以寄生模式建立,通过其高效的Java虚拟机以及媒体平台,实现机顶盒的交互功能。Intent的移植实现同样分成两个步骤;移植到新的处理器和移植到新的平台。

2.2.1 移植到PowerPC

由于Intent提供了广泛的翻译器,用来将一个VP代码的tool转换成一个本地tool,因此对于系统翻译器只需选择针对PowerPC的翻译器,同时根据PowerPC的特点,作部分修改。对Intent系统CII部分的移植主要包括;对独立处理器指令集的接口tool、任务切换期间调度tool、处理器之间起中介调停作用的tool以及用于栈操作的tool进行针对PowerPC的重新编写,这一层的代码涉及到指令级调用。

2.2.2 移植到具体平台

在宿主平台(PSOS+设备)上,Intent的PII层将和PSOS接口。宿主模式下,VP代码编写的tool需要调用宿主端的函数,以访问宿主的库函数和系统调用,包括系统内存的管理、中断的条开关闭操作,安装时钟中断等操作,均需要调用宿主操作系统的函数。Intent中提供的一个跨系统调用的机制叫作Opentool。Opentool提供了一种机制,它使Intent端的tool在不考虑calling invention等环境因素的前提下,可以调用宿主端的函数,并正确地传递参数。反之亦然。使用这种机制。VP代码只要像调用普通tool一样,调用类似以下的tool:

!<platform>/<function name>!<in>!(out)

其中platform可以是任意的名字,不过一般都取为平台的名字;function name与宿主系统端函数一一对应,对应关系可改动;in、out为函数的输入、输出,即可实现Intent与PSOS的接口。不过须重新实现opentool.c,编写main.c或boot.c以及重新编写用于系统启动和关闭、分配和释放内存、锁定和解锁内存、建立异常处理程序以及用于设备驱动程序的一些接口函数;同时,还须实现Java原始接口(JNI)。

Intent提供了通用设备驱动程序(如键盘、鼠标、图形显示等),用于和硬件接口。因此须为每个设备选择具体的设备驱动程序,时安装它。对于特殊的不在Intent所提供的设备驱动程序之列的设备(如OSD),须用VP代码实现其驱动程序。由于elate操作系统支持基于对象的编程模式,所以设备驱动程序的编写就显得相对容易,可以将设备驱动器作为一个对象来进行编程。

2.2.3 生成系统映像

为了生成可引导的系统映像,还需建立平台系统配置文件。平台系统配置文件可以分成以下几个部分:

SETUP——设置指定平台所需的配置,包括对一些AVE(Audio Video Environment)参数的设置,或者为键盘等定义串行口的配置;

DEPENDS——设置依赖于应用程序和其它区域的平台配置的可选部分;

MEMORY——定义平台的内存设置,包括平台的Boot Tools、内存区域等。

平台系统配置文件信息还包含devICes.sys。它定义了平台支持的设备。这个文件的列表由依赖于平台的设备驱动程序和通用的elate设备驱动程序组成。可以在Intent的Shell命令行中输入sysbuild,以调用sysbuild程序来生成一个可引导的系统映像。它的命令格式如下:

sysbuild<platform><appsysfile>。

<platform>指定建立映像的运行平台,这里为PSOS;<appsysfile>指定应用程序的sysbuild文件,也就是所生成映像的.sys文件。所应用程序的sys文件都应为.sys作为扩展名,但是在命令行中,扩展名不必指出。

2.3 Intent系统的运行

Intent系统实际上是宿主系统的一个进程,它不会取代宿主系统的地位。宿主系统会像对待普通进程一样,为Intent系统分配必要资源,包括进程优先级、系统需要的内存空间等等。Intent系统作为宿主系统的进程,将依照自己优先,参与宿主系统的进程调度。Intent系统与其它进程一起,共享享处理器资源在内的系统资源。

移植到PSOS上以后,Intent系统通过OSOS环境中所建立的进程引入系统映像文件。一个映像文件是一个可以被下载到目标硬件上可引导的Intent映像。它描述了应用程序所需的Tool和数据,同时也描述了程序如何运行。当映像文件成功引入后,将切换到iintent系统的运行环境。

结语

以上介绍了基于虚拟处理器的嵌入式中间件基本概念以及其抽象模型,给出了Intent的移植实现,对基于虚拟处理器的嵌入式中间件作为初步探讨。通过虚拟处理器,使不同处理器之间的代码快速移植成为可能。使用虚拟处理器技术,进行组件化开发,使得嵌入式中间悠扬可以很方便地实现完全移植。基于虚拟处理器的嵌入式中间件可以适用于同软硬件平台;通过翻译器、CPU隔离层和平台隔离层,使其能够独立于平台和处理器能主可移植于不同操作系统与不同微处理器体系结构,从而使中间件环境的建立变得更加容易,可移植性更强。我们相信,嵌入式中间件的广泛使用将使嵌入式应用也能像Java语言一样,可在各式各样机器、操作平台的环境中开发应用软件——“一次编译,到处运行”。



上一页  [1] [2] 


本文关键字:处理器  嵌入式  中间件  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术