国产精品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>

      一種使用軟件補(bǔ)丁修改微碼程序的方法

      文檔序號(hào):6644937閱讀:595來源:國(guó)知局
      專利名稱:一種使用軟件補(bǔ)丁修改微碼程序的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤指一種用軟件補(bǔ)丁修改微碼程序的方法。
      背景技術(shù)
      在控制和轉(zhuǎn)發(fā)分離架構(gòu)的數(shù)據(jù)通信設(shè)備(下文簡(jiǎn)稱“設(shè)備”)中,網(wǎng)絡(luò)處理器作為轉(zhuǎn)發(fā)平面的關(guān)鍵器件,配合運(yùn)行于其上的微碼,完成轉(zhuǎn)發(fā)報(bào)文的處理。
      在設(shè)備中,隨著通信技術(shù)的高速發(fā)展,客戶需求的不斷增加,微碼的規(guī)模和復(fù)雜度越來越大。在這種情況下,軟件的錯(cuò)誤在所難免,人們將很難得到一個(gè)零錯(cuò)誤的軟件。同時(shí),個(gè)別用戶可能會(huì)提出一些很小的需求。為了修改軟件中的錯(cuò)誤,或者實(shí)現(xiàn)用戶的需求,當(dāng)前通常使用發(fā)布新軟件的方法完成對(duì)程序的修改。
      但是,上述修改只有通過設(shè)備復(fù)位、網(wǎng)絡(luò)處理器復(fù)位等中斷業(yè)務(wù)的方式進(jìn)行,勢(shì)必造成設(shè)備業(yè)務(wù)中斷,給用戶的使用帶來很大的不便。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種使用軟件補(bǔ)丁修改微碼程序的方法,能夠在不中斷程序的條件下,用補(bǔ)丁對(duì)微碼程序進(jìn)行修改,并且,在補(bǔ)丁實(shí)現(xiàn)和控制的過程中,可以保證系統(tǒng)安全性。
      為達(dá)到上述目的,實(shí)現(xiàn)本發(fā)明需要以下步驟(1)單獨(dú)的補(bǔ)丁制作工具分析微碼修改前后目標(biāo)指令的差別,記錄修改的地址和指令;(2)單獨(dú)的補(bǔ)丁制作工具根據(jù)歷史修改的微碼指令和本次修改微碼的指令,生成補(bǔ)丁單元;(3)使用嵌入式操作系統(tǒng)的補(bǔ)丁機(jī)制,將微碼補(bǔ)丁單元制作成軟件補(bǔ)丁,加載到設(shè)備的存儲(chǔ)單元中,并設(shè)定當(dāng)前需要運(yùn)行的微碼補(bǔ)丁區(qū)內(nèi)容;(4)與以上步驟相配合的是,運(yùn)行在控制平面的微碼補(bǔ)丁探測(cè)任務(wù),每隔一段時(shí)間比較當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本是否一致,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本不一致,則進(jìn)行微碼補(bǔ)丁的替換,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本一致,則不進(jìn)行微碼補(bǔ)丁的替換。
      其中,所述步驟(1)進(jìn)一步包括(1a)從指令空間起始地址開始到結(jié)束,依次比較本次修改后微碼的指令代碼和上次微碼的指令代碼;(1b)在修改前后目標(biāo)指令不同時(shí),將指令地址和指令碼記錄在中間文件中。
      其中,所述步驟(2)進(jìn)一步包括(2a)如果是該微碼版本第一次制作補(bǔ)丁,則直接根據(jù)中間文件生成微碼補(bǔ)丁可編譯源文件,否則結(jié)合歷史補(bǔ)丁對(duì)微碼指令修改的內(nèi)容,生成微碼補(bǔ)丁可編譯源文件;(2b)使用嵌入式系統(tǒng)軟件補(bǔ)丁機(jī)制中的補(bǔ)丁制作工具,將所述可編譯源文件制作成軟件補(bǔ)丁。
      其中,所述步驟(4)進(jìn)一步包括在所述微碼補(bǔ)丁的替換操作之前,根據(jù)校驗(yàn)字對(duì)補(bǔ)丁單元進(jìn)行校驗(yàn)和的檢查。
      其中,所述步驟(1)進(jìn)一步包括在對(duì)指令替換順序有要求的情形下,手動(dòng)調(diào)整中間文件。


      圖1是本發(fā)明用補(bǔ)丁修改微碼程序的完整過程的示意圖。
      圖2是本發(fā)明步驟(3)及步驟(4)中比較替換操作的流程圖。
      具體實(shí)施例方式
      下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
      參見圖1,本發(fā)明需要以下步驟(1)單獨(dú)的補(bǔ)丁制作工具分析微碼修改前后目標(biāo)指令的差別,記錄修改的地址和指令;(2)單獨(dú)的補(bǔ)丁制作工具根據(jù)歷史修改的微碼指令和本次修改微碼的指令,生成補(bǔ)丁單元;(3)使用嵌入式操作系統(tǒng)的補(bǔ)丁機(jī)制,將微碼補(bǔ)丁單元制作成軟件補(bǔ)丁,加載到設(shè)備的存儲(chǔ)單元中,并設(shè)定當(dāng)前需要運(yùn)行的微碼補(bǔ)丁區(qū)內(nèi)容;(4)與以上步驟相配合的是,運(yùn)行在控制平面的微碼補(bǔ)丁探測(cè)任務(wù),每隔一段時(shí)間比較當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本是否一致,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本不一致,則進(jìn)行微碼補(bǔ)丁的替換,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本一致,則不進(jìn)行微碼補(bǔ)丁的替換。
      其中,在步驟(1)中,補(bǔ)丁制作工具與當(dāng)前CPU架構(gòu)、操作系統(tǒng)無(wú)關(guān),詳細(xì)的1、從指令空間起始地址開始到結(jié)束,依次比較本次修改后微碼的指令代碼和上次微碼的指令代碼。在指令不同時(shí),將指令地址和指令碼記錄在中間文件中。
      2、可選的,在對(duì)指令替換順序有要求的情形下,可以手動(dòng)調(diào)整中間文件。例如,在指令空閑空間中增加微碼指令集,并且有跳轉(zhuǎn)指令或者調(diào)用指令指向該指令集時(shí),可以手工修改中間文件,可將跳轉(zhuǎn)/調(diào)用指令放在文件前面,跳轉(zhuǎn)到的指令或者被調(diào)用的指令放在文件的后面。
      在步驟(2)中,詳細(xì)的1、如果是該微碼版本第一次制作補(bǔ)丁,則直接根據(jù)中間文件生成微碼補(bǔ)丁可編譯源文件。如果不是則結(jié)合歷史補(bǔ)丁對(duì)微碼指令修改的內(nèi)容,生成微碼補(bǔ)丁可編譯源文件。
      2、微碼補(bǔ)丁可編譯源文件可使用嵌入式系統(tǒng)軟件補(bǔ)丁機(jī)制支持的編程語(yǔ)言。使用函數(shù)(下文簡(jiǎn)稱“微碼補(bǔ)丁信息函數(shù)”)的方式來包含以上內(nèi)容(也就是包含微碼補(bǔ)丁區(qū)內(nèi)容)。
      3、使用嵌入式系統(tǒng)軟件補(bǔ)丁機(jī)制中的補(bǔ)丁制作工具,將可編譯源文件制作成軟件補(bǔ)丁。
      如圖2所示,在步驟(3)及步驟(4)中檢測(cè)當(dāng)前運(yùn)行的微碼補(bǔ)丁版本是否和當(dāng)前微碼補(bǔ)丁信息函數(shù)中的版本一致,如一致,說明沒有微碼補(bǔ)丁的操作,如不一致,則需要按照該函數(shù)中的指令信息,進(jìn)行微碼指令的替換操作,詳細(xì)如下a)如果微碼補(bǔ)丁版本比當(dāng)前運(yùn)行的高(包含當(dāng)前無(wú)補(bǔ)丁的情況),則從微碼補(bǔ)丁信息函數(shù)中獲取補(bǔ)丁區(qū)詳細(xì)信息,替換當(dāng)前補(bǔ)丁區(qū),再根據(jù)高版本的補(bǔ)丁單元信息,從最后一條有效指令開始,替換指令;b)如果微碼補(bǔ)丁版本比當(dāng)前運(yùn)行的低,則根據(jù)低版本的補(bǔ)丁單元信息,從第一條指令開始,替換指令,再?gòu)奈⒋a補(bǔ)丁信息函數(shù)中獲取補(bǔ)丁區(qū)詳細(xì)信息,替換當(dāng)前補(bǔ)丁區(qū)。
      可選的,在準(zhǔn)備進(jìn)行微碼指令替換操作之前,可以根據(jù)校驗(yàn)字,對(duì)補(bǔ)丁單元進(jìn)行校驗(yàn)和的檢查,用于保證微碼補(bǔ)丁的可靠性。
      另外,在步驟(3)中,當(dāng)嵌入式操作系統(tǒng)軟件補(bǔ)丁機(jī)制進(jìn)行軟件補(bǔ)丁版本的升級(jí)或者降級(jí)時(shí),如果其補(bǔ)丁區(qū)中包含對(duì)微碼補(bǔ)丁信息函數(shù)的補(bǔ)丁函數(shù),嵌入式操作系統(tǒng)軟件補(bǔ)丁機(jī)制會(huì)替換當(dāng)前的微碼補(bǔ)丁信息函數(shù)。
      由上述可知,本發(fā)明使用微碼指令替換的方式對(duì)微碼程序進(jìn)行補(bǔ)丁修改,時(shí)間快,不會(huì)影響其它指令的執(zhí)行,不會(huì)中斷控制平面及轉(zhuǎn)發(fā)平面的業(yè)務(wù),避免系統(tǒng)重啟,中斷業(yè)務(wù);微碼補(bǔ)丁探測(cè)任務(wù)對(duì)微碼補(bǔ)丁信息進(jìn)行校驗(yàn)檢查,可以保證系統(tǒng)的安全。
      權(quán)利要求
      1.一種使用軟件補(bǔ)丁修改微碼程序的方法,包括以下步驟(1)單獨(dú)的補(bǔ)丁制作工具分析微碼修改前后目標(biāo)指令的差別,記錄修改的地址和指令;(2)單獨(dú)的補(bǔ)丁制作工具根據(jù)歷史修改的微碼指令和本次修改微碼的指令,生成補(bǔ)丁單元;(3)使用嵌入式操作系統(tǒng)的補(bǔ)丁機(jī)制,將微碼補(bǔ)丁單元制作成軟件補(bǔ)丁,加載到設(shè)備的存儲(chǔ)單元中,并設(shè)定當(dāng)前需要運(yùn)行的微碼補(bǔ)丁區(qū)內(nèi)容;(4)與以上步驟相配合的是,運(yùn)行在控制平面的微碼補(bǔ)丁探測(cè)任務(wù),每隔一段時(shí)間比較當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本是否一致,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本不一致,則進(jìn)行微碼補(bǔ)丁的替換,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本一致,則不進(jìn)行微碼補(bǔ)丁的替換。
      2.根據(jù)權(quán)利要求1所述的使用軟件補(bǔ)丁修改微碼程序的方法,其中所述步驟(1)進(jìn)一步包括(1a)從指令空間起始地址開始到結(jié)束,依次比較本次修改后微碼的指令代碼和上次微碼的指令代碼;(1b)在修改前后目標(biāo)指令不同時(shí),將指令地址和指令碼記錄在中間文件中。
      3.根據(jù)權(quán)利要求1所述的使用軟件補(bǔ)丁修改微碼程序的方法,其中所述步驟(2)進(jìn)一步包括(2a)如果是該微碼版本第一次制作補(bǔ)丁,則直接根據(jù)中間文件生成微碼補(bǔ)丁可編譯源文件,否則結(jié)合歷史補(bǔ)丁對(duì)微碼指令修改的內(nèi)容,生成微碼補(bǔ)丁可編譯源文件;(2b)使用嵌入式系統(tǒng)軟件補(bǔ)丁機(jī)制中的補(bǔ)丁制作工具,將所述可編譯源文件制作成軟件補(bǔ)丁。
      4.根據(jù)權(quán)利要求1所述的使用軟件補(bǔ)丁修改微碼程序的方法,其中所述步驟(3)進(jìn)一步包括(3a)如果微碼補(bǔ)丁版本比當(dāng)前運(yùn)行的高,則從微碼補(bǔ)丁信息函數(shù)中獲取補(bǔ)丁區(qū)詳細(xì)信息,替換當(dāng)前補(bǔ)丁區(qū),再根據(jù)高版本的補(bǔ)丁單元信息,從最后一條有效指令開始,替換指令;(3b)如果微碼補(bǔ)丁版本比當(dāng)前運(yùn)行的低,則根據(jù)低版本的補(bǔ)丁單元信息,從第一條指令開始,替換指令,再?gòu)奈⒋a補(bǔ)丁信息函數(shù)中獲取補(bǔ)丁區(qū)詳細(xì)信息,替換當(dāng)前補(bǔ)丁區(qū)。
      5.根據(jù)權(quán)利要求2所述的使用軟件補(bǔ)丁修改微碼程序的方法,其中所述步驟(1)進(jìn)一步包括在對(duì)指令替換順序有要求的情形下,手動(dòng)調(diào)整中間文件。
      6.根據(jù)權(quán)利要求4所述的使用軟件補(bǔ)丁修改微碼程序的方法,其中所述步驟(3)進(jìn)一步包括在所述微碼補(bǔ)丁的替換操作之前,根據(jù)校驗(yàn)字對(duì)補(bǔ)丁單元進(jìn)行校驗(yàn)和的檢查。
      全文摘要
      一種使用軟件補(bǔ)丁修改微碼程序的方法,包括以下步驟(1)單獨(dú)的補(bǔ)丁制作工具分析微碼修改前后目標(biāo)指令的差別,記錄修改的地址和指令;(2)單獨(dú)的補(bǔ)丁制作工具根據(jù)歷史修改的微碼指令和本次修改微碼的指令,生成補(bǔ)丁單元;(3)使用嵌入式操作系統(tǒng)的補(bǔ)丁機(jī)制,將微碼補(bǔ)丁單元制作成軟件補(bǔ)丁,加載到設(shè)備的存儲(chǔ)單元中,并設(shè)定當(dāng)前需要運(yùn)行的微碼補(bǔ)丁區(qū)內(nèi)容;(4)與以上步驟相配合的是,運(yùn)行在控制平面的微碼補(bǔ)丁探測(cè)任務(wù),每隔一段時(shí)間比較當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本是否一致,如當(dāng)前運(yùn)行的微碼補(bǔ)丁版本和補(bǔ)丁區(qū)中的微碼版本不一致,則進(jìn)行微碼補(bǔ)丁的替換,否則不進(jìn)行微碼補(bǔ)丁的替換。
      文檔編號(hào)G06F11/36GK1858718SQ20051010112
      公開日2006年11月8日 申請(qǐng)日期2005年11月3日 優(yōu)先權(quán)日2005年11月3日
      發(fā)明者謝建平, 宋端智, 金劍東 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1