著錄項信息
專利名稱 | 遠程加載或升級程序的系統(tǒng)及其方法 |
申請?zhí)?/td> | CN03132982.9 | 申請日期 | 2003-07-23 |
法律狀態(tài) | 授權 | 申報國家 | 中國 |
公開/公告日 | 2005-01-26 | 公開/公告號 | CN1570863 |
優(yōu)先權 | 暫無 | 優(yōu)先權號 | 暫無 |
主分類號 | G06F9/445 | IPC分類號 | G;0;6;F;9;/;4;4;5;;;G;0;6;F;9;/;4;0查看分類表>
|
申請人 | 華為技術有限公司 | 申請人地址 | 廣東省深圳市龍崗區(qū)坂田華為總部辦公樓
變更
專利地址、主體等相關變化,請及時變更,防止失效 |
權利人 | 華為技術有限公司 | 當前權利人 | 華為技術有限公司 |
發(fā)明人 | 王正波 |
代理機構 | 暫無 | 代理人 | 暫無 |
摘要
本發(fā)明涉及一種電子設備中加載或升級程序的系統(tǒng)及其方法,公開了一種遠程加載或升級程序的系統(tǒng)及其方法,使得電子設備中的程序可以遠程升級,無需工程師到場,另外還可以實現(xiàn)多個設備中程序的同時升級。這種遠程加載或升級程序的系統(tǒng)包含:待升級子系統(tǒng),包含互相連接的CPU和程序存儲器,其中所述程序存儲器中存儲有每次所述待升級子系統(tǒng)啟動以前必須運行的BIOS區(qū)程序;主控子系統(tǒng),包含能夠從網(wǎng)絡獲取升級程序的網(wǎng)絡程序下載裝置、存儲所述升級程序的程序存儲器、以及與所述待升級子系統(tǒng)交互將所述升級程序加載到所述待升級子系統(tǒng)的交互加載器;主控子系統(tǒng)和至少一個待升級子系統(tǒng)相連接。
技術領域\n本發(fā)明涉及一種電子設備中加載或升級程序的系統(tǒng)及其方法,特別涉及 一種含中央處理器的電子設備中遠程加載或升級程序的系統(tǒng)及其方法。\n背景技術\n含中央處理器(Central?Processing?Unit,簡稱“CPU”)的電子設備已 經(jīng)廣泛應用于各行各業(yè),這里說的CPU可以是單片機、數(shù)字信號處理(Digital Signal?Processing,簡稱“DSP”)芯片等。其中又以含單片機的電子設備最 為典型,以下將以單片機為例講述含有CPU的電子設備共同的特點和存在 的問題。\n單片機在廣義上講是將CPU與主存儲器以及簡單的接口融于一體的獨 立的控制單元。狹義上講它本身就是一個計算機系統(tǒng),一個能夠獨立完成作 業(yè)的應用計算機。單片機中集成了存儲程序的器件,例如閃速存儲器(Flash Memory,簡稱“FLASH”),通過對單片機編程,可以在比較短的時間內 設計出較為智能化的電子設備。\n隨著單片機處理內容的日益復雜,其程序的升級在所難免。目前有兩種 方式實現(xiàn)對單片機程序的加載和升級。\n方法一,目前最常見的單片機程序加載或升級的方法是用燒片器進行燒 片。燒片器是一個單獨的設備,它與計算機通過串行口、并行口或者通用串 行總線(Universal?Serial?Bus,簡稱“USB”)口進行通信。操作員可以通 過這些通信端口將計算機上的單片機程序下載到燒片器。燒片器提供各式夾 具,用于固定不同的單片機,另外燒片器還給單片機提供電源、編程需要的 電壓、外部控制信號等,從而完成對單片機的編程。\n方法二,現(xiàn)在有的單片機還提供了在系統(tǒng)編程技術(In?System?Program, 簡稱“ISP”),該技術可以通過單片機提供的串口和一段固化小程序實現(xiàn) 芯片的在線升級。其基本原理是芯片供應商在芯片內固化了一段程序,該程 序完成對單片機串口的初始化,以及實現(xiàn)一定的加載協(xié)議。這樣單片機在啟 動后根據(jù)外部引腳條件或者芯片內的一些標志寄存器判斷是否進入該段程 序,如果進入到該段程序中,便可通過串口和外部計算機上的軟件進行通信, 然后按照加載協(xié)議將加載數(shù)據(jù)寫入到單片機的FLASH中,寫入時采用單片 機寫FLASH指令(現(xiàn)在很多單片機都支持)。\n在實際應用中,上述方案存在以下問題:程序升級困難,特別當設備廣 泛銷售以后,程序升級的成本很高,另外無法遠程升級,無法對多個設備同 時升級。\n造成這種情況的一個主要原因在于,需要專業(yè)人員到現(xiàn)場操作。對于方 法一,需要專業(yè)人員到現(xiàn)場從待升級設備上拆下待升級的芯片,重新燒片后 再安裝到待升級設備上。對于方法二,雖然不需要拆卸待升級的芯片,但也 需要專業(yè)人員到現(xiàn)場,將外部計算機通過串口線連接到待升級設備的電路板 上,使用專用的軟件進行升級。當設備被廣泛銷售以后,用戶的地理位置往 往很分散,無論采用召回設備還是派專業(yè)人員上門維護,成本都很高。\n另外,專業(yè)人員到現(xiàn)場后,由于芯片必須一片一片地燒,電路板必須一 塊一塊地連接和處理,因此無法同時對多個設備同時升級。\n發(fā)明內容\n本發(fā)明要解決的技術問題是提供一種遠程加載或升級程序的系統(tǒng)及其 方法,使得電子設備中的程序可以遠程升級,無需工程師到場,另外還可以 實現(xiàn)多個設備中程序的同時升級。\n為了解決上述技術問題,本發(fā)明提供了一種遠程加載或升級程序的系 統(tǒng),包含:\n待升級子系統(tǒng),包含互相連接的中央處理器和程序存儲器,其中所述程 序存儲器中存儲有每次所述待升級子系統(tǒng)啟動以前必須運行的基本輸入輸 出系統(tǒng)區(qū)程序;\n主控子系統(tǒng),包含能夠從網(wǎng)絡獲取升級程序的網(wǎng)絡程序下載裝置、存儲 所述升級程序的程序存儲器、以及與所述待升級子系統(tǒng)交互將所述升級程序 加載到所述待升級子系統(tǒng)的交互加載器;\n所述主控子系統(tǒng)和至少一個所述待升級子系統(tǒng)相連接。\n其中,所述待升級子系統(tǒng)是單片機系統(tǒng)。\n所述程序存儲器是外掛的隨機存取存儲器、閃速存儲器或電可擦除可編 程只讀存儲器。\n所述待升級子系統(tǒng)是基于數(shù)字信號處理芯片的系統(tǒng)。\n本發(fā)明還提供了一種遠程加載或升級程序的方法,包含以下步驟:\nA待升級子系統(tǒng)判斷加載標志是否有效,如果是則向主控子系統(tǒng)發(fā)送 加載請求信元,進入步驟B,否則開始執(zhí)行應用程序,流程結束;\nB所述主控子系統(tǒng)響應所述加載請求信元,根據(jù)所述加載信元中攜帶 的信息判斷是否允許所述待升級子系統(tǒng)加載或升級程序,如果允許,則向所 述待升級子系統(tǒng)發(fā)送允許加載信元,否則向所述待升級子系統(tǒng)發(fā)送不允許加 載信元;\nC所述待升級子系統(tǒng)響應所述主控子系統(tǒng)對所述加載請求信元的反 饋,判斷所收到的信元的類型,如果是允許加載信元則將所述加載標志改寫 有效,向所述主控子系統(tǒng)發(fā)送準備就緒信元,進入步驟D,如果是不允許加 載信元則重新啟動所述待升級子系統(tǒng),流程結束;\nD所述主控子系統(tǒng)判斷是否還有剩余的升級程序的數(shù)據(jù)信元沒有發(fā)送 并且無發(fā)送錯誤,如果是則向所述待升級子系統(tǒng)發(fā)送升級程序的數(shù)據(jù)信元, 否則流程結束;\nE所述待升級子系統(tǒng)收到所述數(shù)據(jù)信元后,根據(jù)所述數(shù)據(jù)信元中攜帶的 信息判斷所述數(shù)據(jù)信元是否合法并且順序正確,如果是則將收到的所述數(shù)據(jù) 信元寫入所述待升級子系統(tǒng)的程序存儲器,進入步驟F,否則向所述主控子 系統(tǒng)反饋最后加載失敗信元及失敗原因,重新啟動所述待升級子系統(tǒng),進入 步驟D;\nF所述待升級子系統(tǒng)向所述主控子系統(tǒng)反饋數(shù)據(jù)成功加載信元,并根據(jù) 所述數(shù)據(jù)成功加載信元攜帶的判斷所述待加載程序的全部數(shù)據(jù)信元是否已 經(jīng)收取完畢,如果是則將所述加載標志設置為無效,并重新啟動所述待升級 子系統(tǒng),流程結束,否則進入步驟D。\n其中,所述主控子系統(tǒng)中的所述升級程序是預先從網(wǎng)絡中下載并存儲在 所述主控子系統(tǒng)的程序存儲器中的。\n所述步驟A還包含以下步驟:\nA1當所述待升級子系統(tǒng)判斷所述加載標志無效時,所述待升級子系統(tǒng) 等待用戶輸入;\nA2所述待升級子系統(tǒng)判斷是否在規(guī)定時間內沒有用戶輸入,如果是則 進入步驟A4,否則繼續(xù)等待,直至有用戶輸入時進入步驟A3;\nA3所述待升級子系統(tǒng)根據(jù)用戶的輸入判斷是否需要強制加載程序,如 果需要強制加載,則進入步驟B,如果不需要強制加載,則進入步驟A4;\nA4開始執(zhí)行應用程序,流程結束。\n所述步驟B中,所述主控子系統(tǒng)向所述待升級子系統(tǒng)發(fā)送的所述允許 加載信元中包含待加載程序的版本號和程序大小信息;\n所述步驟C中還包含以下步驟:\n當收到的信元類型是允許加載信元時,所述待升級子系統(tǒng)根據(jù)待加載程 序的所述版本號和程序大小信息,判斷加載是否合法,如果合法則將所述加 載標志改寫有效,向所述主控子系統(tǒng)發(fā)送準備就緒信元,進入步驟D,否則 重新啟動所述待升級子系統(tǒng),流程結束。\n所述方法還包含以下步驟:\n當所述待升級子系統(tǒng)收到不允許加載信元或改寫加載標志失敗時,打印 錯誤信息。\n所述步驟D還包含以下步驟:\n所述主控子系統(tǒng)收到所述準備就緒信元后,通知上層軟件所述待升級子 系統(tǒng)準備加載或升級程序。\n所述步驟F還包含以下步驟:\n當所述待升級子系統(tǒng)收取完全部數(shù)據(jù)信元后,所述待升級子系統(tǒng)修改本 地的軟件版本信息。\n所述步驟F還包含以下步驟:\n所述待升級子系統(tǒng)成功收取并保存數(shù)據(jù)信元后,根據(jù)數(shù)據(jù)信元中是否需 要回應的標志,僅對需要回應的信元反饋數(shù)據(jù)成功加載信元。\n所述待升級子系統(tǒng)和所述主控子系統(tǒng)相互發(fā)送的信元中包含以下信息:\n區(qū)分程序和數(shù)據(jù)的標志;軟件版本;信元類型;信元編號。\n所述步驟A中所述應用程序的入口地址是固定的,執(zhí)行應用程序時, 直接跳轉到所述應用程序的固定入口地址,開始執(zhí)行。\n所述待升級子系統(tǒng)在遠程加載和升級的整個過程中不使用任何中斷。\n通過比較可以發(fā)現(xiàn),本發(fā)明的技術方案與現(xiàn)有技術的區(qū)別在于,將程序 通過網(wǎng)絡下載并存儲到主控子系統(tǒng),待升級子系統(tǒng)每次啟動時運行基本輸入 輸出系統(tǒng)區(qū)程序,該程序中根據(jù)加載標志判斷是否需要加載或升級,然后通 過特定的流程將待加載程序從所述主控子系統(tǒng)下載到所述待升級子系統(tǒng)。\n這種技術方案上的區(qū)別,帶來了較為明顯的有益效果,即可以不派專業(yè) 工程師到現(xiàn)場,程序可以通過網(wǎng)絡(例如因特網(wǎng))遠程下載到待升級設備, 而且整個升級過程可以不需要人的參與,完全由系統(tǒng)自動完成。如果系統(tǒng)中 存在多個待升級設備,則這些待升級設備可以同時升級。特別對于待升級設 備已經(jīng)被廣泛銷售、分散在各地的情況,因為不需要專業(yè)人員到現(xiàn)場,大大 降低了設備中程序升級的成本。\n附圖說明\n圖1是根據(jù)本發(fā)明的一個實施例的遠程加載或升級程序的系統(tǒng)結構示 意圖;\n圖2是根據(jù)本發(fā)明的一個實施例的遠程加載或升級程序的方法流程圖。\n具體實施方式\n為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā) 明作進一步地詳細描述。\n如圖1所示,在本發(fā)明的一個較佳實施例中,遠程加載或升級程序的系 統(tǒng)(以下簡稱“系統(tǒng)”)包括待升級子系統(tǒng)10、主控子系統(tǒng)20以及將兩個 子系統(tǒng)連接起來的背板30。待升級子系統(tǒng)10中含有至少一塊CPU以及程序 存儲器,程序存儲器用于存放CPU的執(zhí)行程序。程序存儲器可以是CPU自 帶的,例如單片機,也可以是外掛的,例如隨機存取存儲器(Random?Access Memory,簡稱“RAM”)、FLASH、電可擦除可編程只讀存儲器(Electrically Erasable?Programmable?ROM,簡稱“EEPROM”)等。待升級子系統(tǒng)10的 典型例子是一塊帶有單片機的用戶板(即單片機系統(tǒng)),或者是一塊帶有 DSP芯片的用戶板,其程序存儲在外掛FLASH中。\n在程序存儲器中有一塊固定基本輸入輸出系統(tǒng)(Basic?Input?Output System,簡稱“BIOS”)區(qū),其中存放BIOS程序,該程序一般是固定的, 不需要升級的。相對于BIOS程序,程序存儲器中其他供CPU運行的程序在 本發(fā)明中稱為應用程序,應用程序一般是升級的對象。在本發(fā)明中,BIOS 程序是每次待升級子系統(tǒng)10啟動時必須首先運行的,遠程加載或升級程序 的流程主要在BIOS程序中實現(xiàn)。\n主控子系統(tǒng)20主要包含能夠從網(wǎng)絡獲取升級程序的網(wǎng)絡程序下載裝 置、存儲待升級程序的程序存儲器、以及與待升級子系統(tǒng)10交互將升級程 序加載到待升級子系統(tǒng)10的交互加載器。網(wǎng)絡程序下載裝置可以從網(wǎng)上(例 如因特網(wǎng))遠程下載升級程序,保存到本地的程序存儲器中。在本發(fā)明的一 個較佳實施例中,工程師在異地利用因特網(wǎng),通過單純文件傳輸協(xié)議 (TrivialFile?Transfer?protocol,簡稱“TFTP”),將升級程序下載到主控子 系統(tǒng)20的程序存儲器中。\n需要說明的是,系統(tǒng)中的待升級子系統(tǒng)10可能有多個,而主控子系統(tǒng) 20一般只有一個,多個待升級子系統(tǒng)10分別和主控子系統(tǒng)20相連接,例 如多個待升級子系統(tǒng)10和一個主控子系統(tǒng)20可以同時連接在背板30上。 熟悉本發(fā)明領域的技術人員會理解,背板30的作用提供物理連接通道,可 以使用其他連接方式而不超出本發(fā)明的范圍和實質。\n上面說明了系統(tǒng)的組成,以下結合圖2,詳細說明遠程加載或升級程序 的方法流程。\n當工程師通過網(wǎng)絡將新版本的升級程序遠程下載到主控子系統(tǒng)20中的 程序存儲器以后,主控子系統(tǒng)20并不是馬上把升級程序加載到各個待升級 子系統(tǒng)10中去,而是一直等待,直到待升級子系統(tǒng)10重新啟動時自己來下 載升級程序。常見的做法是工程師確定升級程序已經(jīng)成功下載到主控子系統(tǒng) 20后,通知相關人員重新啟動系統(tǒng),以便自動完成升級。\n當待升級子系統(tǒng)10重新啟動時,首先運行BIOS程序,在步驟110中, 待升級子系統(tǒng)10判斷加載標志是否有效,如果有效則進入步驟130,如果 無效則進入步驟120。所述加載標志是存儲在程序存儲器中的一個標志,加 載標志不會因為斷電、系統(tǒng)重新啟動而丟失,它的取值可以通過CPU設定。 加載標志的作用是指示待升級子系統(tǒng)10是否需要自動進入加載狀態(tài),如果 加載標志是有效的,則系統(tǒng)自動進入加載流程,如果加載標志是無效的,系 統(tǒng)等待用戶決定是否要強制加載。\n在步驟120中,待升級子系統(tǒng)10等待用戶的輸入。例如,用戶可以通 過串行口,也可以通過USB、并行口等通信端口向待升級子系統(tǒng)10輸入代 表是否要強制加載的信號。如果用戶在規(guī)定時間內,例如10秒種,不輸入 任何信號,則待升級子系統(tǒng)10默認為不進行強制加載。一旦用戶有了輸入 或發(fā)生超時,則進入步驟140。\n在步驟130中,待升級子系統(tǒng)10向主控子系統(tǒng)20發(fā)送加載請求信元。 在本發(fā)明中,所有的消息和數(shù)據(jù)都是通過信元傳遞的。這里的信元是指一組 有預定義格式的信號。為了區(qū)分不同類型和功能的信元,信元中一般包含以 下信息,區(qū)分程序和數(shù)據(jù)的標志、軟件版本、信元類型、信元編號等。此后 進入步驟160。\n在步驟140中,待升級子系統(tǒng)10判斷用戶是否要求強制加載,如果是 則進入步驟130,否則進入步驟150。\n在步驟150中,待升級子系統(tǒng)10開始執(zhí)行應用程序,流程結束。如果 待升級子系統(tǒng)10發(fā)現(xiàn)不需要加載或升級現(xiàn)有的程序,則按照常規(guī)開始執(zhí)行 應用程序。在本發(fā)明的一個較佳實施例中,應用程序的入口是固定的,CPU 通過一個跳轉指令跳轉到應用程序的入口地址,然后開始按順序執(zhí)行應用程 序的每一條指令。這種固定入口的方式實現(xiàn)起來比較簡單,而且能夠滿足絕 大多數(shù)應用系統(tǒng)的需要,當然熟悉本發(fā)明領域的技術人員也可以通過在升級 程序中指定應用程序的入口地址,在待升級子系統(tǒng)10中的程序升級以后使 用新指定的入口地址執(zhí)行應用程序,這依然不超出本發(fā)明的實質和范圍。\n在步驟160中,主控子系統(tǒng)20判斷是否允許待升級子系統(tǒng)10加載或升 級程序,如果允許則進入步驟170,否則進入步驟180。在這個步驟中,主 控子系統(tǒng)20可以進行一些控制,例如權限的控制、升級時機的控制等等, 可以選擇合適的待升級子系統(tǒng)10在合適的時機進行升級。\n在步驟170中,主控子系統(tǒng)20向待升級子系統(tǒng)10發(fā)送允許加載信元。 通知待升級子系統(tǒng)10可以馬上進行下面的加載或升級流程了。需要說明的 是,在所述允許加載信元中,包含了將用于步驟190中的加載合法性分析的 信息,例如軟件版本和升級程序大小等。然后進入步驟190。\n在步驟180中,主控子系統(tǒng)20向待升級子系統(tǒng)10發(fā)送不允許加載信元。 此后進入步驟280。\n在步驟190中,待升級子系統(tǒng)10接收到來自主控子系統(tǒng)20的允許加載 信元后,判斷本次加載是否合法,如果合法則進入步驟200,否則進入步驟 270。判斷本次加載是否合法的一個例子如下:待升級子系統(tǒng)10分析允許加 載信元中攜帶的軟件版本和升級程序大小等信息,判斷升級程序的軟件版本 是否比目前已有程序的軟件版本新,并判斷本地的程序存儲器是否能夠容納 下升級程序,如果這些判斷均為肯定的結果,則本次加載合法,否則本次加 載不合法。\n在步驟200中,待升級子系統(tǒng)10將加載標志改寫為有效,并向主控子 系統(tǒng)20發(fā)送準備就緒信元。將加載標志改寫為有效是為了防止在下面的加 載流程中一旦發(fā)生異常問題(例如斷電、通信線路發(fā)生故障等),待升級子 系統(tǒng)10在重新啟動后可以自動重新進入加載流程。例如,在用戶通過外界 輸入強制進行加載情況中,加載標志原先是無效的,如果在本步驟中不將加 載標志改寫成有效,一旦在加載時發(fā)生故障而重新啟動后,待升級子系統(tǒng) 10將無法自動重新進入加載流程,而發(fā)生故障時已經(jīng)加載的程序可能是不 完整的,運行不完整的程序可能會導致待升級子系統(tǒng)10的故障。此后進入 步驟210。\n在步驟210中,主控子系統(tǒng)20判斷是否還有剩余的數(shù)據(jù)信元沒有發(fā)送, 并且沒有發(fā)現(xiàn)發(fā)送錯誤,如果是則進入步驟220,否則流程結束。本文中提 到的數(shù)據(jù)信元均是指升級軟件的數(shù)據(jù)信元。有兩個觸發(fā)條件都可以觸發(fā)這一 步驟,一個是收到來自待升級子系統(tǒng)10的準備就緒信元,另一個是收到待 升級子系統(tǒng)10對已發(fā)送數(shù)據(jù)信元的回應。在本發(fā)明的一個較佳實施例中, 當主控子系統(tǒng)20收到準備就緒信元時,會通知上層軟件某個待升級子系統(tǒng) 10準備加載或升級程序。這個上層軟件可以是控制中心中的監(jiān)視軟件。這 樣控制中心中的工作人員可以及時知道待升級子系統(tǒng)10加載或升級程序的 情況。\n在步驟220中,主控子系統(tǒng)20向待升級子系統(tǒng)10發(fā)送數(shù)據(jù)信元,此后 進入步驟230。\n在步驟230中,待升級子系統(tǒng)10收取來自主控子系統(tǒng)20的數(shù)據(jù)信元, 判斷該數(shù)據(jù)信元是否合法并且順序正確,如果是則進入步驟240,否則進入 步驟270。判斷數(shù)據(jù)信元是否合法的方法有多種,例如可以在數(shù)據(jù)信元發(fā)送 時加入循環(huán)冗余校驗(Cyclic?Redundancy?Check,簡稱“CRC”)碼,在接 收時通過CRC校驗來判斷該數(shù)據(jù)信元是否合法。因為在本發(fā)明中升級程序 一般是比較大的,往往被分成若干個數(shù)據(jù)信元依次發(fā)送的,如果收到的數(shù)據(jù) 信元的順序不對,則說明有若干個數(shù)據(jù)信元被遺失了。例如,上一個收到的 數(shù)據(jù)信元編號是50,而本次收到的數(shù)據(jù)信元編號是53,則說明有兩個數(shù)據(jù) 信元丟失。\n在步驟240中,待升級子系統(tǒng)10將合法并且順序正確的數(shù)據(jù)信元寫入 本地的程序存儲器,接著進入步驟250。\n在步驟250中,待升級子系統(tǒng)10判斷收到的數(shù)據(jù)信元是否需要回應, 如果需要回應則進入步驟260,否則進入步驟220。需要指出的是,不一定 每一個數(shù)據(jù)信元都需要回應。在本發(fā)明的一個較佳實施例中,從主控子系統(tǒng) 20發(fā)送的數(shù)據(jù)信元帶有一個是否需要回應標志位,每隔若干個數(shù)據(jù)信元設 置一個需要回應的數(shù)據(jù)信元,例如,每發(fā)5個不需要回應的數(shù)據(jù)信元后發(fā)送 一個需要回應的數(shù)據(jù)信元。這樣做的目的是為了減少待升級子系統(tǒng)10和主 控子系統(tǒng)20之間的通信量,提高通信效率。需要指出的是最后一個數(shù)據(jù)信 元是一定需要回應的。在不需要回應的情況下,待升級子系統(tǒng)10直接等著 收取下一個數(shù)據(jù)信元。\n在步驟260中,待升級子系統(tǒng)10向主控子系統(tǒng)20發(fā)送回應信元。主控 子系統(tǒng)20發(fā)完一組數(shù)據(jù)信元后會等待,直至收取回應信元才會發(fā)送下一組 數(shù)據(jù)信元。此后進入步驟290。\n在步驟270中,當加載發(fā)生錯誤時,待升級子系統(tǒng)10向主控子系統(tǒng)20 發(fā)送錯誤原因和最后錯誤數(shù)據(jù)信元。發(fā)送錯誤原因和最后錯誤數(shù)據(jù)信元的原 因是便于主控子系統(tǒng)20了解該錯誤,以便及時采取錯誤排除故障。此后進 入步驟310。\n在步驟280中,待升級子系統(tǒng)10打印錯誤原因。這一步驟的作用是告 知待升級子系統(tǒng)10本地的工作人員出錯信息,便于及時排除故障。此后進 入步驟310。\n在步驟290中,待升級子系統(tǒng)10判斷數(shù)據(jù)信元是否已經(jīng)收取完畢,如 果是則進入步驟300,否則進入步驟210。\n在步驟300中,待升級子系統(tǒng)10將加載標志設置成無效,并修改本地 軟件版本。因為升級程序已經(jīng)下載完畢,為了防止下一次重新啟動后再次自 動加載,需要把加載標志設置成無效。修改本地軟件版本是為了下一次加載 時可以比較升級軟件和本地軟件的版本,以免錯誤加載舊版本的軟件。此后 進入步驟310。\n在步驟310中,待升級子系統(tǒng)10重新啟動,流程結束。當程序加載完 畢或發(fā)生錯誤無法繼續(xù)加載時,待升級子系統(tǒng)10要重新啟動,重新啟動后 可以根據(jù)加載標志和用戶的輸入,開始執(zhí)行新的應用程序或重新進行加載。\n需要說明的是,在本發(fā)明的一個較佳實施例中,待升級子系統(tǒng)10在上 述整個流程中不使用任何中斷,在需要等待消息的時候采用例如輪詢的方式 來等待,如果等待超時(可以用例如計算輪詢次數(shù)的方法發(fā)現(xiàn)等待超時)則 進行錯誤處理。不使用中斷的好處是可以減少加載過程中不必要錯誤的發(fā) 生,例如中斷發(fā)生時如果正在接受數(shù)據(jù),可能會導致一部分數(shù)據(jù)的丟失,從 而加載錯誤,最終不得不重新進行加載。\n雖然通過參照本發(fā)明的某些優(yōu)選實施例,已經(jīng)對本發(fā)明進行了圖示和描 述,但本領域的普通技術人員應該明白,可以在形式上和細節(jié)上對其作各種 各樣的改變,而不偏離所附權利要求書所限定的本發(fā)明的精神和范圍。
法律信息
- 2023-08-08
專利權有效期屆滿
IPC(主分類): G06F 9/445
專利號: ZL 03132982.9
申請日: 2003.07.23
授權公告日: 2007.10.31
- 2007-10-31
- 2006-05-24
- 2005-01-26
引用專利(該專利引用了哪些專利)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 | 該專利沒有引用任何外部專利數(shù)據(jù)! |
被引用專利(該專利被哪些專利引用)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 | 該專利沒有被任何外部專利所引用! |