欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于arm體系的應(yīng)用程序加載系統(tǒng)及加載方法

文檔序號(hào):6578709閱讀:231來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種基于arm體系的應(yīng)用程序加載系統(tǒng)及加載方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于ARM體系的應(yīng)用程序加載系統(tǒng)及加載方法。
背景技術(shù)
移動(dòng)終端應(yīng)用程序的可下載是指,手機(jī)能支持將某些獨(dú)立的可選擇可 替換的軟件模塊并且將其下載到手機(jī)中以實(shí)現(xiàn)不同的擴(kuò)展功能。目前這種 功能可擴(kuò)展性己被看作"智能手機(jī)"的重要功能之一。
由于硬件條件的限制,普通的非智能手機(jī)因?yàn)槿鄙賰?nèi)存管理單元 (Memory Management Unit,簡(jiǎn)稱(chēng)MMU)對(duì)應(yīng)用程序的下載還有很大的 局限。當(dāng)然,較多采用J2ME來(lái)下載應(yīng)用程序。雖然,J2ME有豐富的應(yīng) 用程序的支持,但它也存在以下的不足之處。JAVA虛擬機(jī)本身的體積很 大,動(dòng)輒幾百K字節(jié)的消耗讓運(yùn)行速度非常受限。J2ME解決方案由國(guó)際 知名的大公司提供,起步早,功能穩(wěn)定強(qiáng)大,有豐富的第三方擴(kuò)展庫(kù)和應(yīng) 用程序的支持,目前是業(yè)界的主流解決方案之一。但采用這種解決方案的 代價(jià)也是非常昂貴的,從硬件到操作系統(tǒng),開(kāi)發(fā)商無(wú)一不要為此承擔(dān)高額 成本,且技術(shù)門(mén)檻高,開(kāi)發(fā)和維護(hù)成本大,因此不易進(jìn)入低端手機(jī)市場(chǎng)。
ARM (Advanced RISC Machines),既是一個(gè)公司的名字,也是對(duì)一 類(lèi)微處理器的通稱(chēng),同時(shí)還是一種技術(shù)的名字。目前采用ARM技術(shù)的微 處理器,即我們通常所說(shuō)的ARM微處理器,已遍及工業(yè)控制、消費(fèi)類(lèi)電 子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類(lèi)產(chǎn)品市場(chǎng),同時(shí)ARM處 理器也已經(jīng)廣泛應(yīng)用于手機(jī)領(lǐng)域。

發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷和不足,本發(fā)明的目的提出一種基于ARM體系的應(yīng)用程序加載系統(tǒng)及加載方法,將應(yīng)用程序加載到系統(tǒng)層,
從而擴(kuò)充非智能移動(dòng)終端功能,使得非智能移動(dòng)終端也能具備功能可擴(kuò)展 性。
為了達(dá)到上述目的,本發(fā)明提出了一種基于ARM體系的應(yīng)用程序加
載方法,包括
步驟1、采用應(yīng)用程序開(kāi)發(fā)包開(kāi)發(fā)應(yīng)用程序,并指定應(yīng)用程序的ROPI、 RWPI、映像平面布局方式選項(xiàng),并設(shè)置映像文件起始符號(hào)為映像入口; 并在RWPI段中設(shè)定一寄存器作為靜態(tài)基址寄存器;
步驟2、加載器模塊分配載入緩沖區(qū),并將應(yīng)用程序的映像文件數(shù)據(jù) 復(fù)制到載入緩沖區(qū)中;
步驟3、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文 件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;并調(diào)用環(huán)境建立函數(shù) 和接口虛擬表初始化函數(shù)以配置參數(shù)并完成適配層模塊和接口層模塊的 對(duì)接;
步驟4、映像入口執(zhí)行應(yīng)用程序主函數(shù)。 作為上述技術(shù)方案的優(yōu)選,所述步驟3具體為
步驟31、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文 件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;
步驟32、由映像入口獲取環(huán)境建立函數(shù)的配置參數(shù);映像入口調(diào)用環(huán) 境建立函數(shù)建立應(yīng)用程序運(yùn)行環(huán)境;
步驟33、由映像入口獲取接口層模塊的接口虛擬表指針;映像入口調(diào) 用接口虛擬表初始化函數(shù),對(duì)接口虛擬表進(jìn)行初始化,并為接口層模塊的 接口虛擬表的指針賦值,使指針指向適配層各模塊的接口虛擬表的頭節(jié) 點(diǎn),完成適配層模塊和接口層模塊的對(duì)接。
作為上述技術(shù)方案的優(yōu)選,所述步驟32具體為
步驟321、映像入口獲取應(yīng)用程序映像文件的RO段大小、RW段偏 移量、RW段大小和ZI段大小參數(shù)后,調(diào)用環(huán)境建立函數(shù);步驟322、環(huán)境建立函數(shù)為應(yīng)用程序映像文件ZI段分配運(yùn)行空間,并
初始化靜態(tài)基址寄存器。
作為上述技術(shù)方案的優(yōu)選,所述步驟322中對(duì)于靜態(tài)基址寄存器賦值
的方式為
環(huán)境建立函數(shù)根據(jù)映像入口傳遞的RW偏移量信息結(jié)合映像載入緩 沖區(qū)首地址,對(duì)靜態(tài)基址寄存賦值。
作為上述技術(shù)方案的優(yōu)選,所述步驟33具體為
步驟331、所述接口虛擬表初始化函數(shù)對(duì)適配層模塊的接口虛擬表進(jìn) 行初始化,填寫(xiě)適配層模塊需要導(dǎo)出的各接口函數(shù)地址;
步驟332、將映像入口傳遞的接口層模塊的接口虛擬表指針賦值,使 其指向各模塊接口虛擬表頭節(jié)點(diǎn),完成適配層模塊和接口層模塊的對(duì)接。
同時(shí),為了達(dá)到上述目的,本發(fā)明還提出了一種基于ARM體系的應(yīng) 用程序加載系統(tǒng),包括接口層模塊、適配層模塊、加載器模塊;
所述接口層模塊提供應(yīng)用程序的編程接口 ;
所述適配層模塊提供與所述接口層模塊的接口 ,以及與移動(dòng)終端系統(tǒng) 的接口;
所述加載器模塊用于將應(yīng)用程序加載到系統(tǒng)層,并運(yùn)行所述應(yīng)用程
序;
所述適配層模塊包括環(huán)境建立函數(shù)子模塊,所述環(huán)境建立子模塊讀取 應(yīng)用程序映像的配置參數(shù)后,建立應(yīng)用程序運(yùn)行環(huán)境;
所述適配層模塊還包括接口虛擬表初始化函數(shù)子模塊,所述接口虛擬 表初始化函數(shù)子模塊根據(jù)所述應(yīng)用程序映像的配置參數(shù),對(duì)用于記錄接口 層模塊與適配層模塊接口地址的接口虛擬表進(jìn)行初始化,以完成適配層模 塊和接口層模塊的對(duì)接。
本發(fā)明提出了一種基于ARM體系的應(yīng)用程序加載系統(tǒng)及加載方法, 該系統(tǒng)包括接口層模塊、適配層模塊、加載器模塊;該加載方法采用應(yīng)用程序開(kāi)發(fā)包開(kāi)發(fā)應(yīng)用程序,并通過(guò)映像入口完成環(huán)境建立函數(shù)和接口虛擬 表初始化函數(shù)的調(diào)用,實(shí)現(xiàn)適配層模塊和接口層模塊相互連接以及應(yīng)用程 序環(huán)境參數(shù)的設(shè)定,從而使得非智能移動(dòng)終端也能具備功能可擴(kuò)展性。


圖1為實(shí)現(xiàn)本發(fā)明方法的加載系統(tǒng)的結(jié)構(gòu)示意框圖; 圖2為應(yīng)用程序的平面布局方式的映像文件結(jié)構(gòu)圖; 圖3為本發(fā)明優(yōu)選實(shí)施例的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步的詳細(xì)說(shuō)明。對(duì)于 所屬技術(shù)領(lǐng)域的技術(shù)人員而言,從對(duì)本發(fā)明的詳細(xì)說(shuō)明中,本發(fā)明的上述 和其他目的、特征和優(yōu)點(diǎn)將顯而易見(jiàn)。
實(shí)現(xiàn)本發(fā)明方法的基于ARM體系的應(yīng)用程序加載系統(tǒng),其結(jié)構(gòu)如圖 l所示,包括以下模塊
適配層模塊,考慮不同類(lèi)型系統(tǒng)層的系統(tǒng)的差異性,適配層模塊主要 做系統(tǒng)層到接口層模塊的適配工作,保證適配層模塊與接口層模塊間的接 口統(tǒng)一;
接口層模塊,接口層模塊對(duì)適配層模塊提供的接口進(jìn)一步封裝,以便 應(yīng)用程序的開(kāi)發(fā);并為應(yīng)用程序提供編程接口,保證各類(lèi)應(yīng)用程序的平臺(tái) 無(wú)關(guān)性;
加載器模塊,用于將應(yīng)用程序加載到系統(tǒng)層,并運(yùn)行所述應(yīng)用程序;
所述適配層模塊包括環(huán)境建立函數(shù)子模塊,所述環(huán)境建立子模塊讀取 應(yīng)用程序映像的配置參數(shù)后,建立應(yīng)用程序運(yùn)行環(huán)境;
所述適配層模塊還包括接口虛擬表初始化函數(shù)子模塊,所述接口虛擬 表初始化函數(shù)子模塊根據(jù)所述應(yīng)用程序映像的配置參數(shù),對(duì)用于記錄接口 層模塊與適配層模塊接口地址的接口虛擬表進(jìn)行初始化,以完成適配層模 塊和接口層模塊的對(duì)接。所述的環(huán)境建立函數(shù)子模塊內(nèi)存儲(chǔ)有環(huán)境建立函數(shù),可以由映像入口 調(diào)用該環(huán)境建立函數(shù)建立應(yīng)用程序運(yùn)行環(huán)境。
所述的接口虛擬表初始化函數(shù)子模塊內(nèi)存儲(chǔ)有接口虛擬表初始化函 數(shù),可以由映像入口調(diào)用接口虛擬表初始化函數(shù),對(duì)用于記錄接口層模塊 與適配層模塊接口地址的接口虛擬表進(jìn)行初始化,以完成適配層模塊和接 口層模塊的對(duì)接。
其中,所述環(huán)境建立函數(shù)子模塊和所述接口虛擬表初始化函數(shù)子模塊 設(shè)置于所述適配層模塊內(nèi)。
由于基于ARM體系,因此對(duì)于應(yīng)用程序應(yīng)當(dāng)滿(mǎn)足以下條件
1、 只能使用加載系統(tǒng)的接口層模塊所提供的API (Application Programming Interface,應(yīng)用程序編程接口)進(jìn)行應(yīng)用程序的開(kāi)發(fā);
2、 應(yīng)用程序映像入口的實(shí)現(xiàn)必須符合約定;
3、 應(yīng)用程序編譯鏈接使用的編譯環(huán)境必須是基于ARM體系結(jié)構(gòu)的, 同時(shí)支持ROPI (Read-Only Position Independents RWPI (Read-Write Position)、映像平面布局方式、設(shè)置映像文件起始位置符號(hào);
4、 應(yīng)用程序編譯鏈接時(shí),指定ROPI、 RWPI、映像平面布局方式選 項(xiàng),同時(shí)設(shè)置映像文件起始符號(hào)為映像入口。
以下對(duì)ROPI、 RWPI、 ZI、映像平面布局方式分別進(jìn)行說(shuō)明。
應(yīng)用程序的映像文件是指一個(gè)可執(zhí)行文件,在執(zhí)行的時(shí)候被加載到處 理器中?,F(xiàn)有技術(shù)中的映像文件由多個(gè)段構(gòu)成,可以對(duì)這些段進(jìn)行粗略的 劃分,分為代碼段和數(shù)據(jù)段。數(shù)據(jù)段可分為只讀數(shù)據(jù)和可讀寫(xiě)數(shù)據(jù)??勺x 寫(xiě)數(shù)據(jù)又可分為有初始值和無(wú)初始值數(shù)據(jù)。代碼段和只讀數(shù)據(jù)都具有只讀 屬性,這兩段合稱(chēng)為RO(Read-Only),存儲(chǔ)RO的段被稱(chēng)為ROPI段。ROPI 是一個(gè)段,在這個(gè)段中代碼和只讀數(shù)據(jù)的地址在運(yùn)行時(shí)候可以改變。有初 始值的數(shù)據(jù)段命名為RW(Read-Write),存儲(chǔ)RW的數(shù)據(jù)段被稱(chēng)為RWPI 段。RWPI是一個(gè)段,在該段中的可讀/寫(xiě)的數(shù)據(jù)地址在運(yùn)行期間可以改變。無(wú)初始值的數(shù)據(jù)段命名為ZI(Zero-Initial)段。
其中,對(duì)上述的ROPI段有如下的規(guī)定當(dāng)上述的ROPI段中的代碼 引用到同一 ROPI段中的符號(hào)時(shí),必須是基于PC (程序計(jì)數(shù)器)的;當(dāng) ROPI段中的代碼引用另一個(gè)ROPI段中的符號(hào)時(shí),必須是基于PC的,并 且兩個(gè)ROPI段的位置關(guān)系必須是固定的;其他被ROPI段中的代碼引用 的符號(hào)必須是絕對(duì)地址,或是基于RWPI段中靜態(tài)基址寄存器的可讀寫(xiě)數(shù) 據(jù)。
其中,上述的ARM編譯器生成的RWPI段中,約定以寄存器R9作 為靜態(tài)基址寄存器。RWPI段中符號(hào)的計(jì)算方法為鏈接器首先計(jì)算出該 符號(hào)相對(duì)于RWPI段中某一個(gè)特定位置的偏移量,通常該特定位置選為 RWPI段的第一字節(jié),在程序運(yùn)行時(shí),將偏移量加上R9寄存器中的值, 即為該符號(hào)運(yùn)行時(shí)的物理地址。
其中,以平面布局方式生成的應(yīng)用程序映像文件,如圖2,依次為 RO(Read-Only)段、RW(Read-Write)段、ZI(Zero-Inital)段。特別說(shuō)明,在映 像文件中,ZI段不占用存儲(chǔ)空間,只在運(yùn)行時(shí),才為ZI段分配內(nèi)存空間。
特別說(shuō)明,上述約定4中所述的映像入口區(qū)別于應(yīng)用程序主函數(shù)。上 述的應(yīng)用程序映像入口約定如下能夠獲取到映像文件RO段大小、RW 段偏移量、RW段大小和ZI段大小信息;能夠獲取接口層模塊的接口虛擬 表指針;能夠回調(diào)進(jìn)入適配層模塊;能夠執(zhí)行應(yīng)用程序主函數(shù)。
由于對(duì)于應(yīng)用程序有上述格式上的限制,因此在本發(fā)明提出的加載系 統(tǒng)的接口層模塊中,設(shè)有為應(yīng)用程序提供的編程接口,該編程接口就可以 作為應(yīng)用程序開(kāi)發(fā)包來(lái)開(kāi)發(fā)應(yīng)用程序。
對(duì)于符合上述格式要求的應(yīng)用程序,可以通過(guò)如圖1所示的應(yīng)用程序 加載系統(tǒng)進(jìn)行加載,其流程如圖3所示,具體如下的本發(fā)明第一優(yōu)選實(shí)施 例所述,包括
步驟l、采用應(yīng)用程序開(kāi)發(fā)包開(kāi)發(fā)應(yīng)用程序,在編譯鏈接時(shí)指定應(yīng)用 程序的編譯鏈接選項(xiàng)為ROPI、 RWPI、映像平面布局方式選項(xiàng),并設(shè)置映 像文件起始符號(hào)為映像入口,并在RWPI段中,設(shè)定一寄存器作為靜態(tài)基址寄存器;
步驟2、加載器模塊動(dòng)態(tài)分配載入緩沖區(qū),并讀取映像文件數(shù)據(jù),將 其復(fù)制到載入緩沖區(qū)中;
步驟3、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文 件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;并調(diào)用環(huán)境建立函數(shù) 和接口虛擬表初始化函數(shù)以配置參數(shù)并完成適配層模塊和接口層模塊的 對(duì)接;
在步驟3中,在完成應(yīng)用程序鏈接時(shí),設(shè)定映像文件起始位置符號(hào)為 映像入口;因此跳轉(zhuǎn)到載入緩沖區(qū)首地址,也就是對(duì)映像入口的執(zhí)行;
步驟4、映像入口執(zhí)行應(yīng)用程序主函數(shù)。
本發(fā)明第二優(yōu)選實(shí)施例,是在第一優(yōu)選實(shí)施例基礎(chǔ)上改進(jìn)而來(lái),即第 一優(yōu)選實(shí)施例的步驟3具體為
步驟31、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文 件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;
步驟32、由映像入口獲取環(huán)境建立函數(shù)的配置參數(shù);映像入口調(diào)用環(huán) 境建立函數(shù)建立應(yīng)用程序運(yùn)行環(huán)境;
步驟33、由映像入口獲取接口層模塊的接口虛擬表指針;映像入口調(diào) 用接口虛擬表初始化函數(shù),對(duì)接口虛擬表進(jìn)行初始化,并為各模塊的接口 虛擬表的指針賦值,使指針指向適配層各模塊接口虛擬表的頭節(jié)點(diǎn),完成 適配層模塊和接口層模塊的對(duì)接。
本發(fā)明第三優(yōu)選實(shí)施例,是在第二優(yōu)選實(shí)施例基礎(chǔ)上改進(jìn)而來(lái),即所 述步驟32具體為
步驟321、映像入口獲取應(yīng)用程序映像文件的RO段大小、RW段偏 移量、RW段大小和ZI段大小參數(shù)后,調(diào)用環(huán)境建立函數(shù);
步驟322、環(huán)境建立函數(shù)為應(yīng)用程序映像文件ZI段分配運(yùn)行空間,并 初始化靜態(tài)基址寄存器。本發(fā)明第四優(yōu)選實(shí)施例,是在第三優(yōu)選實(shí)施例基礎(chǔ)上改進(jìn)而來(lái),所述 步驟322中對(duì)于靜態(tài)基址寄存器賦值的方式為
環(huán)境建立函數(shù)根據(jù)映像入口傳遞的RW偏移量信息結(jié)合映像載入緩 沖區(qū)首地址,對(duì)靜態(tài)基址寄存賦值。
其中,對(duì)于靜態(tài)基址寄存器賦值的方式為環(huán)境建立函數(shù)根據(jù)映像入 口傳遞的RW偏移量信息結(jié)合映像載入緩沖區(qū)首地址,對(duì)靜態(tài)基址寄存賦 值。
本發(fā)明第五優(yōu)選實(shí)施例,是在第二、第三、第四優(yōu)選實(shí)施例基礎(chǔ)上改 進(jìn)而來(lái),所述步驟33具體為
步驟331、所述接口虛擬表初始化函數(shù)對(duì)適配層模塊的接口虛擬表進(jìn) 行初始化,填寫(xiě)適配層模塊需要導(dǎo)出的各接口函數(shù)地址;
步驟332、將映像入口傳遞的接口層模塊的接口虛擬表指針賦值,使 其指向各模塊接口虛擬表頭節(jié)點(diǎn),完成適配層模塊和接口層模塊的對(duì)接。
所述的接口虛擬表是指適配層模塊將其要導(dǎo)出的與接口層模塊約定 的接口函數(shù)地址組織成表的形式。所謂虛擬是因?yàn)樵摫肀仨毥?jīng)過(guò)初始化并 正確賦值后才能使用。在上述步驟331和步驟332中給出了通過(guò)調(diào)用適配 層模塊的接口虛擬表初始化函數(shù),對(duì)適配層模塊接口虛擬表進(jìn)行初始化, 即填寫(xiě)適配層模塊需要導(dǎo)出的各接口函數(shù)地址。將映像入口傳遞的接口層 模塊的接口虛擬表指針賦值,使其指向各模塊接口虛擬表頭節(jié)點(diǎn),完成適 配層模塊和接口層模塊的對(duì)接。根據(jù)上述要求,本領(lǐng)域內(nèi)技術(shù)人員都可以 編寫(xiě)出能夠?qū)崿F(xiàn)上述目的的接口虛擬表初始化函數(shù)以及接口虛擬表,在此 不--贅述。
其中,上述步驟中的環(huán)境建立函數(shù),其功能為根據(jù)映像入口傳遞的 RW偏移量信息結(jié)合映像載入緩沖區(qū)首地址,對(duì)靜態(tài)基址寄存賦值。只有 靜態(tài)基址寄存器被正確賦值后,RWPI段的數(shù)據(jù)的物理地址才能被正確計(jì)算,才能被ROPI段代碼引用。并且環(huán)境建立函數(shù)根據(jù)映像入口傳遞的RO 段、RW段、ZI段大小信息,判斷映像載入緩沖區(qū)是否足夠分配ZI段運(yùn) 行空間,ZI段只在運(yùn)行時(shí),才分配內(nèi)存空間。根據(jù)上述要求,本領(lǐng)域內(nèi)技 術(shù)人員都可以編寫(xiě)出能夠?qū)崿F(xiàn)上述目的的環(huán)境建立函數(shù),在此不一一贅
述o
雖然,本發(fā)明己通過(guò)以上實(shí)施例及其附圖而清楚說(shuō)明,然而在不背離 本發(fā)明精神及其實(shí)質(zhì)的情況下,所屬技術(shù)領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明 作出各種相應(yīng)的變化和修正,但這些相應(yīng)的變化和修正都應(yīng)屬于本發(fā)明的 權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種基于ARM體系的應(yīng)用程序加載方法,包括步驟1、采用應(yīng)用程序開(kāi)發(fā)包開(kāi)發(fā)應(yīng)用程序,并指定應(yīng)用程序的ROPI、RWPI、映像平面布局方式選項(xiàng),并設(shè)置映像文件起始符號(hào)為映像入口;并在RWPI段中設(shè)定一寄存器作為靜態(tài)基址寄存器;步驟2、加載器模塊分配載入緩沖區(qū),并將應(yīng)用程序的映像文件數(shù)據(jù)復(fù)制到載入緩沖區(qū)中;步驟3、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;映像入口獲取配置參數(shù),環(huán)境建立函數(shù)和接口虛擬表初始化函數(shù)根據(jù)配置參數(shù)完成適配層模塊和接口層模塊的對(duì)接;步驟4、映像入口執(zhí)行應(yīng)用程序主函數(shù)。
2、 根據(jù)權(quán)利要求1所述的基于ARM體系的應(yīng)用程序加載方法,其 特征在于,所述步驟3具體為步驟31、加載器模塊執(zhí)行應(yīng)用程序映像入口,該映像入口即為映像文 件起始符號(hào);加載器模塊跳轉(zhuǎn)到載入緩沖區(qū)首地址;步驟32、由映像入口獲取環(huán)境建立函數(shù)的配置參數(shù);映像入口調(diào)用環(huán) 境建立函數(shù)建立應(yīng)用程序運(yùn)行環(huán)境;步驟33、由映像入口獲取接口層模塊的接口虛擬表指針;映像入口調(diào) 用接口虛擬表初始化函數(shù),對(duì)接口虛擬表進(jìn)行初始化,并為接口虛擬表的 指針賦值,使指針指向適配層各模塊的接口虛擬表的頭節(jié)點(diǎn),完成適配層 模塊和接口層模塊的對(duì)接。
3、 根據(jù)權(quán)利要求1所述的基于ARM體系的應(yīng)用程序加載方法,其 特征在于,所述步驟32具體為步驟321、映像入口獲取應(yīng)用程序映像文件的RO段大小、RW段偏 移量、RW段大小和ZI段大小參數(shù)后,調(diào)用環(huán)境建立函數(shù);步驟322、環(huán)境建立函數(shù)為應(yīng)用程序映像文件ZI段分配運(yùn)行空間,并 初始化靜態(tài)基址寄存器。
4、 根據(jù)權(quán)利要求2所述的基于ARM體系的應(yīng)用程序加載方法,其 特征在于,所述步驟322中對(duì)于靜態(tài)基址寄存器賦值的方式為環(huán)境建立函數(shù)根據(jù)映像入口傳遞的RW偏移量信息結(jié)合映像載入緩 沖區(qū)首地址,對(duì)靜態(tài)基址寄存賦值。
5、 根據(jù)權(quán)利要求2或3或4所述的基于ARM體系的應(yīng)用程序加載 方法,其特征在于,所述步驟33具體為步驟331、所述接口虛擬表初始化函數(shù)對(duì)適配層模塊的接口虛擬表進(jìn) 行初始化,填寫(xiě)適配層模塊需要導(dǎo)出的各接口函數(shù)地址;步驟332、將映像入口傳遞的接口層模塊的接口虛擬表指針賦值,使 其指向各模塊接口虛擬表頭節(jié)點(diǎn),完成適配層模塊和接口層模塊的對(duì)接。
6、 一種基于ARM體系的應(yīng)用程序加載系統(tǒng),其特征在于,包括接 口層模塊、適配層模塊、加載器模塊;所述接口層模塊提供應(yīng)用程序的編程接口 ;所述適配層模塊提供與所述接口層模塊的接口 ,以及與移動(dòng)終端系統(tǒng) 的接口;所述加載器模塊用于將應(yīng)用程序加載到系統(tǒng)層,并運(yùn)行所述應(yīng)用程序;所述適配層模塊包括環(huán)境建立函數(shù)子模塊,所述環(huán)境建立子模塊讀取 應(yīng)用程序映像的配置參數(shù)后,建立應(yīng)用程序運(yùn)行環(huán)境;所述適配層模塊還包括接口虛擬表初始化函數(shù)子模塊,所述接口虛擬 表初始化函數(shù)子模塊根據(jù)所述應(yīng)用程序映像的配置參數(shù),對(duì)用于記錄接口 層模塊與適配層模塊接口地址的接口虛擬表進(jìn)行初始化,以完成適配層模 塊和接口層模塊的對(duì)接。
全文摘要
本發(fā)明提出了一種基于ARM體系的應(yīng)用程序加載系統(tǒng)及加載方法,該系統(tǒng)包括接口層模塊、適配層模塊、加載器模塊;該加載方法采用應(yīng)用程序開(kāi)發(fā)包開(kāi)發(fā)應(yīng)用程序,并通過(guò)映像入口完成環(huán)境建立函數(shù)和接口虛擬表初始化函數(shù)的調(diào)用,實(shí)現(xiàn)適配層模塊和接口層模塊相互連接以及應(yīng)用程序環(huán)境參數(shù)的設(shè)定,從而使得非智能移動(dòng)終端也能具備功能可擴(kuò)展性。
文檔編號(hào)G06F9/445GK101582040SQ20091014721
公開(kāi)日2009年11月18日 申請(qǐng)日期2009年6月8日 優(yōu)先權(quán)日2009年6月8日
發(fā)明者張宗楚, 路紅敏 申請(qǐng)人:深圳市五巨科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
资阳市| 马山县| 扶沟县| 承德市| 五峰| 铜梁县| 柘城县| 余姚市| 江川县| 电白县| 新闻| 凤凰县| 那曲县| 额尔古纳市| 大田县| 富蕴县| 长沙县| 河南省| 浠水县| 瑞安市| 长武县| 富蕴县| 巴东县| 应用必备| 高雄县| 阳江市| 宁夏| 获嘉县| 泸西县| 莒南县| 柳河县| 西林县| 香格里拉县| 平湖市| 敦化市| 灵宝市| 深水埗区| 洪雅县| 潢川县| 工布江达县| 永吉县|