国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法

      文檔序號(hào):6609979閱讀:205來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于啟動(dòng)代碼搬移數(shù)據(jù)段方法領(lǐng)域,尤其是對(duì)于含有內(nèi)存管理單元或啟動(dòng)重映射邏輯處理器芯片,取得源^:據(jù)段的邏輯地址和 目標(biāo)數(shù)據(jù)段的邏輯地址,通過(guò)判斷源數(shù)據(jù)段的邏輯地址和目標(biāo)數(shù)據(jù)段 的邏輯地址的相對(duì)位置關(guān)系,以選擇合適的搬移順序來(lái)搬移數(shù)據(jù)段, 從而避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法。
      背景技術(shù)
      目前,對(duì)于含有內(nèi)存管理單元或啟動(dòng)重映射邏輯處理器芯片來(lái) 說(shuō),啟動(dòng)代碼在進(jìn)行數(shù)據(jù)段的搬移或復(fù)制時(shí),大都采用從頭至尾或從 尾至頭的單一固定的順序搬移。但是,由于內(nèi)存管理單元或啟動(dòng)重映 射邏輯的采用,形成了處理器的物理空間和邏輯空間的分離,由此一 個(gè)物理地址可能對(duì)應(yīng)多個(gè)邏輯地址,而處理器進(jìn)行的讀寫(xiě)操作都是基 于邏輯地址進(jìn)行的,那么啟動(dòng)代碼在對(duì)應(yīng)有多個(gè)邏輯空間的物理空間 上進(jìn)行數(shù)據(jù)段的搬移或復(fù)制時(shí),如果單一固定地采用從頭至尾或從尾 至頭的順序搬移,都有可能導(dǎo)致數(shù)據(jù)段的頭部或尾部被自我覆蓋。說(shuō)明書(shū)附1-圖4,每一附圖中顯示的上下兩個(gè)邏輯空間對(duì)應(yīng) 著同一個(gè)物理空間,每一附圖都是為說(shuō)明一個(gè)數(shù)據(jù)段的搬移,數(shù)據(jù)段 的搬移都是在在同一物理空間內(nèi)進(jìn)行的。對(duì)于說(shuō)明書(shū)附1來(lái)說(shuō),源數(shù)據(jù)段邏輯地址基值M等于1,目 標(biāo)數(shù)據(jù)段邏輯地址基值N等于11,邏輯地址1-7和邏輯地址11-17 映射到同 一物理地址空間。將位于邏輯地址1-3內(nèi)數(shù)據(jù)段ABC搬移到 邏輯地址為15-17內(nèi),無(wú)論采用從頭至尾或從尾至頭的順序都可以正 確搬移,對(duì)于說(shuō)明書(shū)附3來(lái)說(shuō),源數(shù)據(jù)段邏輯地址基值M等于1, 目標(biāo)數(shù)據(jù)段邏輯地址基值N等于11,邏輯地址1-7和邏輯地址ll-l7 映射到同一物理地址空間。將位于邏輯地址5-7內(nèi)數(shù)據(jù)段ABC搬移到
      邏輯地址為11-13內(nèi),無(wú)論采用從頭至尾或從尾至頭的順序也都可以 正確搬移。而對(duì)于說(shuō)明書(shū)附2來(lái)說(shuō),源數(shù)據(jù)段邏輯地址基值M等于1, 目標(biāo)數(shù)據(jù)段邏輯地址基值N等于11,邏輯地址1-7和邏輯地址11-17 映射到同 一物理地址空間。將將位于邏輯地址2-4內(nèi)數(shù)據(jù)段ABC搬移 到邏輯地址為14-16內(nèi),如果采用從頭至尾的順序搬移,即按照數(shù)據(jù) A到邏輯地址14、數(shù)據(jù)B到邏輯地址15、數(shù)據(jù)C到邏輯地址16順序 搬移,由于邏輯地址6與邏輯地址14對(duì)應(yīng)同 一個(gè)物理地址,因此, 第一步數(shù)據(jù)A搬移到邏輯地址14時(shí),會(huì)將位于該邏輯地址內(nèi)的數(shù)據(jù) C進(jìn)行覆蓋,導(dǎo)致尾部數(shù)據(jù)被頭部數(shù)據(jù)覆蓋,第二步將數(shù)據(jù)B從邏輯 地址5搬移到邏輯地址15,第三步,將數(shù)據(jù)C從邏輯地址6搬移到 邏輯地址16,但是邏輯地址6內(nèi)的數(shù)據(jù)已經(jīng)變成數(shù)據(jù)A,因此邏輯地 址16內(nèi)的數(shù)據(jù)為A,邏輯地址14-16最后的數(shù)據(jù)段結(jié)果為ABA,這樣 就發(fā)生數(shù)據(jù)段搬移的錯(cuò)誤。但是,如果采用從尾至頭的順序搬移,第 一步將數(shù)據(jù)C從邏輯地址6搬移到邏輯地址16,第二步將數(shù)據(jù)B從 邏輯地址5搬移到邏輯地址15,第三步將數(shù)據(jù)A從邏輯地址4搬移 到邏輯地址14,最終在邏輯空間14-16內(nèi)形成數(shù)據(jù)段ABC,就能夠?qū)?現(xiàn)數(shù)據(jù)段正確搬移。同理,對(duì)于說(shuō)明書(shū)附4來(lái)說(shuō),如果采用從尾至頭的順序搬移, 則導(dǎo)致頭部數(shù)據(jù)被尾部數(shù)據(jù)覆蓋,而如果采用從頭至尾順序搬移,則 能夠正確搬移數(shù)據(jù)段。發(fā)明內(nèi)容本發(fā)明的目的是解決現(xiàn)有技術(shù)存在的啟動(dòng)代碼數(shù)據(jù)段搬移時(shí),可 能出現(xiàn)數(shù)據(jù)自我覆蓋而不能正確搬移數(shù)據(jù)段的問(wèn)題,提供一種可避免 啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法。本發(fā)明的技術(shù)方案是避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的 方法,其特征是包括下列步驟(1 )讀取源數(shù)據(jù)段的起始及結(jié)束邏輯地址和目標(biāo)數(shù)據(jù)段的起始及 結(jié)束邏輯地址;(2 )計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值和目標(biāo)數(shù)據(jù) 段的起始及結(jié)束邏輯地址的偏移數(shù)值;(3 )通過(guò)判斷目標(biāo)數(shù)據(jù)段的邏輯地址的偏移數(shù)值與源數(shù)據(jù)段的邏 輯地址偏移數(shù)值之間的位置關(guān)系,確定采用搬移數(shù)據(jù)段的順序。所述源數(shù)據(jù)段起始及結(jié)束邏輯地址的偏移數(shù)值,為所述源數(shù)據(jù)段 起始及結(jié)束位置的邏輯地址數(shù)值與源數(shù)據(jù)段邏輯地址基值之間的差值,源數(shù)據(jù)段邏輯地址基值標(biāo)記為M,所述目標(biāo)數(shù)據(jù)段起始及結(jié)束邏輯地址的偏移數(shù)值,為所述目標(biāo)數(shù)據(jù)段起始及結(jié)束位置的邏輯地址數(shù) 值與目標(biāo)數(shù)據(jù)段邏輯地址基值之間的差值,目標(biāo)數(shù)據(jù)段邏輯地址基值標(biāo)記為M,其中以M和N為起始的邏輯地址空間映射到同 一物理地址 空間。還包括下列步驟(1 )判斷目標(biāo)數(shù)據(jù)段起始邏輯地址的偏移數(shù)值 與源數(shù)據(jù)段起始邏輯地址偏移數(shù)值關(guān)系,如果目標(biāo)數(shù)據(jù)段的起始邏輯 地址的偏移數(shù)值處于源數(shù)據(jù)段的起始和結(jié)束邏輯地址的偏移數(shù)值區(qū) 間之內(nèi),包括區(qū)間兩端的數(shù)值在內(nèi),則啟動(dòng)代碼采用乂人尾至頭的順序 搬移數(shù)據(jù)段;(2 )如果目標(biāo)數(shù)據(jù)段的起始邏輯地址的偏移數(shù)值處于源 數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間之外,繼續(xù)判斷目標(biāo)數(shù)據(jù) 段的結(jié)束邏輯地址偏移數(shù)值與源數(shù)據(jù)段的起始結(jié)束邏輯地址偏移數(shù) 值的關(guān)系,如果目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址的偏移數(shù)值位于源數(shù)據(jù)段 的起始結(jié)束邏輯地址偏移數(shù)值區(qū)間內(nèi),包括區(qū)間兩端的數(shù)值在內(nèi),則 啟動(dòng)代碼采用從頭至尾的順序搬移數(shù)據(jù)段;如果目標(biāo)數(shù)據(jù)段的結(jié)束邏 輯地址偏移數(shù)值位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間 外,則啟動(dòng)代碼采用從頭至尾或從尾至頭的順序^:移數(shù)據(jù)段。上述方法利用含有內(nèi)存管理單元或啟動(dòng)重映射邏輯的處理器芯 片,通過(guò)G而-LD鏈接腳本取得源數(shù)據(jù)段及目標(biāo)數(shù)據(jù)段的起始及結(jié)束 邏輯地址。本發(fā)明的效果是通過(guò)讀取源數(shù)據(jù)段的起始結(jié)束邏輯地址和目標(biāo) 數(shù)據(jù)段起始結(jié)束邏輯地址、計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏 移數(shù)值和目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值、判斷目標(biāo)數(shù) 據(jù)段的邏輯地址的偏移數(shù)值與源數(shù)據(jù)段的邏輯地址偏移數(shù)值之間的 位置關(guān)系,確定采用搬移數(shù)據(jù)段的順序。能夠選擇出數(shù)據(jù)段正確的搬 移順序,避免數(shù)據(jù)段搬移時(shí)自我覆蓋的發(fā)生,保證系統(tǒng)正確運(yùn)行。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的說(shuō)明。


      圖1為數(shù)據(jù)段搬移例1示意圖; 圖2為數(shù)據(jù)段搬移例2示意圖; 圖3為數(shù)據(jù)段搬移例3示意圖; 圖4為數(shù)據(jù)段搬移例4示意圖; 圖5實(shí)施本發(fā)明方法的程序框圖。
      具體實(shí)施方式
      圖5中,是避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋方法的程序框 圖,包括下列步驟步驟101,讀取源數(shù)據(jù)段的起始及結(jié)束邏輯地址和目標(biāo)數(shù)據(jù)段的 起始及結(jié)束邏輯地址。步驟102,計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值和目 標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值,通過(guò)判斷目標(biāo)數(shù)據(jù)段的 邏輯地址的偏移數(shù)值與源數(shù)據(jù)段的邏輯地址偏移數(shù)值之間的位置關(guān) 系,確定采用搬移數(shù)據(jù)段的順序。所述源數(shù)據(jù)段起始及結(jié)束邏輯地址 的偏移數(shù)值,為所述源數(shù)據(jù)段起始及結(jié)束位置的邏輯地址數(shù)值與源數(shù) 據(jù)段邏輯地址基值之間的差值,所述目標(biāo)數(shù)據(jù)段起始及結(jié)束邏輯地址 的偏移數(shù)值,為所述目標(biāo)數(shù)據(jù)段起始及結(jié)束位置的邏輯地址數(shù)值與目 標(biāo)數(shù)據(jù)段邏輯地址基值之間的差值。步驟103,判斷目標(biāo)數(shù)據(jù)段起始邏輯地址的偏移數(shù)值與源數(shù)據(jù)段 起始邏輯地址偏移數(shù)值關(guān)系,如果目標(biāo)數(shù)據(jù)段的起始邏輯地址的偏移 數(shù)值處于源數(shù)據(jù)段的起始和結(jié)束邏輯地址的偏移數(shù)值區(qū)間之內(nèi),包括 區(qū)間兩端的數(shù)值在內(nèi),則啟動(dòng)代碼采用從尾至頭的順序搬移數(shù)據(jù)段 105;如果目標(biāo)數(shù)據(jù)段的起始邏輯地址的偏移數(shù)值處于源數(shù)據(jù)段的起 始結(jié)束邏輯地址的偏移數(shù)值區(qū)間之外,繼續(xù)判斷目標(biāo)數(shù)據(jù)段的結(jié)束邏 輯地址偏移數(shù)值與源數(shù)據(jù)段的起始結(jié)束邏輯地址偏移數(shù)值的關(guān)系 104,如果目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址的偏移數(shù)值位于源數(shù)據(jù)段的起 始結(jié)束邏輯地址偏移數(shù)值區(qū)間內(nèi),包括區(qū)間兩端的凄史值在內(nèi),則啟動(dòng) 代碼釆用從頭至尾的順序搬移數(shù)據(jù)段106;如果目標(biāo)數(shù)據(jù)段的結(jié)束邏 輯地址偏移數(shù)值位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間
      外,則啟動(dòng)代碼采用從頭至尾或從尾至頭的順序搬移數(shù)據(jù)段107。上述方法利用含有內(nèi)存管理單元或啟動(dòng)重映射邏輯的處理器芯 片,通過(guò)GNU-LD鏈接腳本取得源數(shù)據(jù)段及目標(biāo)數(shù)據(jù)段的起始及結(jié)束 邏輯地址。結(jié)合圖1-圖4所示的數(shù)據(jù)段搬移情況,具體說(shuō)明本發(fā)明方法的 應(yīng)用。圖1中所示的同一物理空間有兩個(gè)邏輯空間,即對(duì)應(yīng)兩個(gè)邏輯地 址區(qū)間, 一個(gè)邏輯地址區(qū)間為1-7,另一個(gè)邏輯地址區(qū)間為11-17, 源數(shù)據(jù)段的邏輯地址區(qū)間為1-3,目標(biāo)邏輯地址區(qū)間為15-17。源數(shù) 據(jù)段邏輯地址基值M為1,計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏 移數(shù)值,源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值為0 (即起始邏 輯地址1減去邏輯地址基值1 )和2 (即結(jié)束邏輯地址3減去邏輯地 址基值1 )。目標(biāo)數(shù)據(jù)段邏輯地址基值N為11,計(jì)算目標(biāo)數(shù)據(jù)段的起 始及結(jié)束邏輯地址的偏移數(shù)值,目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的 偏移數(shù)值為15-11=4,和17-11=6,目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址偏移 數(shù)值4和6,位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間l-3 之外,啟動(dòng)代碼采用從頭至尾或從尾至頭的順序搬移數(shù)據(jù)段。圖2中所示的同一物理空間有兩個(gè)邏輯空間, 一個(gè)邏輯地址區(qū)間 為1-7,另一個(gè)邏輯地址區(qū)間為11-17,源數(shù)據(jù)段的邏輯地址區(qū)間為 2-4,目標(biāo)邏輯地址區(qū)間為14-16。源數(shù)據(jù)段邏輯地址基值M為1,計(jì) 算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值,源數(shù)據(jù)段的起始及結(jié) 束邏輯地址的偏移數(shù)值為l(即起始邏輯地址2減去邏輯地址基值1 ) 和3 (即結(jié)束邏輯地址4減去邏輯地址基值1 )。目標(biāo)數(shù)據(jù)段邏輯地址 基值N為11,計(jì)算目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值, 目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值為14-11=3,和 16-11=5,目標(biāo)數(shù)據(jù)段的起始邏輯地址偏移數(shù)值3,位于源數(shù)據(jù)段的 起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間1-3之內(nèi),采用從尾至頭的順序搬 動(dòng)數(shù)據(jù)塊,如果采用從頭至尾的順序搬移,則導(dǎo)致尾部數(shù)據(jù)被頭部數(shù)據(jù)覆蓋。圖3中所示的同一物理空間有兩個(gè)邏輯空間,即對(duì)應(yīng)兩個(gè)邏輯地 址區(qū)間, 一個(gè)邏輯地址區(qū)間為1-7,另一個(gè)邏輯地址區(qū)間為11-17, 源數(shù)據(jù)段的邏輯地址區(qū)間為5-7,目標(biāo)邏輯地址區(qū)間為11-13。源數(shù) 據(jù)段邏輯地址基值M為1,計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏
      移數(shù)值,源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值為4 (即起始邏輯地址5減去邏輯地址基值1)和6 (即結(jié)束邏輯地址7減去邏輯地 址基值1 )。目標(biāo)數(shù)據(jù)段邏輯地址基值N為11,計(jì)算目標(biāo)數(shù)據(jù)段的起 始及結(jié)束邏輯地址的偏移數(shù)值,目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的 偏移數(shù)值為11-11=0,和13-11=2,目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址偏移 數(shù)值G和2,位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間4-6 之外,啟動(dòng)代碼采用從頭至尾或從尾至頭的順序搬移數(shù)據(jù)段。圖4中所示的同一物理空間有兩個(gè)邏輯空間, 一個(gè)邏輯地址區(qū)間 為1-7,另一個(gè)邏輯地址區(qū)間為11-17,源數(shù)據(jù)段的邏輯地址區(qū)間為 4-6,目標(biāo)邏輯地址區(qū)間為12-14。源數(shù)據(jù)段邏輯地址基值M為1,計(jì) 算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值,源數(shù)據(jù)段的起始及結(jié) 束邏輯地址的偏移數(shù)值為3(即起始邏輯地址4減去邏輯地址基值1 ) 和5 (即結(jié)束邏輯地址6減去邏輯地址基值1 )。目標(biāo)數(shù)據(jù)段邏輯地址 基值N為11,計(jì)算目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值, 目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值為12-11=1,和 14-11=3,目標(biāo)數(shù)據(jù)段的起始邏輯地址偏移數(shù)值1,位于源數(shù)據(jù)段的 起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間3-5之外,目標(biāo)數(shù)據(jù)段的起始邏輯 地址偏移數(shù)值3,位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間 3-5之內(nèi),采用從頭至尾的順序搬動(dòng)數(shù)據(jù)塊,如果采用從尾至頭的順 序搬移,則導(dǎo)致頭部數(shù)據(jù)被尾部數(shù)據(jù)覆蓋。
      權(quán)利要求
      1、避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法,其特征是包括下列步驟(1)讀取源數(shù)據(jù)段的起始及結(jié)束邏輯地址和目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址;(2)計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值和目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值;(3)通過(guò)判斷目標(biāo)數(shù)據(jù)段的邏輯地址的偏移數(shù)值與源數(shù)據(jù)段的邏輯地址偏移數(shù)值之間的位置關(guān)系,確定采用搬移數(shù)據(jù)段的順序。
      2、 根據(jù)權(quán)利要求1所述的避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆 蓋的方法,其特征是所述源數(shù)據(jù)段起始及結(jié)束邏輯地址的偏移數(shù)值, 為所述源數(shù)據(jù)段起始及結(jié)束位置的邏輯地址數(shù)值與源數(shù)據(jù)段邏輯地 址基值之間的差值,源數(shù)據(jù)段邏輯地址基值標(biāo)記為M,所述目標(biāo)數(shù)據(jù) 段起始及結(jié)束邏輯地址的偏移數(shù)值,為所述目標(biāo)數(shù)據(jù)段起始及結(jié)束位 置的邏輯地址數(shù)值與目標(biāo)數(shù)據(jù)段邏輯地址基值之間的差值,目標(biāo)數(shù)據(jù) 段邏輯地址基值標(biāo)記為N,其中以M和N為起始的邏輯地址空間映射 到同一物理地址空間。
      3、 根據(jù)權(quán)利要求1或2所述的避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自 我覆蓋的方法,其特征是包括下列步驟(1 )判斷目標(biāo)數(shù)據(jù)段起始邏輯地址的偏移數(shù)值與源數(shù)據(jù)段起始邏 輯地址偏移數(shù)值關(guān)系,如果目標(biāo)數(shù)據(jù)段的起始邏輯地址的偏移數(shù)值處 于源數(shù)據(jù)段的起始和結(jié)束邏輯地址的偏移數(shù)值區(qū)間之內(nèi),包括區(qū)間兩 端的數(shù)值在內(nèi),則啟動(dòng)代碼采用從尾至頭的順序i^移數(shù)據(jù)段;(2 )如果目標(biāo)數(shù)據(jù)段的起始邏輯地址的偏移數(shù)值處于源數(shù)據(jù)段的 起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間之外,繼續(xù)判斷目標(biāo)數(shù)據(jù)段的結(jié)束 邏輯地址偏移數(shù)值與源數(shù)據(jù)段的起始結(jié)束邏輯地址偏移數(shù)值的關(guān)系, 如果目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址的偏移數(shù)值位于源數(shù)據(jù)段的起始結(jié) 束邏輯地址偏移數(shù)值區(qū)間內(nèi),包括區(qū)間兩端的數(shù)值在內(nèi),則啟動(dòng)代碼 采用從頭至尾的順序搬移數(shù)據(jù)段;如果目標(biāo)數(shù)據(jù)段的結(jié)束邏輯地址偏 移數(shù)值位于源數(shù)據(jù)段的起始結(jié)束邏輯地址的偏移數(shù)值區(qū)間外,則啟動(dòng) 代碼采用從頭至尾或從尾至頭的順序搬移數(shù)據(jù)段。
      4、 根據(jù)權(quán)利要求3所述的避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法,其特征是利用含有內(nèi)存管理單元或啟動(dòng)重映射邏輯的處理器芯片,通過(guò)G而-LD鏈接腳本取得源數(shù)據(jù)段及目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址。
      全文摘要
      可避免啟動(dòng)代碼在數(shù)據(jù)段搬移時(shí)自我覆蓋的方法。技術(shù)方案是是包括下列步驟(1)讀取源數(shù)據(jù)段的起始及結(jié)束邏輯地址和目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址;(2)計(jì)算源數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值和目標(biāo)數(shù)據(jù)段的起始及結(jié)束邏輯地址的偏移數(shù)值;(3)通過(guò)判斷目標(biāo)數(shù)據(jù)段的邏輯地址的偏移數(shù)值與源數(shù)據(jù)段的邏輯地址偏移數(shù)值之間的位置關(guān)系,確定采用搬移數(shù)據(jù)段的順序。
      文檔編號(hào)G06F9/445GK101398759SQ200710118138
      公開(kāi)日2009年4月1日 申請(qǐng)日期2007年6月29日 優(yōu)先權(quán)日2007年6月29日
      發(fā)明者尹文超 申請(qǐng)人:北京中星微電子有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1