本發明專利技術公開了一種恢復被破壞主引導程序的方法,應用于包括控制單元、處理單元和存儲單元的設備中,所述存儲單元包括正常代碼段和備份代碼段,所述正常代碼段用于存儲正常BootRom程序,所述備份代碼段用于存儲備份BootRom程序,所述方法包括:所述控制單元檢測設備是否能夠從正常BootRom程序啟動;如果不能,所述控制單元觸發所述處理單元修改所述存儲單元的代碼段地址,使所述控制單元從所述備份BootRom程序啟動。本發明專利技術中,降低設備返修,設備穩定性大大增加,不用添加任何硬件,不會增加產品的硬件成本。
【技術實現步驟摘要】
本專利技術涉及通信
,尤其涉及一種恢復被破壞主引導程序的方法及設備。
技術介紹
設備在啟動過程中,需要對存放BootRom (引導設備啟動)程序的Flash(閃存)芯片進行讀寫操作。而寫操作將帶來很大的風險,比如,在升級BootRom程序的過程中,若設備突然掉電,整個設備會完全癱瘓,無法啟動;又比如,在分布式設備中,業務板的BootRom程序更新通常是/人主控板上獲取后,同步業務板的BootRom程序,如果在同步BootRom程序時,用戶將業務板拔出,會導致i殳備完全癱瘓。當然,其他一些硬件信號干擾,或者軟件bug(錯誤),也會導致設備上電或者下電時,總線上的時序正好滿足了 Flash芯片的寫時序,從而破壞Flash上的BootRom程序。現有技術中一種解決方案需要至少兩片Flash芯片, 一片Flash芯片為只讀,稱為安全Flash芯片,另外一片Flash芯片可讀寫,為普通Flash芯片。在安全Flash芯片上,存放具有緊急修復功能的BootRom程序;在普通Flash芯片上,存放引導設備正常工作的BootRom程序,如果設備不能正常啟動,則自動切換到只讀的安全Flash芯片啟動。該方案的安全系數比較高,但是必須添加安全Flash芯片,增加了一個Flash芯片成本,同時安全Flash芯片也占用了有限的微處理器的外設資源,增加了微處理器的成本。現有技術另一種解決方案是在同一個Flash芯片上做一個啟動文件的備份,如果啟動不能正常啟動,通過硬件跳線,侵_設備從Flash芯片的備f分啟動文件處開始啟動。然而,該方案由于硬件跳線比較復雜,且對于維護人員需要進行專門的培訓,可用性不是很好。
技術實現思路
本專利技術提供了 一種恢復被破壞主引導程序的方法及設備,在升級BootRom程序時,設備可以正常工作。本專利技術提供了 一種恢復被破壞主? 1導程序的方法,應用于包括控制單元、處理單元和存儲單元的設備中,所述存儲單元包括正常代碼段和備份代碼段,所述正常代碼段用于存儲正常BootRom程序,所述備份代碼段用于存儲MBootRom程序,所述方法包括所述控制單元檢測設備是否能夠從正常BootRom程序啟動;如果不能,所述控制單元觸發所述處理單元修改所述存儲單元的代碼段地址,使所述控制單元從所述備份BootRom程序啟動。優選地,所述檢測設備是否能夠從正常BootRom程序啟動,具體為檢測到預設按鍵的被按下,或預設按鍵的被按時間超出預設時間,或檢測到預設按鍵在預設時間內被按超出預設次數。優選地,所述預設按4建為板卡現有按鍵或特定按鍵,其中現有按鍵如reset鍵或開關等。優選地,所述檢測設備是否能夠從正常BootRom程序啟動,具體為檢測到看門狗叫超過預設次數或者或在預設時間內沒有檢測到觸發標志。優選地,所述使控制單元從所述備份BootRom程序啟動之后,還包括根據所述備份BootRom程序修復所述正常BootRom程序。優選地,所述使所述控制單元從所述備份BootRom程序啟動,具體為處理單元對存放正常BootRom程序的代碼段地址進行預設運算,指向存放備份BootRom程序的代碼l爻地址;所述控制單元從所述備份BootRom程序的代碼段進行啟動。本專利技術提供了一種恢復被破壞主引導程序的設備,包括5存儲單元,包括正常代碼段和備份代碼段,所述正常代碼段用于存儲正常BootRom程序,所述備份代碼段用于存儲備份BootRom程序;改;、 ,',、、一 , 一 人'一 、,檢測單元,用于檢測設備是否能夠從正常BootRom程序啟動; 控制單元,用于檢測單元檢測到不能從正常BootRom程序啟動時,觸發 處理單元修改所述存儲單元的代碼段地址,從所述備份BootRom程序啟動。 優選地,所述檢測單元,具體用于檢測到預設按鍵的被按下,或預設按鍵的被按 時間超出預設時間,或檢測到預設按鍵在預設時間內被按超出預設次數,確 定不能從正常BootRom程序啟動;或檢測到看門狗叫超過預設次數,或在預 設時間內沒有4全測到觸發標志,確定不能從正常BootRom程序啟動。優選地,所述處理單元,具體用于對存放正常BootRom程序的代碼段地址進行預 設運算,指向存放備份BootRom程序的代碼段地址,使所述控制單元從所述 備份BootRom程序的代碼段進行啟動。優選地,所述控制單元,還用于根據所述備份BootRom程序修復所述正常 BootRom程序。與現有技術相比,本專利技術具有以下優點本專利技術中,在同一個Flash芯片的不同的段地址分別存放正常BootRom 程序和備份BootRom程序,通過按下預設按鍵或者長按預設按鍵方式,或自 動恢復方式對主引導程序進行修復,降低設備返修,設備穩定性大大增加, 不用添加任何硬件,不會增加產品的硬件成本。附圖說明圖1是本專利技術中一種恢復被破壞主引導程序的方法流程圖2是本專利技術中一鍵恢復設備被破壞的主引導程序的方法流程圖;圖3是本專利技術中自動恢復設備被破壞的主引導程序的方法流程圖; 圖4是本專利技術中 一種恢復被破壞主引導程序的設備結構圖。具體實施例方式本專利技術中,在一個Flash芯片的不同段地址里存放正常的BootRom程序 和備份的BootRom程序,當設備正常時,從正常的BootRom程序開始執行, 當設備不能正常啟動時,從該備份BootRom程序開始執行,設備仍然可以啟 動;設備啟動后再對正常的BootRom程序段進行更新,設備重新啟動可以正 常進行。由于Flash芯片硬件的損害可能性非常小,不需要進行Flash芯片的 硬件備份,可以節約成本。本專利技術中,在Flash芯片中備份BootRom程序的段地址和正常BootRom 程序段地址不在一個Flash段地址內。例如,可以將正常BootRom程序放在 Flash芯片的起始地址,將備份BootRom程序放在Flash芯片的末端地址,如 果正常BootRom程序不能啟動,讓設備從備份BootRom程序的代碼段啟動。 當然,也可以將正常BootRom程序和備份BootRom程序分別存放在Flash芯 片的其他地址。同時對備份BootRom程序在驅動上進行寫保護,只能對存放 備份BootRom程序的Flash芯片的段地址進行讀操作,不能進行擦寫,保證 備份BootRom程序的安全。本專利技術提供了 一種恢復被破壞主?I導程序的方法,應用于包括控制單元、 處理單元和存儲單元的設備中,所述存儲單元包括正常代碼段和備份代碼段, 所述正常代碼段用于存儲正常BootRom程序,所述備份代碼段用于存儲* BootRom程序,所述方法如圖l所示,包括以下步驟步驟101 ,控制單元纟企測設備是否能夠從正常BootRom程序啟動;步驟102,如果不能,控制單元觸發所述處理單元修改所述存儲單元的代 碼段地址,使所述控制單元從所述備份BootRom程序啟動。其中,步驟101具體為檢測到預設按鍵的被按下,或預設按鍵的被按時間超出預設時間,或檢 測到預設按鍵在預設時間內被按超出預設次數。所述預設按鍵為板卡上現有7按鍵或特定按4定,其中現有按鍵例如reset鍵或開關等。 步驟101具體為檢測到看門狗叫超過預設次數,或在預設時間內沒有^^測到觸發標志。 步驟102之后還包括根據所述備份BootRom程序修本文檔來自技高網...
【技術保護點】
一種恢復被破壞主引導程序的方法,應用于包括控制單元、處理單元和存儲單元的設備中,所述存儲單元包括正常代碼段和備份代碼段,所述正常代碼段用于存儲正常BootRom程序,所述備份代碼段用于存儲備份BootRom程序,其特征在于,所述方法包括: 所述控制單元檢測設備是否能夠從正常BootRom程序啟動; 如果不能,所述控制單元觸發所述處理單元修改所述存儲單元的代碼段地址,使所述控制單元從所述備份BootRom程序啟動。
【技術特征摘要】
【專利技術屬性】
技術研發人員:黃青川,
申請(專利權)人:杭州華三通信技術有限公司,
類型:發明
國別省市:86[中國|杭州]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。