<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/202584.htm

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


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

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


上一頁(yè) 1 2 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>