arm linux移植jvm,JVM的ARM移植.PDF

JVM的ARM移植

JVM 的 ARM 移植

当今JVM 种类很多,如IBM JVM 、MS JVM 等等。但要把它用到 ARM 上,并非易事。

经过测试和对比,最终还是选择了 SUN 的JVM,其中,J2ME (Java 2 Platform Micro

Edition)是专为移动设备设计的,在移动通信设备上已经有了很广的应用,非常适合我

们在嵌入式中使用。J2ME 根据硬件资源的限制,分为CLDC (Connected Limited Device

Configuration)和 CDC (Connected Device Configuration),无论是 CLDC 还是 CDC,其

核心都是 Java 虚拟机。CLDC 采用了 KVM,它是一个真正的最小的而又基本上完整的 Java

虚拟机,小到可以装入几十 KB 的内存中。CDC 则采用了 CVM,它是一个具有完整的 J2SE

1.3 VM 支持能力的Java 虚拟机,因此也更适合使用、更有效,但又比标准的J2SE VM 小 。

作为一个全功能的 Java 虚拟机,CVM 几乎支持 J2SE VM 的所有先进特性,包括最底层的调

错处理和本地语言接口 。

SUN 的JVM 开源后,作为 JAVA 开发社区的一个项目,为避免版权问题,J2ME 改名为

phoneME 。CLDC 对应 phoneME Feature,而CDC 对应 phoneME Feature,虚拟机则称为

CVM 。由于我们有较为丰富的硬件资源,并且为今后更为复杂的开发考虑,我们选择了

phoneME Feature,本文的描述,也是针对 phoneME Feature 展开的。

一、CVM SYSTEM MAP

首先,让我们来看张图。

这张图很好表述了CVM 的整个运行过程。遗憾的是本文不打算变成婴儿读物,对 JVM

的实现不打算加以介绍,其实SUN 官方网站上有份 《JAVA 虚拟机规范》,比我在这唠叨

一半天来得给系统准确 。同时这张图来 自Mark Lam 的Blog,他是一位SUN 的工程师,在

CVM 的小组中工作,他对这张图有了很全面的说明,但扫兴的是我不打算在这里引用,因

为我不愿就此把这篇文章变成虚拟机实现的专著……

二、如何获得源码

JAVA 开源后第一个受益的就是 J2ME,我也希望你能称为受益者 一。首先,你得获

取到最新的源代码:

# svn c o https ://phon eme ./svn /phone me /comp one nts/cldc/trunk cldc

# svn c o https ://phon eme ./svn /phone me /comp one nts/pcsl/trunk pcsl

# svn c o https ://phon eme ./svn /phone me /comp one nts/mi dp/trunk mid p

# svn c o https ://phon eme ./svn /phone me /comp one nts/cdc/trunk c dc

# svn c o https ://phon eme ./svn /phone me /comp one nts/to ols/trunk too ls

# svn c o https ://phon eme ./svn /phone me /comp one nts/jum p/trunk jump

# svn c o https ://phon eme ./svn /phone me /comp one nts/abst racti ons/trunk

abstr action s

三、编译

一般地,你直接 make 就可以了,如果报错,可能是你系统缺少一些环境变量,如

JDK_HOME 、HOST_CC 等,具体请参阅官方网站上的 《CDC Build System Guide》 。一帆风

顺的话,不出10分钟 (对我的破机子来说),你就能编译出CVM 了。不过我估计你会出许

多问题,譬如说少了某些Linux库文件或某些工具,这个和你编译时使用的系统相关,因

人而异,我用的是 Ubuntu 7.10,少了什么系统都会很友善的提示你,并告诉你在线安装的

方法,装完重新make 吧,总能成功的 。虽然CVM 支持 JAVA 1.4的规范,但你仍然可以

用最新的J2SE 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值