亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

利用tcm實現(xiàn)代碼、數(shù)據(jù)替換的方法

文檔序號:6505777閱讀:501來源:國知局
利用tcm實現(xiàn)代碼、數(shù)據(jù)替換的方法
【專利摘要】本發(fā)明實施例公開了一種利用TCM實現(xiàn)代碼替換的方法,包括:將第一代碼加載到指令緊密耦合內(nèi)存ITCM中;將所述ITCM的地址配置為第一代碼地址;其中,所述第一代碼地址是被所述第一代碼對應(yīng)的第一新代碼段所替換的第一舊代碼段的調(diào)用地址。本發(fā)明實施例還公開了一種利用TCM實現(xiàn)數(shù)據(jù)替換的方法,包括:將第一數(shù)據(jù)加載到數(shù)據(jù)緊密耦合內(nèi)存DTCM中;將所述DTCM的地址配置為第一數(shù)據(jù)地址;本發(fā)明的代碼、數(shù)據(jù)替換方法可以在不修改執(zhí)行軟件二進(jìn)制編碼的情況下實現(xiàn)代碼、數(shù)據(jù)的替換,能有效的降低代碼、數(shù)據(jù)替換時出現(xiàn)錯誤的概率。
【專利說明】利用TCM實現(xiàn)代碼、數(shù)據(jù)替換的方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到嵌入式系統(tǒng)的代碼、數(shù)據(jù)替換方法,特別涉及到一種利用嵌入式系統(tǒng)處理器的緊密耦合內(nèi)存(Tightly Coupled Memory,簡稱,TCM)實現(xiàn)代碼、數(shù)據(jù)替換的方法。

【背景技術(shù)】
[0002]隨著嵌入式系統(tǒng)的發(fā)展,嵌入式系統(tǒng)的軟件功能越來越復(fù)雜,軟件代碼也越來越龐大,為了降低軟件修改的成本開銷,嵌入式系統(tǒng)的軟件和數(shù)據(jù)通常都會采用模塊化的設(shè)計方式,通過程序模塊中調(diào)用其他程序模塊和數(shù)據(jù)模塊的方式來實現(xiàn)各種功能。
[0003]嵌入式系統(tǒng)中運行的執(zhí)行文件一般分兩個步驟得到:將源文件編譯成目標(biāo)文件和/或庫文件;將目標(biāo)文件和/或庫文件進(jìn)行鏈接得到可執(zhí)行文件。執(zhí)行文件實際是由一條一條CPU能夠識別的機器碼以及被初始化過的數(shù)據(jù)等組成。
[0004]在嵌入式系統(tǒng)的軟件功能更新或修改時,有時會需要將部分代碼和/或數(shù)據(jù)用新的代碼和/或數(shù)據(jù)替換。
[0005]現(xiàn)有技術(shù)處理軟件的代碼、數(shù)據(jù)替換時,通常采用的方法有兩種:
[0006]方法一是修改軟件源代碼,在軟件源代碼中修改需要替換的代碼和/或數(shù)據(jù),然后重新編譯、鏈接整個軟件獲得新的可執(zhí)行文件。
[0007]這種方法的主要缺點是,必須對相關(guān)程序的源代碼進(jìn)行修改,而嵌入式系統(tǒng)軟件中經(jīng)常會用到第三方以非源代碼方式提供的程序(第三方提供的程序代碼通常是目標(biāo)文件或庫文件等形式),如果需要替換的代碼和/或數(shù)據(jù)要被第三方以非源代碼方式提供的程序調(diào)用;因為沒有對應(yīng)的源代碼,就無法采用這種方法來實現(xiàn)代碼、數(shù)據(jù)的替換。
[0008]方法二是首先將新的代碼段和/或數(shù)據(jù)添加到執(zhí)行文件中(可以將新代碼和/或數(shù)據(jù)編譯成目標(biāo)文件或庫文件,與原執(zhí)行文件的目標(biāo)文件或庫文件進(jìn)行鏈接;也可以直接將新代碼和/或數(shù)據(jù)的二進(jìn)制編碼添加到執(zhí)行文件二進(jìn)制編碼中。),并在軟件加載時將其加載到RAM運行空間;修改嵌入式軟件執(zhí)行文件中需要調(diào)用被替換的代碼段和/或數(shù)據(jù)之處的機器碼,將其修改為調(diào)用新代碼段和/或新數(shù)據(jù)。
[0009]方法二雖然能夠解決方法一的缺點,但是修改執(zhí)行文件的機器碼(二進(jìn)制編碼)極易造成執(zhí)行文件的不穩(wěn)定,特別是執(zhí)行文件中被替換的代碼段和/或數(shù)據(jù)段被調(diào)用之處較多時,軟件機器碼修改的工作量很大且容易出現(xiàn)修改遺漏或錯誤。


【發(fā)明內(nèi)容】

[0010]有鑒于此,本發(fā)明提出了一種利用TCM實現(xiàn)代碼、數(shù)據(jù)替換的方法,以解決現(xiàn)有技術(shù)中存在的問題。
[0011]在一些處理器(例如,ARM)中設(shè)計有內(nèi)置的TCM。由于TCM在處理器內(nèi)部且存取速度與Cache相當(dāng),所以它主要用于存放一些經(jīng)常使用的代碼或數(shù)據(jù),減少CPU通過數(shù)據(jù)總線訪問外部存儲設(shè)備的次數(shù)與耗時。TCM分兩類:用于存放代碼的指令緊密耦合內(nèi)存(Instruct1n Tightly-Coupled Memory,簡稱,ITCM);用于存放數(shù)據(jù)的數(shù)據(jù)緊密稱合內(nèi)存(Data Tightly-Coupled Memory,簡稱,DTCM),每個TCM的物理地址空間在軟件流程中可以動態(tài)配置,并可以動態(tài)使能或禁用。
[0012]TCM作為一種可動態(tài)配置物理地址的特殊內(nèi)存,有一特性:當(dāng)TCM配置的物理地址與其他地址重合時,處理器訪問該地址時只能訪問TCM,而不能訪問該地址所對應(yīng)的其他存儲空間。
[0013]本發(fā)明的技術(shù)方案包括利用TCM實現(xiàn)代碼替換的方法和利用TCM實現(xiàn)數(shù)據(jù)替換的方法。
[0014]一種利用TCM實現(xiàn)代碼替換的方法,包括:
[0015]使能ITCM ;
[0016]將第一代碼加載到ITCM中;
[0017]將所述ITCM的地址配置為第一代碼地址;
[0018]其中,所述第一代碼地址是被所述第一代碼對應(yīng)的第一新代碼段所替換的第一舊代碼段的調(diào)用地址。
[0019]可選的,所述方法的各步驟在引導(dǎo)程序中執(zhí)行。
[0020]進(jìn)一步的,所述方法還可以包括,預(yù)先將所述第一代碼添加到所述引導(dǎo)程序中。
[0021]可選的,所述方法的各步驟由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用代碼替換任務(wù)執(zhí)行。
[0022]可選的,所述方法還包括:
[0023]在所述第一新代碼段的最后執(zhí)行:
[0024]將第二代碼加載到所述ITCM中;
[0025]將所述ITCM的地址配置為第二代碼地址;
[0026]其中,所述第二代碼地址是被所述第二代碼對應(yīng)的第二新代碼段所替換的第二舊代碼段的調(diào)用地址。
[0027]可選的,所述第二代碼是代碼調(diào)用程序,用于從所述第二新代碼段的調(diào)用地址調(diào)用所述第二新代碼段。
[0028]可選的,所述第一代碼是代碼調(diào)用程序,用于從所述第一新代碼段的調(diào)用地址調(diào)用所述第一新代碼段。
[0029]一種利用TCM實現(xiàn)數(shù)據(jù)替換的方法,包括:
[0030]使能DTCM;
[0031]將第一數(shù)據(jù)加載到DTCM中;
[0032]將所述DTCM的地址配置為第一數(shù)據(jù)地址;
[0033]其中,所述第一數(shù)據(jù)地址是被所述第一數(shù)據(jù)所替換的第一舊數(shù)據(jù)段的調(diào)用地址。
[0034]可選的,所述方法的各步驟在引導(dǎo)程序中執(zhí)行。
[0035]進(jìn)一步的,所述方法還包括:預(yù)先將所述第一數(shù)據(jù)添加到所述引導(dǎo)程序中。
[0036]可選的,所述方法的各步驟由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用數(shù)據(jù)替換任務(wù)執(zhí)行。
[0037]可選的,所述調(diào)用地址是虛擬地址或物理地址。
[0038]本發(fā)明的方法利用處理器的ITCM來加載新代碼段,將ITCM的地址配置為所述新代碼段將要替換的舊代碼段的調(diào)用地址,這樣,無需修改調(diào)用該新代碼段的程序的二進(jìn)制編碼,即可實現(xiàn)代碼替換。同時,利用處理器的DTCM來加載新數(shù)據(jù)段,將DTCM的地址配置為所述新數(shù)據(jù)段將要替換的舊數(shù)據(jù)段的調(diào)用地址,這樣,無需修改調(diào)用該新數(shù)據(jù)段的程序的二進(jìn)制編碼,即可實現(xiàn)數(shù)據(jù)替換??梢员苊庑薷能浖M(jìn)制編碼造成的執(zhí)行文件不穩(wěn)定以及容易遺漏及出錯的問題,同時也提高了軟件修改時實現(xiàn)代碼、數(shù)據(jù)替換的效率。

【專利附圖】

【附圖說明】
[0039]圖1是現(xiàn)有技術(shù)實現(xiàn)代碼、數(shù)據(jù)替換的方法二的流程圖
[0040]圖2是本發(fā)明具體實施例1的流程圖;
[0041]圖3是本發(fā)明具體實施例2的流程圖;
[0042]圖4是本發(fā)明具體實施例3代碼替換方法流程圖;
[0043]圖5是本發(fā)明具體實施例3數(shù)據(jù)替換方法流程圖;

【具體實施方式】
[0044]為進(jìn)一步說明本發(fā)明的技術(shù)方案,下面通過具體實施例結(jié)合附圖詳細(xì)說明。
[0045]具體實施例1
[0046]本具體實施例為本發(fā)明利用TCM實現(xiàn)代碼替換的一種優(yōu)選實施方式,本實施例代碼替換流程如圖2所示。
[0047]本實施例中,首先需要執(zhí)行步驟100,修改執(zhí)行文件:
[0048]100、將第一新代碼段添加到執(zhí)行文件中;
[0049]具體的添加方法可以是【背景技術(shù)】中所述的方法或任意一種現(xiàn)有技術(shù)的添加方法;本實施例對此沒有限制。
[0050]101、使能 ITCM ;
[0051]102、將第一代碼加載到所述ITCM中;
[0052]103、配置所述ITCM的地址為第一代碼地址。
[0053]嵌入式系統(tǒng)的軟件通??梢苑譃橐龑?dǎo)程序、操作系統(tǒng)和各功能程序,嵌入式系統(tǒng)上電開機后,處理器首先會加載運行引導(dǎo)程序,進(jìn)行系統(tǒng)初始化,系統(tǒng)初始化完成后,引導(dǎo)程序會加載操作系統(tǒng)的任務(wù)調(diào)度程序,然后跳轉(zhuǎn)到操作系統(tǒng)任務(wù)調(diào)度程序運行。任務(wù)調(diào)度程序根據(jù)系統(tǒng)運行的需要調(diào)度各功能程序運行以完成各項功能。
[0054]本實施例中,代碼替換流程可以在引導(dǎo)程序中執(zhí)行:
[0055]引導(dǎo)程序在加載操作系統(tǒng)的任務(wù)調(diào)度程序后,執(zhí)行所述代碼替換流程的步驟101?103 ;然后跳轉(zhuǎn)到操作系統(tǒng)任務(wù)調(diào)度程序運行。
[0056]可選的,所述第一代碼可以是預(yù)先添加到所述引導(dǎo)程序的鏡像文件中,由所述引導(dǎo)程序直接將所述第一代碼搬移到所述ITCM中;
[0057]可選的,所述第一代碼也可以是獨立保存在嵌入式系統(tǒng)的存儲器中,由所述引導(dǎo)程序?qū)⑺龅谝淮a從存儲器中加載到所述ITCM中。
[0058]本實施例中,代碼替換流程也可以通過操作系統(tǒng)任務(wù)調(diào)度的方式執(zhí)行:
[0059]在嵌入式系統(tǒng)軟件中增加一個包括所述步驟101?103的代碼替換任務(wù)程序,由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用該任務(wù)執(zhí)行所述代碼替換流程。
[0060]需要說明的是,上述僅僅是對代碼段替換流程步驟執(zhí)行方式的舉例說明,本發(fā)明對于代碼段替換流程步驟的具體執(zhí)行方式并沒有限制。如,本實施例中還可以通過在第一任務(wù)中執(zhí)行所述步驟101?103 ;所述第一任務(wù)為在調(diào)用所述第一代碼的任務(wù)之前執(zhí)行的且源代碼可以修改的任務(wù)程序。
[0061]可選的,所述第一代碼可以是用于替換第一舊代碼段的新代碼段;
[0062]可選的,所述第一代碼還可以是代碼調(diào)用程序,執(zhí)行所述第一代碼可以調(diào)用第一新代碼段。采用本優(yōu)選實現(xiàn)方案可以減少代碼替換所需的ITCM空間,可以利用較小的ITCM空間實現(xiàn)體積較大的新代碼段的替換。
[0063]所述第一代碼地址為被所述第一代碼對應(yīng)的第一新代碼段所替換的第一舊代碼段的調(diào)用地址;
[0064]所述調(diào)用地址可以是虛擬地址也可以是物理地址。
[0065]本實施例中,所述調(diào)用地址是指被調(diào)用代碼的存儲地址或運行地址。
[0066]具體實施例2
[0067]本具體實施例為本發(fā)明利用TCM實現(xiàn)數(shù)據(jù)替換的一種優(yōu)選實施方式,本實施例總體流程如圖3所示。
[0068]本實施例中,首先首先需要執(zhí)行步驟200,修改執(zhí)行文件:
[0069]200、將第一新數(shù)據(jù)段添加到執(zhí)行文件中;
[0070]具體的添加方法可以是【背景技術(shù)】中所述的方法或任意一種現(xiàn)有技術(shù)的添加方法;本實施例對此沒有限制。
[0071]201、使能01^11。
[0072]202、將第一數(shù)據(jù)加載到所述DTCM中;
[0073]203、配置所述DTCM的地址為第一數(shù)據(jù)地址;
[0074]嵌入式系統(tǒng)的軟件通??梢苑譃橐龑?dǎo)程序、操作系統(tǒng)和各功能程序,嵌入式系統(tǒng)上電開機后,處理器首先會加載運行引導(dǎo)程序,進(jìn)行系統(tǒng)初始化,系統(tǒng)初始化完成后,引導(dǎo)程序會加載操作系統(tǒng)的任務(wù)調(diào)度程序,然后跳轉(zhuǎn)到操作系統(tǒng)任務(wù)調(diào)度程序運行。任務(wù)調(diào)度程序根據(jù)系統(tǒng)運行的需要調(diào)度各功能程序運行。
[0075]本實施例中,數(shù)據(jù)段替換流程可以在引導(dǎo)程序中執(zhí)行:
[0076]引導(dǎo)程序在加載操作系統(tǒng)的任務(wù)調(diào)度程序后,執(zhí)行所述數(shù)據(jù)替換流程的步驟201?203 ;然后跳轉(zhuǎn)到操作系統(tǒng)任務(wù)調(diào)度程序運行。
[0077]可選的,所述第一數(shù)據(jù)可以是預(yù)先添加到所述引導(dǎo)程序的鏡像文件中,由所述引導(dǎo)程序直接將所述第一數(shù)據(jù)搬移到所述DTCM中;
[0078]可選的,所述第一數(shù)據(jù)也可以是獨立保存在嵌入式系統(tǒng)的存儲器中,由所述引導(dǎo)程序?qū)⑺龅谝粩?shù)據(jù)從存儲器中加載到所述DTCM中。
[0079]本實施例中,數(shù)據(jù)段替換流程也可以通過操作系統(tǒng)任務(wù)調(diào)度的方式執(zhí)行:
[0080]在嵌入式系統(tǒng)軟件中增加一個包括所述步驟201?203的數(shù)據(jù)替換任務(wù)程序,由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用該任務(wù)執(zhí)行所述數(shù)據(jù)替換流程。
[0081]需要說明的是,上述僅僅是對數(shù)據(jù)段替換流程步驟執(zhí)行方式的舉例說明,本發(fā)明對于數(shù)據(jù)段替換流程步驟的具體執(zhí)行方式并沒有限制。如,本實施例中還可以通過在第一任務(wù)中執(zhí)行所述步驟201?203 ;所述第一任務(wù)為在調(diào)用所述第一數(shù)據(jù)的任務(wù)之前執(zhí)行的且源代碼可以修改的任務(wù)程序。
[0082]所述第一數(shù)據(jù)可以是用于替換舊數(shù)據(jù)段的新數(shù)據(jù)段;
[0083]所述第一數(shù)據(jù)地址為被所述第一數(shù)據(jù)所替換的第一舊數(shù)據(jù)段的調(diào)用地址;
[0084]所述調(diào)用地址可以是虛擬地址也可以是物理地址。
[0085]本實施例中,所述調(diào)用地址是指被調(diào)用數(shù)據(jù)的存儲地址。
[0086]具體實施例3
[0087]下面,以一個在嵌入式系統(tǒng)中具體的代碼、數(shù)據(jù)替換流程來進(jìn)一步說明本發(fā)明的方法。
[0088]嵌入式系統(tǒng)的處理器內(nèi)置有一個ITCM和一個DTCM。嵌入式軟件系統(tǒng)包括有操作系統(tǒng)任務(wù)調(diào)度程序Service Management和多個功能程序Service (i);其中,功能程序Service (2)為第三方提供,無法對程序進(jìn)行直接修改。
[0089]Service (2)在執(zhí)行過程中會調(diào)用代碼段Codel、Code2 ;其中,Codel的調(diào)用地址為address_Cl, Code2 的調(diào)用地址為 address_C2, Codel 在 Code2 之前被調(diào)用。
[0090]Service (2)在執(zhí)行過程中還會調(diào)用數(shù)據(jù)段Datal、Data2 ;其中,Datal的調(diào)用地址為address_Dl, Data2的調(diào)用地址為address_D2, Datal在Data2之前被調(diào)用。
[0091]本實施例中,需要將Codel替換為Codel_new代碼段,將Code2替換為Code2_new代碼段,將Datal替換為Datal_new數(shù)據(jù)段,將Data2替換為Data2_new數(shù)據(jù)段。
[0092]本實施例實現(xiàn)所述代碼替換的流程如圖4所示,包括:
[0093]300、預(yù)先將所述Codel_new、Code2_new添加到執(zhí)行文件中,并建立一個代碼替換任務(wù) Service_codereplace;
[0094]301、使能所述 ITCM ;
[0095]302>Service Management 調(diào)度 Service_codereplace 執(zhí)行,將 Codel_new 加載到ITCM 中;
[0096]本步驟中,所述加載具體操作可以是直接將Codel_new代碼段加載到ITCM中;也可以是在ITCM中加載一個代碼調(diào)用程序,執(zhí)行該代碼調(diào)用程序會調(diào)用所述Codelnew代碼段。
[0097]303、Service_codereplace 將所述 ITCM 的地址配置為 address_Cl ;
[0098]需要說明的是,本領(lǐng)域技術(shù)人員顯然清楚,上述步驟301?303應(yīng)當(dāng)在所述Service (2)中調(diào)用Codel的指令執(zhí)行之前執(zhí)行;當(dāng)Service (2)執(zhí)行調(diào)用Codel的指令時,實際上是調(diào)用了所述Codel_new;
[0099]304、Codel_new 執(zhí)行完成后,將 Code2_new 加載到 ITCM 中;
[0100]305、將所述ITCM的地址配置為address_C2 ;
[0101]需要說明的是,本領(lǐng)域技術(shù)人員顯然清楚,上述步驟304?305應(yīng)當(dāng)在所述Service (2)中調(diào)用Code2的指令執(zhí)行之前執(zhí)行;當(dāng)Service (2)執(zhí)行調(diào)用Code2的指令時,實際上是調(diào)用了所述Code2_new;
[0102]所述步驟304 和 305 可以由所述 Service Management 調(diào)度 Service_codereplace執(zhí)行。
[0103]作為本實施例的一種優(yōu)選實現(xiàn)方案,可以在所述Codel_new代碼段的末尾增加指令來直接執(zhí)行所述步驟304和305。
[0104]本優(yōu)選實現(xiàn)方案可以減少Service Management的調(diào)度次數(shù),減少代碼、數(shù)據(jù)替換流程對Service (2)程序執(zhí)行的影響。
[0105]本實施例的代碼替換方法可以利用一個ITCM實現(xiàn)多個不同的代碼段的替換,需要說明的是,上述僅為舉例說明,并非對本發(fā)明的限定,例如,所述步驟301?303也可以在引導(dǎo)程序中執(zhí)行或在第一任務(wù)中執(zhí)行。所述第一任務(wù)為在調(diào)用所述第一代碼的任務(wù)之前執(zhí)行的且源代碼可以修改的任務(wù)程序。雖然本實施例中描述的是2個代碼段替換的流程,但本領(lǐng)域技術(shù)人員顯然清楚,本實施例的方法同樣也可以用于3個以上不同代碼段的替換。
[0106]本實施例中,各代碼段的調(diào)用地址是指被調(diào)用代碼的存儲地址或運行地址。
[0107]本實施例實現(xiàn)所述數(shù)據(jù)替換的流程如圖5所示,包括:
[0108]310、預(yù)先將所述Datal_new、Data2_new添加到執(zhí)行文件中,并建立一個數(shù)據(jù)替換任務(wù) Service_datareplace;
[0109]311、使能 DTCM;
[0110]312、Service Management 調(diào)度 Service_datareplace 執(zhí)行,將 Datal_new 加載到DTCM 中;
[0111]313、Service_datareplace 將所述 DTCM 的地址配置為 address_Dl ;
[0112]需要說明的是,本領(lǐng)域技術(shù)人員顯然清楚,上述步驟311?313應(yīng)當(dāng)在所述Service (2)中調(diào)用Datal的指令執(zhí)行之前執(zhí)行;當(dāng)Service (2)執(zhí)行調(diào)用Datal的指令時,實際上是調(diào)用了所述Datal_new;
[0113]314、在 Service (2)完成對 Datal_new 的使用后,將 Data2_new 加載到 ITCM 中;
[0114]315、將所述DTCM的地址配置為address_D2 ;
[0115]需要說明的是,本領(lǐng)域技術(shù)人員顯然清楚,上述步驟314?315應(yīng)當(dāng)在所述Service (2)中調(diào)用Data2的指令執(zhí)行之前執(zhí)行;當(dāng)Service (2)執(zhí)行調(diào)用Data2的指令時,實際上是調(diào)用了所述Data2_new;
[0116]所述步驟314 和 315 可以由 Service Management 調(diào)度 Service_datareplace 執(zhí)行。
[0117]本實施例的數(shù)據(jù)替換方法可以利用一個DTCM實現(xiàn)多個不同的數(shù)據(jù)段的替換,需要說明的是,上述僅為舉例說明,并非對本發(fā)明的限定,例如,所述步驟311?313也可以在引導(dǎo)程序中執(zhí)行或在第一任務(wù)中執(zhí)行。所述第一任務(wù)為在調(diào)用所述第一數(shù)據(jù)的任務(wù)之前執(zhí)行的且源代碼可以修改的任務(wù)程序。雖然本實施例中描述的是2個數(shù)據(jù)段的替換流程,但本領(lǐng)域技術(shù)人員顯然清楚,本實施例的方法同樣也可以用于3個以上不同數(shù)據(jù)段的替換。
[0118]本實施例中,各數(shù)據(jù)段的調(diào)用地址是指被調(diào)用數(shù)據(jù)的存儲地址。
[0119]本領(lǐng)域的一般技術(shù)人員顯然應(yīng)該清楚并且理解,本發(fā)明所舉的以上實施例僅用于說明本發(fā)明,而并不用于限制本發(fā)明。例如,本發(fā)明實施例中的代碼替換方法和數(shù)據(jù)替換方法并不排斥,可以同時執(zhí)行;代碼替換任務(wù)和數(shù)據(jù)替換任務(wù)可以是同一個任務(wù)程序等。在不背離本發(fā)明的精神及其實質(zhì)的情況下,本領(lǐng)域技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變或變形,但這些相應(yīng)的改變或變形均屬于本發(fā)明的權(quán)利要求保護(hù)范圍。
【權(quán)利要求】
1.一種利用緊密耦合內(nèi)存TCM實現(xiàn)代碼替換的方法,其特征在于,包括: 使能指令緊密耦合內(nèi)存ITCM ; 將第一代碼加載到ITCM中; 將所述ITCM的地址配置為第一代碼地址; 其中,所述第一代碼地址是被所述第一代碼對應(yīng)的第一新代碼段所替換的第一舊代碼段的調(diào)用地址。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述方法的各步驟在引導(dǎo)程序中執(zhí)行。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 預(yù)先將所述第一代碼添加到所述引導(dǎo)程序中。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述方法的各步驟由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用代碼替換任務(wù)執(zhí)行。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在所述第一新代碼段的最后執(zhí)行: 將第二代碼加載到所述ITCM中; 將所述ITCM的地址配置為第二代碼地址; 其中,所述第二代碼地址是被所述第二代碼對應(yīng)的第二新代碼段所替換的第二舊代碼段的調(diào)用地址。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于: 所述第二代碼是代碼調(diào)用程序,用于從所述第二新代碼段的調(diào)用地址調(diào)用所述第二新代碼段。
7.根據(jù)權(quán)利要求1?6中任意一項所述的方法,其特征在于: 所述調(diào)用地址是虛擬地址或物理地址。
8.根據(jù)權(quán)利要求1?6任意一項所述的方法,其特征在于: 所述第一代碼是代碼調(diào)用程序,用于從所述第一新代碼段的調(diào)用地址調(diào)用所述第一新代碼段。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于: 所述調(diào)用地址是虛擬地址或物理地址。
10.一種利用緊密耦合內(nèi)存TCM實現(xiàn)數(shù)據(jù)替換的方法,其特征在于,包括: 使能數(shù)據(jù)緊密耦合內(nèi)存DTCM ; 將第一數(shù)據(jù)加載到DTCM中; 將所述DTCM的地址配置為第一數(shù)據(jù)地址; 其中,所述第一數(shù)據(jù)地址是被所述第一數(shù)據(jù)所替換的第一舊數(shù)據(jù)段的調(diào)用地址。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于: 所述方法的各步驟在引導(dǎo)程序中執(zhí)行。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述方法還包括: 預(yù)先將所述第一數(shù)據(jù)添加到所述引導(dǎo)程序中。
13.根據(jù)權(quán)利要求10所述的方法,其特征在于: 所述方法的各步驟由操作系統(tǒng)任務(wù)調(diào)度程序調(diào)用數(shù)據(jù)替換任務(wù)執(zhí)行。
14.根據(jù)權(quán)利要求10?13中任意一項所述的方法,其特征在于:所述調(diào)用地址是虛擬地址或物理地址。
【文檔編號】G06F9/44GK104281443SQ201310293596
【公開日】2015年1月14日 申請日期:2013年7月12日 優(yōu)先權(quán)日:2013年7月12日
【發(fā)明者】陳俊華 申請人:重慶重郵信科通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1