保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


1.3.1 处理器移植

处理器的移植涉及到对翻译器、CPU隔离接口的代码重新实现。

(1)翻译器

在进行处理移植时,真正需要实质改变的代码是翻译器。不同的处理器有着特定的翻译器。一个翻译器可以为任一类型处理器而创建。或者是一个数字信号处理器(DSP),一个微处理器或者一个微控制器。

(2)CPU隔离接口

CII是一个集合名词。它包含在内核和处理器之间提供接口的代码以及搜集中间件在其上运行的处理器信息的代码。中间件内核自身不需重新编写。

CII的接口包括独立处理器指令集的接口、任务切换期间调度程序和处理器之间起中介调停作用的接口以及用于栈操作的接口等。

1.3.2 平台移植

平台移植需要重新实现平台隔离层,包括平台隔离接口和具体的设备驱动程序。如果支持Java语言,还须实现Java原始接口中。

(1)平台隔离接口

PII是一个函数集合,允许内核和设备驱动程序访问硬件和软件所提供的功能。对于内核,PII提供了一系列函数,用于系统启动和关闭、分配和翻译内存、锁定和解锁内存以及建立异常处理程序。设备驱动程序可以访问的PII函数有:用于安装和卸载中断处理程序、物理地址空间和进程地址空间的映射和解除映射、获得逻辑地址的物理址以及调用一个宿主操作系统的系统调用等一系列函数。

(2)设备驱动程序

设备驱动程序提供广泛的用于和硬件接服务(比如I/O端口)以及软件服务(比如与宿主操作系统的运行时接口)。设备驱动程序为每个设备系列提供了应用程序接口(API)。对于那一系列的每个设备API保持相,但是每个设备驱动程序包含了具体平台和处理器的代码。这样,任何一个设备驱动程序的实现对应用程序是透明的,应用程序不用知道设备驱动程序如何提供它的服务。应用程序要使用某个设备驱动器,必须首先安装它。所有的应用程序将一个设备驱动程序的用加入到一个叫作装配表的查找表\u34920表中,同时有一个字与这个引用相关联。这样,可以编写一个新的设备驱动程序,代替装配表中原来的版本。只要赋予它和原来设备驱动器相同的名字,应用程序就可以访问它,而意思到这一变化。

(3)Java原始接口

Java原始接口JNI(Java Native Interface)是一个标准的编程接口,用来编写Java方法以及Java应用程序中使用Java虚拟机实现的原始方法库的二进制兼容性。JNI的实现首先需建立两个.h文件:host-md.h和host-hlp.h。它们为JNI机制提供了宿主平台的关信息。第一个文件定义了原始的类型,比如8、16、32、64位整数;第二个文件定义了一系列与OS无关的函数,用来分配内存,启动进程和使用互斥变量等,然后为宿主主平台重新编译实现jni.c文件。

2 Intent中间件系统及其移植实现

2.1 Intent系统

Intent系统是一个典型的基于虚拟处理器的嵌入式中间件。它是一个专为连接家庭、可移动和专业网络的数字装置设计的多媒体内容平台;具有功能强大、二进制可移植的特性,可广泛运行于从低功耗装置到工作站等各种设备。Intent内部各系统组伯按照可移植程度分为两大类——可移植性强的组件和可移植性弱的组件。Java组件和多全库等可移植组件组成完全可移植的Intent媒体平台;而其它与硬件和下层宿主操作系统直接相关的组件,如翻译器(translator)、设备驱动程序等,与Intern的OS核心(kernel)一起组成Intent系统的底层操作系统——elate。Intent系统的体系结构如图2所示。

Elate是一个具有可移植性的实时操作系统,它的移植通过将所有的代码编译到一个虚拟处理器来实现,而不关心具体的具体硬件平台。Elate的核心就是这个虚拟处理器VP(Virtual Processor)。它被定义为一个32位字长,RISC(精简指令集计算机)结构的小端系统。基于这种系统编写代码时,就像在真正的处理器上编写一样。当将可移植的代码转换成准备在鞭上执行的目标处理器的本代码时,只需一个翻译器tool。Tool是elate中的概念,是用定义的虚拟处理器语言VP Code所编写的程序,与函数或方法相类似。

《基于虚拟处理器嵌入式中间件(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145404.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。