關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > MIPS目標平臺CLDC的Java虛擬機移植

MIPS目標平臺CLDC的Java虛擬機移植

作者: 時間:2009-12-28 來源:網(wǎng)絡(luò) 收藏

1 簡介
ME( platform Micro Edition),以前稱J2ME,是為機頂盒、移動電話和PDA等嵌入式消費電子設(shè)備提供的Java語言平臺,它包括和一系列標準化的Java API(Application Programming Interface)。Java語言的平臺無關(guān)性使其廣泛應(yīng)用于各行各業(yè),而嵌入式領(lǐng)域Java ME技術(shù)的發(fā)展尤為迅猛。截至2008年底,JavaME技術(shù)已應(yīng)用于全球26億部移動手機、部署了60億個Java Cards、4 000萬臺以上的藍光設(shè)備和TV設(shè)備,遍及移動開發(fā)的各個領(lǐng)域。
Java(JVM,Java Virtual Machine)是實現(xiàn)Java語言平臺無關(guān)性的關(guān)鍵。Java虛擬機是Java技術(shù)的重要組成部分,它是一個抽象的運算機器,有一套自己的指令集,可在運行時操縱內(nèi)存的各個區(qū)域。
嵌入式的Java虛擬機主要有兩大類:
(1) VM
VM(Connected Limited Device Configuration Virtual Machine)是連接受限的設(shè)備配置的虛擬機,以前稱為KVM(Kilobyte Virtual Machine,千字節(jié)虛擬機)。 VM一般用于內(nèi)存很少(如1 MB以內(nèi))、CPU處理能力弱(如幾MHz)的嵌入式設(shè)備。Sun公司于2000年發(fā)布CLDC 1.0規(guī)范及KVM的參考實現(xiàn),之后于2006年將KVM參考實現(xiàn)轉(zhuǎn)到開源社區(qū),并重命名為phoneME Fea-ture。至2009年,phoneME Feature先后經(jīng)歷了MR1、MR2、MR3、MR4版。本文基于phoneME Feature MR4。通常CLDC VM的結(jié)構(gòu)如圖1所示。

本文引用地址:http://www.butianyuan.cn/article/202584.htm

其中MIDlet是各種Java ME應(yīng)用程序,運行于CLDC虛擬機之上。
(2)CDC VM
CDC VM(Conntected Device Configuration Virtual Machine)是已連接的設(shè)備配置的虛擬機,簡稱CVM。CVM一般用于智能手機、數(shù)字機頂盒、PDA等嵌入式設(shè)備。
phoneME Feature MR4軟件是一個高性能的虛擬機,它不僅遵循CLDC規(guī)范,還實現(xiàn)了高效的資源管理,以及對多任務(wù)的支持等。與早期的KVM虛擬機相比,CLDC VM增加了如下特征:
◆支持CLDC 1.0、CLDC 1.1和CLDC 1.1.1;
◆改進Java應(yīng)用程序的啟動時間和執(zhí)行速度;
◆支持AOT(Ahead-Of-Time,提前)編譯技術(shù);
◆支持原地執(zhí)行(in-place execution)功能;
◆支持多任務(wù)功能。


2 CLDC VM移植原理
phoneME Feature軟件是一個功能完整的虛擬機,它通過了Sun公司的TCK(Technology Compatibility Kit,技術(shù)兼容工具包)兼容測試集。phoneME Feature直接支持兩種CPU架構(gòu):x86架構(gòu)和ARM架構(gòu)。在這兩種架構(gòu)上移植僅需少量修改,而要移植到架構(gòu)則需做較多修改。phoneME Feature軟件的結(jié)構(gòu)如圖2所示。

①JavaCall API移植層:該層提取目標平臺的需求,實現(xiàn)必須移植的函數(shù)集,是基于目標平臺的實現(xiàn)。pho-neME Feature的主要移植工作集中于此層。
②MIDP/CLDC層:是嵌入式Java虛擬機的核心部分。其中CLDC為資源受限的設(shè)備定義了應(yīng)用編程接口和虛擬機的基礎(chǔ)函數(shù)集,MIDP(Mobile Information Device Profile,移動信息設(shè)備簡表)則提供應(yīng)用程序環(huán)境和應(yīng)用程序所需的大量服務(wù)。
③PCSL(Portable Common Services Library,可移植的通用服務(wù)庫)層:提供底層服務(wù),供CLDC、MIDP和其他可選包調(diào)用。
④抽象層:是一套函數(shù)集,所有擴展JSR包通過抽象層接口與MIDP/CLDC層進行交互。
⑤擴展JSR包:為虛擬機提供擴展功能。擴展JSR包種類很多,可根據(jù)需要進行擴展。如支持藍牙和OBEX(對象交換)功能的JSR82擴展包、支持Web服務(wù)的JSR172包、支持定位功能的JSR179包、支持在線支付功能的JSR229包等。
Java虛擬機的移植首先要確定兩件事:一是目標CPU,二是目標OS(操作系統(tǒng))。OS移植比較簡單,移植工作集中在虛擬機自身和核心CLDC庫上;而CPU移植則較為復(fù)雜,因為匯編解釋器和適配的編譯器十分依賴于目標CPU架構(gòu)。


上一頁 1 2 下一頁

關(guān)鍵詞: MIPS CLDC Java 虛擬機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉