1.一種嵌入式操作系統(tǒng)代碼加載的方法,其特征在于,所述方法包括:
獲取所述嵌入式操作系統(tǒng)的當(dāng)前使用場(chǎng)景;
根據(jù)使用場(chǎng)景與代碼地址的對(duì)應(yīng)關(guān)系,獲取與所述當(dāng)前使用場(chǎng)景對(duì)應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址;
根據(jù)所述需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù);
加載所述需要恢復(fù)代碼,并根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當(dāng)前使用場(chǎng)景所對(duì)應(yīng)的其他代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一內(nèi)存區(qū)域?yàn)橛糜诖娣徘度胧讲僮飨到y(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,所述第二內(nèi)存區(qū)域?yàn)橥獠看鎯?chǔ)控制器。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述獲取與所述當(dāng)前使用場(chǎng)景對(duì)應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)的代碼地址之前,所述方法還包括:
將所述第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個(gè)內(nèi)存子區(qū)域,其中每個(gè)內(nèi)存子區(qū)域所對(duì)應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均存放有代碼,第三內(nèi)存子區(qū)域?yàn)楸A魠^(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)次子區(qū)域中的代碼調(diào)用頻率。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當(dāng)前使用場(chǎng)景所對(duì)應(yīng)的其他代碼,包括:
將與內(nèi)存子區(qū)域?qū)?yīng)的所述調(diào)用函數(shù)經(jīng)過(guò)匯編后生成LDR指令,所述LDR指令鏈接地址位于所述調(diào)用函數(shù)對(duì)應(yīng)的內(nèi)存子區(qū)域中,所述LDR指令能在全地址范圍跳轉(zhuǎn)。
6.一種嵌入式操作系統(tǒng)代碼加載的裝置,其特征在于,所述裝置包括:
第一獲取模塊,用于獲取所述嵌入式操作系統(tǒng)的當(dāng)前使用場(chǎng)景;
第二獲取模塊,用于根據(jù)使用場(chǎng)景與代碼地址的對(duì)應(yīng)關(guān)系,獲取與所述當(dāng) 前使用場(chǎng)景對(duì)應(yīng)的在第一內(nèi)存區(qū)域中需要恢復(fù)代碼的代碼地址;
第三獲取模塊,用于根據(jù)所述需要恢復(fù)代碼的代碼地址,獲取需要恢復(fù)代碼和調(diào)用函數(shù);
加載模塊,用于加載所述需要恢復(fù)代碼,并根據(jù)所述調(diào)用函數(shù)從第二內(nèi)存區(qū)域中加載當(dāng)前使用場(chǎng)景所對(duì)應(yīng)的其他代碼。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一內(nèi)存區(qū)域?yàn)橛糜诖娣徘度胧讲僮飨到y(tǒng)中頻繁調(diào)度代碼的內(nèi)存區(qū)域,所述第二內(nèi)存區(qū)域?yàn)橥獠看鎯?chǔ)控制器。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括劃分模塊,用于將所述第一內(nèi)存區(qū)域根據(jù)代碼的調(diào)用頻率劃分多個(gè)內(nèi)存子區(qū)域,其中每個(gè)內(nèi)存子區(qū)域所對(duì)應(yīng)的代碼的調(diào)用頻率不同,且相鄰的內(nèi)存子區(qū)域所映射的虛擬地址之間的間隔值至少為32MB。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一內(nèi)存區(qū)域劃分為第一內(nèi)存子區(qū)域、第二內(nèi)存子區(qū)域和第三內(nèi)存子區(qū)域,其中第一內(nèi)存子區(qū)域和第二內(nèi)存子區(qū)域中均存放有代碼,第三內(nèi)存子區(qū)域?yàn)楸A魠^(qū)域,且第一內(nèi)存子區(qū)域中的代碼調(diào)用頻率大于第二內(nèi)次子區(qū)域中的代碼調(diào)用頻率。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述加載模塊還用于,將與內(nèi)存子區(qū)域?qū)?yīng)的所述調(diào)用函數(shù)經(jīng)過(guò)匯編后生成LDR指令,所述LDR指令鏈接地址位于所述調(diào)用函數(shù)對(duì)應(yīng)的內(nèi)存子區(qū)域中,所述LDR指令能在全地址范圍跳轉(zhuǎn)。