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

      一種保護軟件啟動參數(shù)區(qū)的方法

      文檔序號:6557532閱讀:299來源:國知局
      專利名稱:一種保護軟件啟動參數(shù)區(qū)的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種單板啟動程序(BOOT)參數(shù)區(qū)數(shù)據(jù)的保護方法,尤其涉及嵌入式開發(fā)中單板復(fù)位時對BOOT參數(shù)區(qū)的保存和維護。
      背景技術(shù)
      目前嵌入式系統(tǒng)的開發(fā)應(yīng)用非常廣泛。為了保證軟件可以比較方便的升級,目前各種單板上的軟件版本啟動有兩個過程,第一個過程是BOOT引導(dǎo)系統(tǒng)正常啟動,第二個過程是版本軟件正常運行。BOOT啟動過程中要根據(jù)參數(shù)區(qū)的配置數(shù)據(jù)來決定版本的運行模式。BOOT參數(shù)區(qū)的內(nèi)容在軟件調(diào)試過程中有時會被異常地修改,如何保證每次BOOT啟動過程中參數(shù)區(qū)的數(shù)據(jù)合法和有效是一個比較突出的問題。
      目前系統(tǒng)中一般采用的是單板在每次重啟過程中通過人機命令界面獲取適當?shù)膯訁?shù),用此參數(shù)把BOOT啟動參數(shù)區(qū)重新初始化一次,其流程圖如圖1所示。這就需要調(diào)試人員在每次單板復(fù)位后重新輸入需要的配置參數(shù)。這種方法嚴重影響調(diào)試效率。并且在多個配置參數(shù)用手工輸入的情況下很容易導(dǎo)致錯誤,嚴重的可能影響單板的正常啟動。

      發(fā)明內(nèi)容
      本發(fā)明即是針對上述現(xiàn)有技術(shù)中存在的問題而提出的一種保護軟件啟動參數(shù)區(qū)的方法,該方法能夠有效地對單板的BOOT啟動參數(shù)區(qū)內(nèi)容進行保存,提高了單板調(diào)試的效率。
      本發(fā)明是通過下述技術(shù)方案來實現(xiàn)的一種保護軟件啟動參數(shù)區(qū)的方法,應(yīng)用于嵌入式操作系統(tǒng)中,包括下述步驟
      (a)在嵌入式操作系統(tǒng)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū),存儲當前啟動程序啟動參數(shù)以及校驗值;(b)在啟動程序啟動引導(dǎo)過程中,判斷根據(jù)當前啟動程序啟動參數(shù)計算得到的校驗值是否與存儲區(qū)中存儲的校驗值一致,如果是,直接以當前啟動程序啟動參數(shù)啟動系統(tǒng),如果否,執(zhí)行步驟(c);(c)用缺省的啟動程序啟動參數(shù)更新存儲區(qū)內(nèi)的當前啟動程序啟動參數(shù)并保存,同時計算新的校驗值,并保存在存儲區(qū),利用更新后的啟動程序啟動參數(shù)啟動系統(tǒng)。
      進一步地,所述的步驟(a)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū)域是通過下述方法來實現(xiàn)的通過在底層軟件配置過程中把部分存儲區(qū)域變的讓操作系統(tǒng)不可見的存儲區(qū)域。
      進一步地,所述的步驟(a)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū)域是通過下述方法來實現(xiàn)的將操作系統(tǒng)不初始化的存儲區(qū)域作為對操作系統(tǒng)不可見的存儲區(qū)域。
      進一步地,所述的校驗值是BOOT啟動參數(shù)采用循環(huán)冗余校驗方法計算得到。
      進一步地,軟件啟動過程中,如用戶通過人機界面輸入新的BOOT啟動參數(shù),則用該新的BOOT啟動參數(shù)更新存儲區(qū)內(nèi)的當前BOOT啟動參數(shù),并根據(jù)新的BOOT啟動參數(shù)計算出新的校驗值且保存在所述存儲區(qū),以更新后的BOOT啟動參數(shù)啟動系統(tǒng)。
      與現(xiàn)有技術(shù)相比,本發(fā)明所提出的方法能夠有效地對單板的BOOT啟動參數(shù)區(qū)數(shù)據(jù)進行保存和校驗,降低了BOOT啟動后啟動參數(shù)區(qū)數(shù)據(jù)配置次數(shù),提高了單板調(diào)試的效率,同時也極大地提高了BOOT啟動效率。


      圖1是現(xiàn)有技術(shù)中使用BOOT啟動參數(shù)區(qū)數(shù)據(jù)啟動系統(tǒng)的流程圖。
      圖2是本發(fā)明具體實施例中使用BOOT啟動參數(shù)區(qū)數(shù)據(jù)啟動系統(tǒng)的流程圖。
      具體實施例方式
      下面結(jié)合附圖和具體實施例對本發(fā)明作進一步的介紹,但不作為對本發(fā)明的限定。
      在vxworks等嵌入式操作系統(tǒng)的啟動過程中,某些存儲區(qū)域是不做處理的,并且操作系統(tǒng)的可用存儲區(qū)域的大小和地址范圍也是可以通過底層軟件進行配置的,因而在實際應(yīng)用中可以通過在底層軟件配置過程中把部分存儲區(qū)域變的讓操作系統(tǒng)不可見或者利用操作系統(tǒng)不初始化的存儲區(qū)域把BOOT參數(shù)區(qū)的內(nèi)容放在這個區(qū)域。同時在BOOT系統(tǒng)的代碼中提供對這些重要數(shù)據(jù)的維護程序,就可以做到有效的保護BOOT啟動參數(shù)區(qū)的數(shù)據(jù)。
      實現(xiàn)本發(fā)明所提出的保護軟件啟動參數(shù)區(qū)的方法,首先在BOOT設(shè)計的時候開辟一塊對操作系統(tǒng)不可見的存儲區(qū),且將存儲區(qū)分為兩部分,第一部分存儲BOOT啟動參數(shù)區(qū)的數(shù)據(jù),第二部分存儲校驗值;參考圖2所示,每次單機系統(tǒng)啟動時執(zhí)行以下步驟步驟101計算BOOT啟動參數(shù)區(qū)數(shù)據(jù)的校驗值,對該參數(shù)區(qū)數(shù)據(jù)的正確性可以采用各種校驗方法,其中CRC(循環(huán)冗余校驗)校驗較為常用;步驟102BOOT啟動的時候,判斷計算的BOOT啟動參數(shù)區(qū)數(shù)據(jù)的校驗值和存儲區(qū)的存儲校驗值是否相同,如果校驗值相同,說明BOOT啟動參數(shù)區(qū)數(shù)據(jù)正常有效,不需要重新加載,執(zhí)行步驟105,如果校驗值不同,則表明BOOT啟動參數(shù)區(qū)數(shù)據(jù)已經(jīng)丟失或者被破壞,需要重新加載缺省的BOOT啟動參數(shù),執(zhí)行步驟103;步驟103向BOOT啟動參數(shù)區(qū)寫入缺省的數(shù)據(jù);步驟104計算BOOT啟動參數(shù)區(qū)數(shù)據(jù)的校驗值并保存在存儲區(qū)的特定位置,保存的目的是為了下一次啟動的時候用新計算的校驗值與本次保存的校驗值進行比較從而達到校驗的目的;步驟105判斷BOOT啟動參數(shù)區(qū)數(shù)據(jù)是否需要修改,如果是,執(zhí)行步驟106,如果否,執(zhí)行步驟109;
      步驟106通過人機界面獲取新的參數(shù);步驟107向BOOT啟動參數(shù)區(qū)寫入用戶輸入的參數(shù),并保存;步驟108計算BOOT啟動參數(shù)區(qū)數(shù)據(jù)的校驗值并保存在存儲區(qū)的特定位置,保存的目的是為了下一次啟動的時候用新計算的校驗值與本次保存的校驗值進行比較從而達到校驗的目的;步驟109使用BOOT啟動參數(shù)區(qū)的數(shù)據(jù)進行系統(tǒng)啟動。
      需要指出的是,如果是單板第一次上電的時候,并且用戶沒有選擇輸入新的參數(shù),BOOT啟動參數(shù)區(qū)存放的是缺省的初始化數(shù)據(jù),否則存放的是用戶輸入的新的參數(shù)數(shù)據(jù)。
      還需要指出的是,缺省的初始化數(shù)據(jù)為在代碼中預(yù)先設(shè)置好的參數(shù)數(shù)據(jù)。
      從上述步驟中,可以看出,如果在BOOT啟動引導(dǎo)過程中用戶對BOOT啟動參數(shù)做了修改,就把相應(yīng)的改動保存到BOOT啟動參數(shù)區(qū)并且重新計算校驗值并保存。這樣每次BOOT啟動的時候都先對當前啟動參數(shù)區(qū)的數(shù)據(jù)做合法性檢測,如果數(shù)據(jù)合法,也即校驗值相同,就啟動,如果不合法就將BOOT啟動參數(shù)區(qū)的數(shù)據(jù)初始化為缺省的數(shù)據(jù)并使用缺省的數(shù)據(jù)啟動。這樣如果用戶對BOOT啟動參數(shù)區(qū)的數(shù)據(jù)做一次修改后單板復(fù)位再啟動就不必重新配置參數(shù),系統(tǒng)會自動做數(shù)據(jù)檢測并且正常啟動。
      本發(fā)明所提出的保護軟件啟動參數(shù)區(qū)的方法可以在嵌入式系統(tǒng)中廣泛應(yīng)用。通過對系統(tǒng)啟動參數(shù)的保存和校驗可以使得每次系統(tǒng)都可以準確、自動、可靠地以前一次的啟動方式啟動,不用每次手工輸入啟動參數(shù),提高了調(diào)試效率。
      權(quán)利要求
      1.一種保護軟件啟動參數(shù)區(qū)的方法,應(yīng)用于嵌入式操作系統(tǒng)中,包括下述步驟(a)在嵌入式操作系統(tǒng)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū),存儲當前啟動程序啟動參數(shù)以及校驗值;(b)在啟動程序啟動引導(dǎo)過程中,判斷根據(jù)當前啟動程序啟動參數(shù)計算得到的校驗值是否與存儲區(qū)中存儲的校驗值一致,如果是,直接以當前啟動程序啟動參數(shù)啟動系統(tǒng),如果否,執(zhí)行步驟(c);(c)用缺省的啟動程序啟動參數(shù)更新存儲區(qū)內(nèi)的當前啟動程序啟動參數(shù)并保存,同時計算新的校驗值,并保存在存儲區(qū),利用更新后的啟動程序啟動參數(shù)啟動系統(tǒng)。
      2.如權(quán)利要求1所述的一種保護軟件啟動參數(shù)區(qū)的方法,其特征在于,所述的步驟(a)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū)域是通過下述方法來實現(xiàn)的通過在底層軟件配置過程中把部分存儲區(qū)域變的讓操作系統(tǒng)不可見的存儲區(qū)域。
      3.如權(quán)利要求1所述的一種保護軟件啟動參數(shù)區(qū)的方法,其特征在于,所述的步驟(a)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū)域是通過下述方法來實現(xiàn)的將操作系統(tǒng)不初始化的存儲區(qū)域作為對操作系統(tǒng)不可見的存儲區(qū)域。
      4.如權(quán)利要求1所述的一種保護軟件啟動參數(shù)區(qū)的方法,其特征在于,所述的校驗值是啟動程序啟動參數(shù)的數(shù)據(jù)采用循環(huán)冗余校驗方法計算得到。
      5.如權(quán)利要求1所述的一種保護軟件啟動參數(shù)區(qū)的方法,其特征在于,軟件啟動過程中,如用戶通過人機界面輸入新的啟動程序啟動參數(shù),則用該新的啟動程序啟動參數(shù)更新存儲區(qū)內(nèi)的當前啟動程序啟動參數(shù),并根據(jù)新的啟動程序啟動參數(shù)計算出新的校驗值且保存在所述存儲區(qū),以更新后的啟動程序啟動參數(shù)啟動系統(tǒng)。
      全文摘要
      本發(fā)明公開了一種保護軟件啟動參數(shù)區(qū)的方法,包括下述步驟(a)在嵌入式操作系統(tǒng)中設(shè)置一塊對操作系統(tǒng)不可見的存儲區(qū),存儲當前BOOT啟動參數(shù)以及校驗值;(b)在BOOT啟動引導(dǎo)過程中,判斷根據(jù)當前BOOT啟動參數(shù)計算得到的校驗值是否與存儲的校驗值一致,如果是,以當前BOOT啟動參數(shù)啟動系統(tǒng),如果否,執(zhí)行步驟(c);(c)將缺省的BOOT啟動參數(shù)更新存儲區(qū)內(nèi)當前BOOT啟動參數(shù)并保存,計算新的校驗值并保存,利用更新后的BOOT啟動參數(shù)啟動系統(tǒng)。本發(fā)明所提出的方法能夠?qū)伟宓腂OOT參數(shù)區(qū)內(nèi)容進行保存和校驗,降低了BOOT啟動后參數(shù)設(shè)置區(qū)配置次數(shù),提高了單板調(diào)試的效率,提高了BOOT啟動效率。
      文檔編號G06F9/445GK101042652SQ200610064998
      公開日2007年9月26日 申請日期2006年3月20日 優(yōu)先權(quán)日2006年3月20日
      發(fā)明者吳安軍, 趙少偉 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1