嵌入式Linux平台下的J2ME移植

最近在学习如何将J2ME移植到嵌入式Linux平台,在网上找了很多资料,现整理如下,方便日后移植。


一、相关概念

J2ME是Java 2标准版本的微型版本。支持各种各样的消费类产品和嵌入式设备,如移动电话、PDA、互联网可视电话、数字机顶盒、车载娱乐和导航系统、网络交换设备以及信息家电等。J2ME是为了那些使用有限的能源、有限的网络连接(通常是无线连接)以及有限图形用户界面能力的设备开发的。它最初的目标是16位或32位处理器,16M 时钟频率,512KB或更少内存的设备。J2ME用配置(Configuration)来封装虚拟机。配置由一个虚拟机和一组支持的核心API组成。配置层上面是配置文件(Profile)。在一个配置上面可以有多个不同的配置文件。配置文件是在配置的基础上进一步细分一组特定设备,并定义一组支持这类设备的类库。鉴于应用J2ME的硬件平台有着较大的差异,所以根据硬件的差异分成两类:CLDC(Connected Limited Device Configuration)与基于其上的Foundation Profile和Personal Profile,以及CDC(Connected Device Configuration)与基于其上的MIDP(Mobile Information Device Profile),如图一所示。

┌──────────┐┄┄┄┄┄┄┄
│MIDlet            │ 应用程序
├──────────┤┈┈┈┈┈┈┈
│ MIDP             │ proflie层
├─────── ── ┤┄┄┄┄┄┄┄
│J2ME核心API   │ configuration层
├──────────┤ CLDC
│ KVM               │
├──────────┤┈┄┄┄┄┄┄
│特定的硬件       │
└──────────┘
图一 J2ME的CLDC & MIDP架构

J2ME的CLDC包括K虚拟机(KVM)和一组核心类库,主要是针对用户接口简单、内存较小、网络运行时连时断以及带宽较窄的小型无线设备。其中KVM是JVM的一个实现,特别用于如移动电话、PDA等设备。MIDP具体定义了J2ME适用的硬件和软件框架,并提供了这个框架要实现的基本功能及标准接口;应用开发者可以基于这个框架开发出各种应用。MIDP 2.0定义了一系列软件接口,包括基本输入/输出、图形用户接口、网络、事件机制、文件系统、应用管理系统、游戏接口、声音输出接口和安全机制。

相关推荐