MTK系統(tǒng)下的J2ME運(yùn)行平臺(tái)設(shè)計(jì)
1.2 MTK系統(tǒng)
MTK方案是臺(tái)灣聯(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è)的監(jiān)聽(tīng)者。
④UI。系統(tǒng)MMI層提供了豐富的UI元素,如各種消息框、列表、圖標(biāo)等。
⑤系統(tǒng)局限性。MTK6225平臺(tái)只有一種中文字體,字體大小固定。本文引用地址:http://m.butianyuan.cn/article/152494.htm
2 平臺(tái)設(shè)計(jì)
2.1 平臺(tái)功能分析
在MTK平臺(tái)上實(shí)現(xiàn)J2ME運(yùn)行環(huán)境,需要實(shí)現(xiàn)的功能如下:
①應(yīng)用程序管理。Java擁有豐富的應(yīng)用程序,平臺(tái)需要管理這些應(yīng)用程序,因此要實(shí)現(xiàn)應(yīng)用程序管理系統(tǒng)。應(yīng)用程序管理系統(tǒng)功能包括程序的安裝、刪除、運(yùn)行、下載等。
②虛擬機(jī)的實(shí)現(xiàn)平臺(tái)。嵌入式Java虛擬機(jī)的實(shí)現(xiàn)平臺(tái)有多種方式。它可以直接嵌入到裸機(jī)上,也可以加載于其他嵌入式操作系統(tǒng)之上,成為一臺(tái)抽象的計(jì)算機(jī)。它的平臺(tái)無(wú)關(guān)性給它帶來(lái)了巨大的發(fā)展前景。經(jīng)過(guò)研究,在MTK平臺(tái)上,采用SUN公司公布的KVM作為核心,結(jié)合虛擬機(jī)所需要實(shí)現(xiàn)的功能和MTK平臺(tái),設(shè)計(jì)和實(shí)現(xiàn)移植接口,最后在MTK平臺(tái)上運(yùn)行KVM,在KVM之上運(yùn)行Java應(yīng)用程序。
2.2 平臺(tái)框架設(shè)計(jì)
系統(tǒng)平臺(tái)由應(yīng)用程序管理系統(tǒng)(ApplicationManagement System,AMS)、KVM核心(KVM core)、KVM移植接口層、MTK系統(tǒng)平臺(tái)構(gòu)成。平臺(tái)框圖如圖2所示。
評(píng)論