亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種嵌入式操作系統(tǒng)代碼加載的方法及裝置與流程

文檔序號:12063390閱讀:370來源:國知局
一種嵌入式操作系統(tǒng)代碼加載的方法及裝置與流程

本發(fā)明涉及通信領(lǐng)域,尤其是涉及一種嵌入式操作系統(tǒng)代碼加載的方法及裝置。



背景技術(shù):

在嵌入式系統(tǒng)中,程序執(zhí)行時,對變量的賦值操作其實就是對內(nèi)存執(zhí)行寫入操作。如果程序在只讀存儲器ROM里執(zhí)行,變量的賦值操作是不能實現(xiàn)的,隨機訪問存儲器RAM可以支持隨機地址讀寫,因此程序代碼通常是在RAM里被執(zhí)行的,而內(nèi)存是典型的RAM,因此需要將代碼從ROM拷貝到內(nèi)存中。

當系統(tǒng)選擇從Nandflash啟動之后,CPU自動將0x0地址映射到Stepping stone,同時將Nandflash前4K代碼拷貝到Stepping stone,由于Stepping stone大小只有4K,而系統(tǒng)啟動程序大小往往超過4K,因此需要將全部的啟動代碼從Stepping stone搬運到空間更大的內(nèi)存中運行。當Stepping stone里的代碼對搬運過程中的相關(guān)硬件(如外部存儲控制器)設(shè)置好后,即進行初始化相關(guān)動作后,將程序搬運完成至外部存儲控制器—雙倍速率同步動態(tài)隨機存儲器DDR,然后跳入到DDR中繼續(xù)運行。嵌入式系統(tǒng)內(nèi)部還有一片用于存放系統(tǒng)頻繁調(diào)度的流程代碼的內(nèi)存區(qū)域—Inter Ram,該內(nèi)存區(qū)域的大小為256k。為保證系統(tǒng)的功耗降至最低,滿足需求,系統(tǒng)設(shè)計為周期性掉電休眠,喚醒上電的運轉(zhuǎn)系統(tǒng)。喚醒上電后某些特定場景下的代碼流程,如喚醒上電后的特定流程即存放在此Inter Ram中。

至此,代碼存儲空間由外部DDR和內(nèi)部Inter Ram組成。這兩處代碼統(tǒng)一調(diào)度,保證系統(tǒng)正常運轉(zhuǎn)。對于DDR和內(nèi)部Inter Ram的指令訪問區(qū)別是,內(nèi)部Inter Ram指令訪問速度更快,不需要經(jīng)過總線,而對于DDR的取指訪問則需要經(jīng)過總線,訪問速度較慢,但掉電后數(shù)據(jù)不丟失。正是基于該原因,故將頻繁調(diào)度的流程代碼放置在Inter Ram中。但內(nèi)部Inter Ram特性無法保證系統(tǒng) 掉電后代碼數(shù)據(jù)的正常使用,因為內(nèi)部Inter Ram數(shù)據(jù)掉電丟失,故需要保證系統(tǒng)掉電休眠前Inter Ram數(shù)據(jù)代碼被正常保存,系統(tǒng)上電喚醒前內(nèi)部數(shù)據(jù)被正?;謴?fù)。但是作為實時性嵌入式系統(tǒng)而言,每次上電喚醒,都要恢復(fù)Inter Ram中256k的代碼數(shù)據(jù),這對于系統(tǒng)實時性而言是一種巨大挑戰(zhàn)。本文設(shè)計目的正是基于此,如何保證系統(tǒng)上電恢復(fù)后的代碼正常運行,又不影響系統(tǒng)的實時性,并且更高效的保證系統(tǒng)的運轉(zhuǎn)。



技術(shù)實現(xiàn)要素:

為了保證嵌入式操作系統(tǒng)的正常運行,同時保證系統(tǒng)的實時性和系統(tǒng)的高效運作,本發(fā)明提供了一種嵌入式操作系統(tǒng)代碼加載的方法及裝置。

為了實現(xiàn)上述目的,本發(fā)明提供了一種嵌入式操作系統(tǒng)代碼加載的方法,所述方法包括:

獲取所述嵌入式操作系統(tǒng)的當前使用場景;

根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與所述當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址;

根據(jù)所述需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù);

加載所述需要恢復(fù)代碼,并根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

可選的,所述第一內(nèi)存區(qū)域為用于存放嵌入式操作系統(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,所述第二內(nèi)存區(qū)域為外部存儲控制器。

可選的,在所述獲取與所述當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)的代碼地址之前,所述方法還包括:所述第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個內(nèi)存子區(qū)域,其中每個內(nèi)存子區(qū)域所對應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。

可選的,所述第一內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均存放有代碼,第三內(nèi)存子區(qū)域為保留區(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)次子區(qū)域中的代碼調(diào)用頻率。

可選的,所述根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對 應(yīng)的其他代碼,包括:將與內(nèi)存子區(qū)域?qū)?yīng)的所述調(diào)用函數(shù)經(jīng)過匯編后生成LDR指令,所述LDR指令鏈接地址位于所述調(diào)用函數(shù)對應(yīng)的內(nèi)存子區(qū)域中,所述LDR指令能在全地址范圍跳轉(zhuǎn)。

依據(jù)本發(fā)明的另一個方面,本發(fā)明還提供了一種嵌入式操作系統(tǒng)代碼加載的裝置,所述裝置包括:

第一獲取模塊,用于獲取所述嵌入式操作系統(tǒng)的當前使用場景;

第二獲取模塊,用于根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與所述當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址;

第三獲取模塊,用于根據(jù)所述需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù);

加載模塊,用于加載所述需要恢復(fù)代碼,并根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

可選的,所述第一內(nèi)存區(qū)域為用于存放嵌入式操作系統(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,所述第二內(nèi)存區(qū)域為外部存儲控制器。

可選的,所述裝置還包括劃分模塊,用于將所述第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個內(nèi)存子區(qū)域,其中每個內(nèi)存子區(qū)域所對應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。

可選的,所述第一內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均存放有代碼,第三內(nèi)存子區(qū)域為保留區(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)次子區(qū)域中的代碼調(diào)用頻率。

可選的,所述加載模塊還用于,將與內(nèi)存子區(qū)域?qū)?yīng)的所述調(diào)用函數(shù)經(jīng)過匯編后生成LDR指令,所述LDR指令鏈接地址位于所述調(diào)用函數(shù)對應(yīng)的內(nèi)存子區(qū)域中,所述LDR指令能在全地址范圍跳轉(zhuǎn)。

本發(fā)明的有益效果是:

本發(fā)明提供的一種嵌入式操作系統(tǒng)代碼加載的方法,首先獲取嵌入式操作系統(tǒng)的當前使用場景,根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址,然后根據(jù)需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù),最后加載需要恢復(fù)代碼,并根 據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。本發(fā)明能夠根據(jù)需要恢復(fù)代碼和調(diào)用函數(shù),直接從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼,即無需恢復(fù)第一內(nèi)存區(qū)域中的所有代碼,而是根據(jù)使用場景恢復(fù)需要恢復(fù)代碼,在保證了嵌入式操作系統(tǒng)正常運行的同時,保證了系統(tǒng)的實時性和系統(tǒng)的高效運作。

附圖說明

圖1表示本發(fā)明的實施例中嵌入式操作系統(tǒng)代碼加載的方法的主要步驟流程圖;

圖2表示本發(fā)明的實施例中嵌入式操作系統(tǒng)代碼加載的方法的詳細步驟流程圖;

圖3表示本發(fā)明的實施例中各個內(nèi)存子區(qū)域與虛擬地址空間之間的映射關(guān)系圖;以及

圖4表示本發(fā)明的實施例中嵌入式操作系統(tǒng)代碼加載的裝置的結(jié)構(gòu)框圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

如圖1所示,為本發(fā)明的實施例中嵌入式操作系統(tǒng)代碼加載的方法的主要步驟流程圖,主要包括如下步驟:

步驟101,獲取嵌入式操作系統(tǒng)的當前使用場景。

在本步驟中,獲取嵌入式操作系統(tǒng)的當前使用場景。具體的,嵌入式操作系統(tǒng)的當前使用場景可以為系統(tǒng)從掉電休眠至上電喚醒后的場景。在此需要說明的,嵌入式操作系統(tǒng)的當前使用場景并不僅限于從掉電休眠至上電喚醒后的場景。

步驟102,根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址。

在本步驟中,具體的,在獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址之前,首先建立使用場景與代碼地址的對應(yīng)關(guān)系,然后根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址。

步驟103,根據(jù)需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù)。

在本步驟中,當獲取到需要恢復(fù)代碼的代碼地址后,從代碼地址內(nèi)獲取到需要恢復(fù)代碼和需要調(diào)用的函數(shù)。

步驟104,加載需要恢復(fù)代碼,并根據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

在本步驟中,具體的,由于當前使用場景所對應(yīng)的需要恢復(fù)代碼既存在于第一內(nèi)存區(qū)域又存在于第二內(nèi)存區(qū)域中,因此需要加載需要恢復(fù)代碼,然后根據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

本實施例能夠根據(jù)獲取到的內(nèi)存地址中的需要恢復(fù)代碼和調(diào)用函數(shù),直接從獲取到的內(nèi)存地址跳轉(zhuǎn)至第二內(nèi)存區(qū)域,并從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼,即無需恢復(fù)第一內(nèi)存區(qū)域中的所有代碼,而是根據(jù)使用場景恢復(fù)需要恢復(fù)代碼,因此在保證了嵌入式操作系統(tǒng)代碼正常運行的同時,保證了系統(tǒng)的實時性和系統(tǒng)的高效運作。

如圖2所示,為本發(fā)明的實施例中嵌入式操作系統(tǒng)代碼加載的方法的詳細步驟流程圖,主要包括如下步驟:

步驟201,將第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個內(nèi)存子區(qū)域。

在本步驟中,具體的,第一內(nèi)存區(qū)域為用于存放嵌入式操作系統(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,且該第一內(nèi)存區(qū)域的內(nèi)存較小,通常情況下只有256KB。此外,可以將第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個內(nèi)存子區(qū)域,其中,每個內(nèi)存子區(qū)域所對應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。

可選的,可以將內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中,第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均用于存放代碼,第三內(nèi)存子區(qū)域作為保留區(qū)域,即第三內(nèi)存子區(qū)域為空白區(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)存子區(qū)域中的代碼調(diào)用頻率。此外,具體的, 當將內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域后,且當?shù)谝粌?nèi)存區(qū)域的內(nèi)存為256KB時,第一內(nèi)存子區(qū)域的區(qū)域空間可以為第一內(nèi)存區(qū)域的前128KB空間,第二內(nèi)存子區(qū)域的區(qū)域空間和第三內(nèi)存子區(qū)域的區(qū)域空間可以均為68KB,此時,第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域所映射的虛擬地址空間可以均為1MB,且第一內(nèi)存子區(qū)域映射的虛擬地址與第二內(nèi)存子區(qū)域映射的虛擬地址之間的間隔至少為32MB,第二內(nèi)存子區(qū)域映射的虛擬地址和第三內(nèi)存子區(qū)域映射的虛擬地址之間的間隔至少為32M,具體的,可以參見圖3中的各個內(nèi)存子區(qū)域與虛擬地址空間之間的映射關(guān)系圖。

步驟101,獲取嵌入式操作系統(tǒng)的當前使用場景。

步驟102,根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址。

在本步驟中,具體的,在獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址之前,首先建立使用場景與代碼地址的對應(yīng)關(guān)系,然后根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址。下面可以舉例對本步驟進行說明。

假設(shè)當前使用場景為系統(tǒng)從掉電休眠至上電喚醒后的使用場景。該使用場景與代碼地址的對應(yīng)關(guān)系可以為:在該使用場景下,第一內(nèi)存區(qū)域中的第一內(nèi)存子區(qū)域可以用于存放系統(tǒng)調(diào)度頻率最高的且在系統(tǒng)從掉電休眠至上電喚醒后需要立即被調(diào)用的代碼;第二內(nèi)存區(qū)內(nèi)存子區(qū)域用于存放調(diào)度頻率小于第一內(nèi)存子區(qū)域且在系統(tǒng)從掉電休眠到上電喚醒后非立即調(diào)用的代碼;第三子區(qū)域則作為保留區(qū)域。根據(jù)系統(tǒng)從掉電休眠至上電喚醒后的使用場景與代碼地址之間的對應(yīng)關(guān)系,可以獲取與該使用場景相對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址,具體的,在本例中,與該使用場景相對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)的代碼地址為第一內(nèi)存區(qū)域中的第一內(nèi)存子區(qū)域。

步驟103,根據(jù)需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù)。

在本步驟中,當獲取到需要恢復(fù)代碼的代碼地址后,可以根據(jù)需要恢復(fù)代碼的代碼地址,從代碼地址內(nèi)獲取到需要恢復(fù)代碼和需要調(diào)用的函數(shù)。

繼續(xù)以步驟102中的舉例進行說明。

當獲取到第一內(nèi)存區(qū)域中第一內(nèi)存子區(qū)域的地址后,從第一內(nèi)存子區(qū)域中 獲取需要恢復(fù)代碼和需要調(diào)用的函數(shù)。

步驟104,加載需要恢復(fù)代碼,并根據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

在本步驟中,若當前使用場景所對應(yīng)的需要恢復(fù)代碼即存在于第一內(nèi)存區(qū)域又存在于第二內(nèi)存區(qū)域中時,加載需要恢復(fù)代碼,然后根據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。具體的,第二內(nèi)存區(qū)域為外部存儲控制器,優(yōu)選的,該外部存儲控制器可以為雙倍速率同步動態(tài)隨機存儲器DDR。

具體的,在嵌入式操作系統(tǒng)運行期間,第一內(nèi)存區(qū)域中存放的代碼和第二內(nèi)存區(qū)域中存放的代碼組成一定的邏輯關(guān)系,該邏輯關(guān)系使得系統(tǒng)在特定使用場景下能夠進行調(diào)度以保證系統(tǒng)的正常運行。下面,繼續(xù)以步驟102中的舉例進行說明。

在該例中,將系統(tǒng)上電喚醒后即將運行的代碼放置在第一內(nèi)存區(qū)域中的第一內(nèi)存子區(qū)域中。由于該段代碼屬性上屬于上電喚醒后需要恢復(fù)以保證代碼正常運轉(zhuǎn),用于防止程序失去控制,即防止代碼“跑飛”,若該段代碼未恢復(fù),產(chǎn)生的非法地址訪問則可能導(dǎo)致系統(tǒng)癱瘓。但是由于第一內(nèi)存區(qū)域的內(nèi)存較小(通常只有256KB),因此只能將有限的需要恢復(fù)代碼放置在第一內(nèi)存子區(qū)域中,然后將系統(tǒng)從掉電休眠到上電喚醒后所對應(yīng)的其他代碼放置在第二內(nèi)存區(qū)域中,即放置在外部存儲控制器中。此時,為了保證系統(tǒng)的正常運行,在第一內(nèi)存子區(qū)域中加載完需要恢復(fù)代碼后,需要根據(jù)第一內(nèi)存子區(qū)域中的調(diào)用函數(shù),從第二內(nèi)存區(qū)域中加載掉電休眠到上電喚醒后所對應(yīng)的其他代碼。

步驟202,將與內(nèi)存子區(qū)域?qū)?yīng)的調(diào)用函數(shù)經(jīng)過匯編后生成LDR指令。

在本步驟中,具體的,調(diào)用函數(shù)能夠生成可執(zhí)行文件并且被正常調(diào)用,是因為程序必須經(jīng)過編譯、匯編和連接過程,而鏈接過程需要對目標文件進行重定位,建立符號引用規(guī)則,同時為變量、函數(shù)等分配運營地址。當程序執(zhí)行時,系統(tǒng)必須把代碼加載到鏈接時所指定的地址空間,以保證程序在執(zhí)行過程中對變量、函數(shù)等符號的正確引用,使程序正常運行。在該過程中,第一內(nèi)存子區(qū)域?qū)?yīng)的調(diào)用函數(shù)經(jīng)過匯編后生成LDR指令,該LDR指令鏈接地址位于調(diào)用函數(shù)對應(yīng)的內(nèi)存區(qū)域中,且由于LDR指令能夠在全地址范圍內(nèi)運轉(zhuǎn),且第一內(nèi) 存區(qū)域中的相鄰內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔至少為32MB,因此,第一內(nèi)存子區(qū)域能夠根據(jù)該LDR指令鏈接到第二內(nèi)存區(qū)域中,以保證系統(tǒng)的正常運行。

本實施例通過將第一內(nèi)存區(qū)域劃分為多個內(nèi)存子區(qū)域,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔至少為32MB,使得系統(tǒng)能夠根據(jù)LDR指令直接從第一內(nèi)存區(qū)域中的第一內(nèi)存子區(qū)域鏈接到第二內(nèi)存區(qū)域。因此在保證了系統(tǒng)正常運行的情況下,同時保證了系統(tǒng)的實時性和系統(tǒng)的高效運作。

如圖4所示,為本發(fā)明的實施例中一種嵌入式操作系統(tǒng)代碼加載的裝置的結(jié)構(gòu)框圖,該裝置包括:

第一獲取模塊301,用于獲取嵌入式操作系統(tǒng)的當前使用場景;

第二獲取模塊302,用于根據(jù)使用場景與代碼地址的對應(yīng)關(guān)系,獲取與當前使用場景對應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址;

第三獲取模塊303,用于根據(jù)需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù);

加載模塊304,用于加載需要恢復(fù)代碼,并根據(jù)調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當前使用場景所對應(yīng)的其他代碼。

可選的,第一內(nèi)存區(qū)域為用于存放嵌入式操作系統(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,第二內(nèi)存區(qū)域為外部存儲控制器。

可選的,裝置還包括劃分模塊,用于將第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個內(nèi)存子區(qū)域,其中每個內(nèi)存子區(qū)域所對應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。

可選的,第一內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均存放有代碼,第三內(nèi)存子區(qū)域為保留區(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)次子區(qū)域中的代碼調(diào)用頻率。

可選的,加載模塊304還用于,將與內(nèi)存子區(qū)域?qū)?yīng)的調(diào)用函數(shù)經(jīng)過匯編后生成LDR指令,LDR指令鏈接地址位于調(diào)用函數(shù)對應(yīng)的內(nèi)存子區(qū)域中,LDR指令能在全地址范圍跳轉(zhuǎn)。

以上所述的是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出對于本技術(shù)領(lǐng)域的普通人 員來說,在不脫離本發(fā)明所述的原理前提下還可以作出若干改進和潤飾,這些改進和潤飾也在本發(fā)明的保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1