專利名稱:一種固件批量升級方法
技術領域:
本發明涉及固件(Firmware)的升級方法,具體的說,是涉及一種 固件的批量升級方法。
背景技術:
固件是固化在集成電路內部的程序代碼,負責控制和協調集成電路 的功能。 一般來說,擔任著一個系統最基礎、最底層工作的軟件才可以 稱之為固件,比如我們常說的計算機主板上的BIOS。通常,這些硬件 內所保存的程序,即固件,是無法被用戶直接讀出或修改的。在集成電 路運用的早期階段,電子設備設計上不是很靈活, 一般情況下,沒有必 要對固件進行任何升級操作,即固件代碼是在生產過程中固化的。
隨著集成電路運用的不斷發展, 一臺由集成電路運作的電子設備, 在制造完成后,為了實現系統的擴充或某種功能的需求,需要修改設備 中的固件,以適應不斷更新的硬件環境。在設備制造完成后修改固件, 即固件的升級,是現代電子設備非常普遍的需求。
比如,現代的ADSL Modem設備,對于產品制造廠商來說,為了能 夠滿足客戶的需求按時出貨,在產品軟件,即固件還未編寫完成時,需 要先進行產品生產;測試完成后,再將產品的固件升級,成為滿足客戶 要求的產品。在這種現實需求下,固件的升級效率就變得非常重要。而 之前ADSL Modem產品的固件升級,是通過HTTP方式來實現的,艮P, ADSL Modem充當一臺Web服務器,操作人員需要先登錄進Modem的Web主頁,再修改頁面地址到升級頁面地址后進行升級。這種傳統升級 方式的最大缺陷是,只能一工位一次一臺Modem,即只能一臺一臺的進 行固件升級操作,效率非常低,這給制造廠商的出貨造成非常大的壓力。 另外,在實驗室或者客戶那里,有時也有很多臺設備進行固件升級的需 求。因此,上述的這種"單臺升級"的固件升級方法,已經不能滿足設 備制造廠商等具有大批量產品固件升級需求的高效率要求。
發明內容
本發明所要解決的技術問題是,現有的固件升級方法效率太低,不 適合大批量產品的固件升級。
本發明的固件批量升級方法是這樣實現的
一種固件批量升級方法,包括了設備端和與設備端網絡連接的升級 服務器,其特征在于,包括了如下步驟
(1) 所述設備端的設備在啟動時發出請求驗證其固件程序版本的 UDP數據包,并進入延時等待狀態;
(2) 所述升級服務器接收所述UDP數據包,并將所述設備的固件 程序與所述升級服務器上的固件程序進行比對
(2A)如果所述兩個固件程序版本不同,所述升級服務器向所述
設備發出需要升級固件的UDP數據包回應,給所述設備分配一個IP 地址,并向該IP地址發送固件程序; 或者,
(2B)如果所述兩個固件程序版本相同,所述升級服務器不向所 述設備發出需要升級固件的UDP數據包;
(3) 在所述步驟(2A)下,所述設備端的設備接收到UDP數據包 回應,更改設備的IP地址為升級服務器分配的地址,并進入等待固件升 級狀態;(4) 在所述步驟(2B)下,所述設備端的設備等待一個延時后,啟 動進入正常工作狀態;
(5) 在所述步驟(3)下,所述設備接收所述升級服務器發送的固 件程序,升級其固件后,重新啟動設備。
優選實施方式是,在上述步驟(2)中,所述兩個固件程序的比對, 是兩個固件程序的循環冗余校驗值(CRC值)的比對。
優選實施方式是,在上述步驟(2A)中,所述升級服務器還記錄下 所述設備的物理地址(MAC地址)至待升級設備數據庫中。
優選實施方式是,在上述步驟(2B)中,所述升級服務器還記錄下 所述設備的物理地址(MAC地址)至己升級設備數據庫中。
實施本發明的固件批量升級方法,多臺待升級設備可以同時接入網 絡,加電后即可自動與網絡中的升級服務器完成固件的升級; 一臺或一 批設備升級完成后,可以接入另一臺或另一批待升級的設備至網絡中, 從而如此循環不斷的完成所有設備的固件升級工作,效率非常高;從事 該項工作任務的工作人員,只需將待升級設備不斷的接入網絡,以及, 將升級完成的設備一臺臺脫開網絡即可,可以實現流水線方式工作,因 為,這實際就是將網線插入和拔出設備的網絡接口這兩個先后的動作。 非常適合設備制造廠商等具有大批量產品固件升級需求的場合。
圖1是本發明固件批量升級方法的流程示意圖。
具體實施例方式
下面,結合附圖對本發明作進一步的詳細說明。如圖1所示,本發明的固件批量升級方法,包括了設備端和升級服 務器,設備端的一臺或多臺設備(圖1中示出了一臺設備的工作流程), 是與升級服務器通過網絡連接在一起的,比如說由集線器或交換機所連 接的局域網絡等。本發明的固件批量升級方法包括了如下步驟
首先,(1)當工作人員將設備接入網絡,即將網線插入設備的網絡 接口,并接通設備電源開機后,設備在原有的固件的控制下啟動,向網 絡發出UDP數據包,這個數據包中包含了設備原有的固件程序的版本、 設備的物理地址(MAC地址)等信息,隨后,設備進入延時等待狀態;
然后,(2)網絡中的升級服務器接收到了設備發出的UDP數據包, 并將設備的固件程序與升級服務器上預先設置好的固件程序進行比對。 本發明的優選實施方式是,兩個固件程序的比對,是兩個固件程序的循 環冗余校驗值(CRC值)的比對。
這將產生兩種比對結果
(2A)如果兩個固件程序的版本不同升級服務器即向所述設備發 出需要升級固件的UDP數據包回應,為該設備分配一個IP地址,并向 該IP地址的設備發送升級服務器上預先設置好的固件程序。本發明的一 個優選實施方式是,在本步驟下,升級服務器還記錄下該設備的物理地 址(MAC地址)至待升級設備數據庫中。該待升級設備數據庫,可以 提供實施了固件升級操作的設備的統計信息。 或者,
(2B)如果兩個固件程序的版本相同升級服務器不向所述設備發 出需要升級固件的UDP數據包。本發明的一個優選實施方式是,在本 步驟下,所述升級服務器還記錄下所述設備的物理地址(MAC地址) 至已升級設備數據庫中。該已升級設備數據庫,可以提供未實施固件升 級操作的設備的統計信息。如果將上述待升級設備數據庫與這里的已升 級設備數據庫進行比對,可以進一步的確認某臺設備是否已經正確的完成固件的更新升級。
(3) 在上述(2A)情況下,設備端的該臺設備將接收到升級服務器 發出的UDP數據包回應,更改設備的IP地址為升級服務器分配的地址, 并進入等待固件升級狀態。此時,設備已經處于如背景技術所描述的傳 統的固件升級方法所實施的準備升級狀態。
(4) 在上述(2B)情況下,設備端的該臺設備在等待一個延時后, 比如10秒鐘后,還沒有收到升級服務器發出的UDP數據包回應,則該 設備將在當前的固件程序控制下,啟動進入正常工作狀態。
(5) 在上述步驟(3)下,該臺設備接收到升級服務器發送的固件 程序,升級其固件后,重新啟動設備。顯然,該設備將在新的固件程序 的控制下,再次執行上述流程;不過,該設備將按照上述步驟(4),即 在等待一個延時后,啟動進入正常工作狀態。此時,工作人員可以將該 臺設備脫開網絡,即將網線拔出設備的網絡接口。
從上述升級流程中可以明顯的得出,實施本發明的固件批量升級方 法,多臺待升級設備可以同時接入網絡,加電后即可自動與網絡中的升 級服務器完成固件的升級,不需要人力的額外操作; 一臺或一批設備升 級完成后,可以接入另一臺或另一批待升級的設備至網絡中,從而循環 不斷的完成所有設備的固件升級工作,效率非常高。并且,可以將從事 該項工作任務的工作人員分成"接入待升級設備"和"取下已升級設備" 兩個工作組前一工作組人員只需將待升級設備不斷的接入網絡,后一 工作組人員只需將已升級完成的設備一臺臺的取下脫開網絡,實現流水 線方式工作,可以進一步的提高工作效率并降低勞動強度。這種方法非 常適合設備制造廠商等具有大批量產品固件升級需求的應用場合。
總之,上述所描述的實施方式,并不代表本發明所有的實現方式; 以上實施例不是對本發明的具體限定,所有與本發明相類似的技術方 案,都應屬于本發明的保護范圍。
權利要求
1、一種固件批量升級方法,包括了設備端和與設備端網絡連接的升級服務器,其特征在于,包括了如下步驟(1)所述設備端的設備在啟動時發出請求驗證其固件程序版本的UDP數據包,并進入延時等待狀態;(2)所述升級服務器接收所述UDP數據包,并將所述設備的固件程序與所述升級服務器上的固件程序進行比對(2A)如果所述兩個固件程序版本不同,所述升級服務器向所述設備發出需要升級固件的UDP數據包回應,給所述設備分配一個IP地址,并向該IP地址發送固件程序;或者,(2B)如果所述兩個固件程序版本相同,所述升級服務器不向所述設備發出需要升級固件的UDP數據包;(3)在上述步驟(2A)下,所述設備端的設備接收到UDP數據包回應,更改設備的IP地址為升級服務器分配的地址,并進入等待固件升級狀態;(4)在上述步驟(2B)下,所述設備端的設備等待一個延時后,啟動進入正常工作狀態;(5)在上述步驟(3)下,所述設備接收所述升級服務器發送的固件程序,升級其固件后,重新啟動設備。
2、 根據權利要求1所述的一種固件批量升級方法,其特征在于,在 步驟(2)中,所述兩個固件程序的比對,是兩個固件程序的循環冗余 校驗值的比對。
3、 根據權利要求1或2所述的一種固件批量升級方法,其特征在于, 在步驟(2A)中,所述升級服務器還記錄下所述設備的物理地址至待升 級設備數據庫中。
4、 根據權利要求1或2所述的一種固件批量升級方法,其特征在于, 在步驟(2B)中,所述升級服務器還記錄下所述設備的物理地址至已升 級設備數據庫中。
全文摘要
本發明涉及一種固件批量升級方法,設備接電啟動后發出請求驗證其固件程序版本的UDP數據包,并進入延時等待狀態;升級服務器接收設備發出的數據包并對設備固件版本進行比對;如果固件版本不一致,則向設備發送需要升級的UPD數據包回應,給設備分配IP地址,并向該IP地址發送新版的固件程序;設備接收該回應數據包,修改設備IP地址,接收固件升級后重啟設備;相反的,如果設備在延時時段內沒有收到升級服務器的UPD數據包回應,則設備啟動至正常工作狀態。實施本發明的固件批量升級方法,設備接入網絡,加電后即可自動完成固件升級,可實現流水線方式工作,非常適合設備制造廠商等具有大批量產品固件升級需求的場合。
文檔編號H04L12/24GK101252458SQ20081006600
公開日2008年8月27日 申請日期2008年1月30日 優先權日2008年1月30日
發明者周貴雙, 曾顯柱 申請人:深圳市共進電子有限公司