基于ST20 嵌入式系统的 Java 虚拟机研究与移植.pdf
《基于ST20 嵌入式系统的 Java 虚拟机研究与移植.pdf》由会员分享,可在线阅读,更多相关《基于ST20 嵌入式系统的 Java 虚拟机研究与移植.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 获取更多权威电子资料获取更多权威电子资料 请登陆请登陆 第第 1 页页 共共 6 页页 基于基于 ST20 嵌入式系统的嵌入式系统的 Java 虚拟机研究与移植虚拟机研究与移植 分析了开放源码的 Java 虚拟机 Kaffe 的结构、运行机制,并针对 DVB(Digital Video Broadcast)数字机顶盒软件架构中对基于 Java虚拟机的 MHP(Multimedia Home Platform)中间件研发的需求。研究了将 Kaffe 移植到 Sti5516 处理器和其专用 OS20 操作系统的关键技术,给出了相应的移植方案。对深入了解 MHP 在数字机顶盒中的应用给出了研究方向
2、和基本思路。1 引言引言 随着现代信息技术的迅猛发展,电视数字化步伐加快了。从一开始的模拟电视到现在的数字电视,不仅大大提高了电视节目的质量,也推动了电视数字化的进一步发展。在各种数字视频广播标准中,欧洲的 DVB(Digital Video Broadcast)标准使用比较广泛,它为在同一信道中传输视频、音频、数据提供了一种灵活、高效的方式,可以通过卫星、电缆和地面信道传输高质量的电视节目。同时基于 DVB 的数据广播标准也能满足人们对于宽带数据业务的要求,如证券信息服务、电子节目、MP3 音乐下载、电子邮件、网页浏览等,在现代信息技术领域应用极为广泛。图一 数字机顶盒架构 从图一我们可以看
3、到,一个完整的数字机顶盒由硬件平台和软件系统组成,可以将其分为 4 层,从底向上分别为硬件、底层软件、中间件、应用软件。硬件提供机顶盒的硬件平台;底层软件提供操作系统内核以及各种硬件驱动程序;应用软件包括本机存储的应用和可下载的应用;中间件是一种将应用程序与底层的操作系统、硬件细节隔离开来,使应用不依赖于具体的硬件平台的软件环境。这样用户可以在任何厂家的硬件平台上进行应用软件开发,和应用软件下载。而不必介意任何底层的有关信息,保证了机顶盒的开发专业化。这种 获取更多权威电子资料获取更多权威电子资料 请登陆请登陆 第第 2 页页 共共 6 页页 分层的思想在现代系统设计中十分常见,如大名鼎鼎的T
4、CP/IP协议。中间件通常由各种虚拟机来构成,如HTML虚拟机、JavaScript虚拟机、Java虚拟机1等。现在广电行业倾向于DVB-MHP(多媒体家庭平台)中间件标准。DVB-MHP基于开放性的Java程序语言,具有软硬件兼容性好、可移植成本低、二次再开发功能强等优点,是一种很有发展前途的中间件技术标准。可以相信,Java在数字视频广播中的应用将越来越多,我们有必要研究Java技术核心虚拟机,包括其结构、运行机制及虚拟机移植到数字机顶盒平台的关键技术。本文面向采用ST(意法半导体公司)Sti5516 芯片的数字机顶盒平台,将基于数字电视播放(Digital Video Broadcast
5、,DVB)的多媒体家庭平台(Multimedia Home Platform,MHP)规范2进行中间件平台分析,重点研究开放源码的Java虚拟机-Kaffe在其中的作用和相关的移植技术。2 平台介绍平台介绍 2.1 硬件平台硬件平台 数字机顶盒硬件平台基于ST公司的芯片Sti55163,Sti5516 芯片集成了CPU内核ST20-C2、音/视频MPEG-2 解码器、PAL/NTSC/SECAM编码器等。开发板上有 8MB的共享内存和 16MB的外部内存,4MB的Flash,并采用实时处理的嵌入式操作系统OS20。2.2 软件平台软件平台 一个典型的适用于嵌入式的 Java 运行环境包括以下组
6、件:1一个 Java 虚拟机。用来将独立于平台的 Java 字节码解释成目标机本地机器码,并执行动态类加载。这可以采取解释执行或实时编译执行(JIT)的形式。两者的不同点就在于字节码的执行速度;因为 JIT 避免了重复解释以前执行过的程序块。2一个标准 Java 类库集,以字节码的形式存在。如果应用程序并不引用任何类库,那这些类库就并不一定要求存在。3任何类库或虚拟机所需的本地方法(JNI)。这些函数是由其它高级语言所写,并和 Java 虚拟机一起预编译,链接。这些函数被用来执行处理器相关或 Java 无法直接实现的功能。4一个多任务操作系统,用来提供 Java 线程及线程同步机制的底层实现。
7、获取更多权威电子资料获取更多权威电子资料 请登陆请登陆 第第 3 页页 共共 6 页页 5一个垃圾回收线程。垃圾回收周期运行或当动态内存池不能满足分配请求时运行,用来申明那些已经被分配但不再被应用程序所使用的内存。Kaffe是一个完整的Java实现,它由 3 部分组成:遵从 Personal Java1.1 规范的 Java类库4,Java1.1 虚拟机和本地动态或静态链接库。Kaffe虚拟机源码按以下子目录组织:kaffe-包括了解释器与 JIT 平台无关部分,以及垃圾回收,动态类加载和 Java runtime environment 其它模块的源代码。config-包括了解释器与 JIT
8、 平台相关部分。它按所支持的处理器来划分子目录,里面存放系统相关代码。package-Java 类库以及任何它所依赖的本地方法。include-在子目录中提供的本地方法的接口定义。这些接口被平台独立文件所需要。3 Kaffe 移植的关键技术及方案移植的关键技术及方案 经过对Kaffe深入分析和研究,笔者已在Sti5516 平台上成功地移植了Kaffe5,并依据DVB-MHP规范,结合机顶盒特定软硬件环境要求,建立了能运行Kaffe虚拟机的Java应用程序运行平台。下面将移植工作及相应步骤总结如下:3.1 字节码解释器字节码解释器 由于 Kaffe 源码中没有映射 Java 字节码到处理器相关的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于ST20 嵌入式系统的 Java 虚拟机研究与移植 基于 ST20 嵌入式 系统 虚拟机 研究 移植
限制150内