CLDC包括K虛擬機(jī)(KVM)和" />
作者:馮東 羅蕾電子科技大學(xué)
引 言
現(xiàn)在Java技術(shù)十分流行,發(fā)展勢(shì)頭強(qiáng)勁,而且在SUN公司推出了J2ME平臺(tái)后,眾多移動(dòng)式系統(tǒng)都紛紛支持Java應(yīng)用程序。由于Java已經(jīng)成為了業(yè)界公認(rèn)的通用網(wǎng)絡(luò)語(yǔ)言,具有超強(qiáng)的跨平臺(tái)性,所以Java這種Write width=305border=0>
CLDC包括K虛擬機(jī)(KVM)和一組核心類庫(kù),主要是針對(duì)用戶接口簡(jiǎn)單、內(nèi)存較小、網(wǎng)絡(luò)運(yùn)行時(shí)連時(shí)斷以及帶寬較窄的小型無(wú)線設(shè)備。其中KVM是JVM的一個(gè)實(shí)現(xiàn),特別用于移動(dòng)電話、PDA等設(shè)備。
簡(jiǎn)表是針對(duì)相同配置的不同特性而開(kāi)發(fā)的擴(kuò)展類庫(kù),它提供給開(kāi)發(fā)者在特定類型設(shè)備上開(kāi)發(fā)的類庫(kù)。例如,移動(dòng)信息設(shè)備子集MIDP(Mobile Information Device Pro—file)綜合考慮了移動(dòng)設(shè)備的屏幕和內(nèi)存限制,定義了J2ME適用的硬件和軟件框架,并提供了這個(gè)框架要實(shí)現(xiàn)的基本功能及標(biāo)準(zhǔn)接口;應(yīng)用開(kāi)發(fā)者可以基于這個(gè)框架開(kāi)發(fā)出各種應(yīng)用。MIDP 2.0定義了一系列軟件接口,包括基本輸入輸出、圖形用戶接口、網(wǎng)絡(luò)、事件機(jī)制、文件系統(tǒng)、應(yīng)用管理系統(tǒng)、游戲接口、聲音輸出接口和安全機(jī)制。
由于CLDC的設(shè)備資源受到限制,所以SUN公司專門(mén)開(kāi)發(fā)了一個(gè)新的虛擬機(jī)KVM。Sun公司于2000年公布了KVM的參考實(shí)現(xiàn),采用解釋執(zhí)行字節(jié)碼的Java虛擬機(jī)。與編譯執(zhí)行相比,解釋執(zhí)行的Java虛擬機(jī)在移動(dòng)通信設(shè)備上具有顯著的優(yōu)點(diǎn):虛擬機(jī)占用移動(dòng)通信設(shè)備非易失性存儲(chǔ)空間比較;虛擬機(jī)運(yùn)行時(shí)占用RAM空間比較。唤忉寛(zhí)行核心代碼量;字節(jié)碼占用RAM空間比較;實(shí)現(xiàn)難度低,可移植性好。現(xiàn)有的具有KVM支持的移動(dòng)通信設(shè)備大多是基于該參考實(shí)現(xiàn)的。
1.2MTK系統(tǒng)
MTK方案是TW聯(lián)發(fā)科技公司提供的手機(jī)解決方案。近70%的國(guó)產(chǎn)手機(jī)采用MTK的芯片和平臺(tái)。有資料顯示,2007年MTK手機(jī)芯片出貨量高達(dá)1.5億片,全球市場(chǎng)占有率近14%,僅次于德州儀器及高通公司。若只計(jì)算MTK進(jìn)入全球GSM手機(jī)芯片的市場(chǎng)規(guī)模,大約省7億~8億部手機(jī),市場(chǎng)占有率已高達(dá)20%以上,排名僅次于德州儀器公司。
在目前MTK市場(chǎng)上,MTK6225平臺(tái)占據(jù)主導(dǎo)地位。該系統(tǒng)的主要功能如下:
①任務(wù)管理。系統(tǒng)任務(wù)采用靜態(tài)創(chuàng)建方式,靜態(tài)配置任務(wù)優(yōu)先級(jí)、棧大小、任務(wù)全局唯一ID等;不提供動(dòng)態(tài)創(chuàng)建Task的方式;任務(wù)內(nèi)部以及任務(wù)之間的通信通過(guò)內(nèi)部事件隊(duì)列和外部事件隊(duì)列完成。
②內(nèi)存管理。平臺(tái)不提供動(dòng)態(tài)分配內(nèi)存的方式;應(yīng)用程序需要使用動(dòng)態(tài)分配內(nèi)存時(shí),可以采用以下幾種方式:與系統(tǒng)其他模塊共享內(nèi)存,典型的是使用MED模塊的內(nèi)存;定義一個(gè)靜態(tài)數(shù)組,交給系統(tǒng)adm托管,然后調(diào)用kal_adm_alloc、kal_adm_free等內(nèi)存操作函數(shù)實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存分配;定義一個(gè)靜態(tài)數(shù)組,應(yīng)用自己實(shí)現(xiàn)基于此數(shù)組的分配和管理,也就是實(shí)現(xiàn)自己的內(nèi)存管理模塊。
③事件機(jī)制。平臺(tái)事件機(jī)制采用“注冊(cè)一回調(diào)”機(jī)制,把需要處理的各個(gè)按鍵、觸摸屏等通過(guò)系統(tǒng)函數(shù)注冊(cè),當(dāng)有事件發(fā)生時(shí)系統(tǒng)調(diào)用所注冊(cè)的**者。
④UI。系統(tǒng)MMI層提供了豐富的UI元素,如各種消息框、列表、圖標(biāo)等。
⑤系統(tǒng)局限性。MTK6225平臺(tái)只有一種中文字體,字體大小固定。
2 平臺(tái)設(shè)計(jì)
2.1 平臺(tái)功能分析
在MTK平臺(tái)上實(shí)現(xiàn)J2ME運(yùn)行環(huán)境,需要實(shí)現(xiàn)的功能如下: