EDN China > 技术文章 > 消费电子设计 > 便携设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于数字电视机顶盒的Java虚拟机的移植

来源:电子产品世界/姚 莉 张 萍 于鸿洋?? 2005年12月19日 ?? 收藏0

?????? 3Java与Java虚拟机

?????? 3.1Java简介

?????? 对于大多数开发语言,需要编译或解释。但是Java语言与那些需要编译或解释的语言比起来较特殊。通过编译器,首先程序被翻译为一种称为Javabytecode的中间语言,一种在Java平台上被解释器解释的平台独立代码。解释器解释计算机上所有的Javabytecode指令。一旦编译完成,在程序每次执行时,系统都会发生一次解释过程。图3演示了该过程。

Java程序的执行过程

图3? Java程序的执行过程

?????? 每个Java解释器,不管是一个开发工具或者是一个运行applet小程序的web浏览器,都是Java虚拟机的实现形式。Javabytecodes使得“一次编写,随处运行”这种时髦观点成为可能。bytecodes能够运行在任何一种Java虚拟机形式上,这就意味着只要计算机上安装有Java虚拟机, 那么同样的一个Java程序可以运行在 Windows 2000系统、 Solaris 工作站或者一个Mac系统上。

???&nb

sp;?? 3.2Java平台

?????? 一个平台是程序运行的硬件或者软件环境。刚才已经提到了一些比较流行的平台,如Windows2000、Linux、Solaris和MacOS。大多数平台可以认为是硬件和操作系统的联合体。 Java与其他平台不同,因为它只是一个运行在其他硬件平台基础上的软件平台。Java平台有两个组件:JavaVM和JavaAPI。图4为Java平台结构图。

Java平台结构图

图4? Java平台结构图

?????? 3.3J2ME平台

?????? Java发展至今已推广到各种平台,针对不同应用平台SUN公司开发了四个版本的Java运行环境,其中如PDA、STB这样的硬件运算能力不高且存储有限的各式消费性电子产品专门提出了J2ME版本。

?????? J2ME定义了一套Java的运行环境和开发环境,它包含安装在各类消费性电子设备中的Java虚拟机和特别为了各类消费性电子设备中的核心类库。而J2ME的主要应用则可以分为两大类:个人移动设备和共享固定设备。前者在Configuration层使用CLDC,其所应用的终端设备包括移动电话等,在人机接口上比较精简且内存需求较小。后者在Configuration层使用CDC,如车用导航、娱乐设备、数字电视机顶盒等。图5为J2ME平台结构。

J2ME平台结构

图5? J2ME平台结构

?????? 4移植与实现过程

?????? 笔者所做的工作就是将JavaVM的CDC&Foundation移植到前述框图所描述的数字电视机顶盒上,见图6。

移植方案

??? 图6? 移植方案

?????? 4.1方案

?????? 我国的数字电视中间件标准明确指出中间件系统要采用Java虚拟机,提供Java应用程序标准接口,使用Java语言编写交互式应用程序。根据该标准,结合有线电视机顶盒的硬件环境和操作系统等特征,提出了基于有线电视机顶盒的数字电视中间件的实现方案。

?????? 4.2方案的实现

?????? 采用SUN公司在其主页上公布的免费的Java虚拟机软件实现代码,经过各方面的修改移植到现有的数字电视机顶盒上。

?????? 4.2.1环境搭建

?????? (1)通过修改源码中的build目录下的相关make文件,使得虚拟机源代码的运行环境得以正确搭建在机顶盒上,为下一步的代码调试奠定基础。主要表现在编译器名称以及路径、文件后缀名和JDK工具包路径。为了减少初期移植工作的难度,相应地简化修改了一些生成Java虚拟机可执行代码的选项。???


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

机顶盒? Java? 虚拟机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈