閱讀器設(shè)備及其固件升級方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種閱讀器設(shè)備及其固件升級方法及裝置。其中,該方法包括:閱讀器設(shè)備獲取待下載固件的版本信息,根據(jù)版本信息獲取待下載固件包含的版本文件數(shù)量,其中,閱讀器設(shè)備當(dāng)前使用固件的主用版本文件;閱讀器設(shè)備根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定待下載固件包含的各個版本文件的存儲位置;閱讀器設(shè)備將各個版本文件下載保存到對應(yīng)的存儲位置,更新備用版本文件。通過本發(fā)明,可以提高固件升級的穩(wěn)定性和便捷性,降低閱讀器設(shè)備的維護成本。
【專利說明】閱讀器設(shè)備及其固件升級方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種閱讀器設(shè)備及其固件升級方法及裝置?!颈尘凹夹g(shù)】
[0002]固件執(zhí)行系統(tǒng)最基礎(chǔ)最底層工作,可包括boot、ramdisk及操作系統(tǒng)。對于射頻識別系統(tǒng)中的閱讀器來說,固件還包括fpga的執(zhí)行程序。為了能夠修改固件,以適應(yīng)不斷更新的硬件環(huán)境,目前,固件軟件一般存儲在可重復(fù)寫入的可編程可擦除只讀存儲器(Erasable Programmable ROM,簡稱為 EPROM)和閃存(flash)中。
[0003]對于射頻識別系統(tǒng)來說,由于應(yīng)用過程中,大多采用定制化的設(shè)計,原有的固件程序很難一次性滿足所有用戶的需求,甚至有些設(shè)備上的固件在使用過程中會發(fā)現(xiàn)固件存在漏洞,或性能與使用場景不合等問題,需要對設(shè)備進行現(xiàn)場升級。目前,傳統(tǒng)的升級方式有兩種:一種是采用芯片的編輯器將文件直接寫入存儲位置,這需要采用專用數(shù)據(jù)線連接電腦與閱讀器設(shè)備;第二種方式是通過網(wǎng)絡(luò)或通過電腦與閱讀器設(shè)備的網(wǎng)口進行升級。在目前的如圖1所示的射頻識別系統(tǒng)中,閱讀器設(shè)備的固件升級一般是采用方式二的方式,即通過應(yīng)用管理系統(tǒng)對閱讀器設(shè)備進行升級。但是采用這種升級方式,由于升級過程中會將原啟動的固件覆蓋,因此,如果固件升級過程中斷,則將導(dǎo)致固件升級失敗,在閱讀器設(shè)備重新開機后,設(shè)備將無法啟動,需要送回原廠刷機,從而導(dǎo)致閱讀器設(shè)備的維護成本增加。并且,由于閱讀器常常被固定在一個比較高或者偏僻的位置上,如果拆卸升級固件,也將花費大量的人力和物力。
【發(fā)明內(nèi)容】
[0004]針對相關(guān)技術(shù)中閱讀器設(shè)備固件升級由于固件升級中斷而導(dǎo)致閱讀器設(shè)備的維護成本增加的問題,本發(fā)明提供了一種閱讀器設(shè)備及其固件升級方法及裝置,以至少解決上述問題。
[0005]根據(jù)本發(fā)明的一個方面,提供了一種閱讀器設(shè)備的固件升級方法,包括:閱讀器設(shè)備獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件;所述閱讀器設(shè)備根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置;所述閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
[0006]優(yōu)選地,閱讀器設(shè)備獲取待下載固件的版本信息,包括:所述閱讀器設(shè)備接收指示下載所述待下載固件的請求;所述閱讀器設(shè)備從所述請求中獲取所述待下載固件的版本信
肩、O
[0007]優(yōu)選地,所述閱讀器設(shè)備根據(jù)所述版本信息獲取的信息還包括:校驗值;在所述閱讀器設(shè)備將所述各個文件下載保存到對應(yīng)的存儲位置之后,包括:所述閱讀器設(shè)備根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼CRC校驗,在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。
[0008]優(yōu)選地,在所述閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件之后,所述方法還包括:所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。
[0009]優(yōu)選地,如果所述閱讀器設(shè)備啟動所述備用版本文件失敗,所述方法還包括:所述閱讀器設(shè)備重新啟動所述主版本文件。
[0010]優(yōu)選地,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識,包括:將預(yù)先設(shè)置的所述固件的備用版本的激活標志位置位。
[0011]優(yōu)選地,根據(jù)所述標識啟動所述備用版本文件,包括:所述閱讀器設(shè)備判斷所述備用版本的激活標志位是否置位,如果是,則啟動所述備用版本文件,并在啟動成功后將所述激活標志位清空;如果所述備用版本的激活標志位為空,則判斷主用版本是否可用,如果可用,則啟動所述主用版本文件,如果所述主用版本不可用,則啟動所述備份版本文件。
[0012]優(yōu)選地,如果所述閱讀器設(shè)備啟動所述主用版本文件失敗,所述方法還包括:所述閱讀器設(shè)備將所述主用版本的可用標志位置為不可用,并啟動所述備份版本文件。
[0013]根據(jù)本發(fā)明的另一個方面,提供了一種閱讀器設(shè)備的固件升級裝置,用于升級閱讀器設(shè)備的固件,包括:獲取模塊,用于獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件;確定模塊,用于根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置;下載模塊,用于將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
[0014]優(yōu)選地,所述獲取模塊根據(jù)所述版本信息獲取的信息還包括:校驗值;所述裝置還包括:校驗?zāi)K,用于根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼CRC校驗;設(shè)置模塊,用于在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。
[0015]優(yōu)選地,所述裝置還包括:執(zhí)行模塊,用于在所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。
[0016]根據(jù)本發(fā)明的再一個方面,提供了一種閱讀器設(shè)備,包括上述的閱讀器設(shè)備的固件升級裝置。
[0017]通過本發(fā)明,在固件升級時,對閱讀器設(shè)備的備用版本文件進行升級,而不是直接覆蓋原啟動的固件,因此,即使升級中斷也不會導(dǎo)致閱讀器無法啟動,從而提高了固件升級的穩(wěn)定性和便捷性,降低了閱讀器設(shè)備的維護成本。
【專利附圖】
【附圖說明】
[0018]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)相關(guān)技術(shù)的射頻識別系統(tǒng)的結(jié)構(gòu)示意圖;
[0020]圖2是根據(jù)本發(fā)明實施例的閱讀器設(shè)備的固件升級方法的流程圖;[0021]圖3是根據(jù)本發(fā)明優(yōu)選實施例的固件文件結(jié)構(gòu)示意圖;
[0022]圖4是根據(jù)本發(fā)明優(yōu)選實施例的版本管理標志位結(jié)構(gòu)示意圖;
[0023]圖5是根據(jù)本發(fā)明優(yōu)選實施例的固件文件下載流程圖;
[0024]圖6是根據(jù)本發(fā)明優(yōu)選實施例的閱讀器固件啟動的流程圖;
[0025]圖7是根據(jù)本發(fā)明實施例的閱讀器設(shè)備的固件升級裝置的結(jié)構(gòu)示意圖;
[0026]圖8是根據(jù)本發(fā)明優(yōu)選實施例的閱讀器設(shè)備的固件升級裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0027]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0028]針對相關(guān)技術(shù)中在對閱讀器設(shè)備固件進行升級時采用覆蓋原啟動的固件,從而使得如果升級中斷則將導(dǎo)致閱讀器固件的維護成本增加的問題,本發(fā)明實施例提供了一種閱讀器設(shè)備的固件升級方法。
[0029]實施例一
[0030]圖2是根據(jù)本發(fā)明實施例的閱讀器設(shè)備的固件升級方法的流程圖,如圖2所示,該方法主要包括以下步驟:
[0031]步驟S202,閱讀器設(shè)備獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件;
[0032]步驟S204,閱讀器設(shè)備根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置;
[0033]步驟S206,閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
[0034]通過本發(fā)明實施例提供的上述方法,在對閱讀器設(shè)備的固件進行升級時,對固件的備份版本文件進行升級,而不覆蓋閱讀器設(shè)備當(dāng)前使用的主版本文件,從而使得即使升級中斷也不會導(dǎo)致閱讀器設(shè)備的固件無法啟動。
[0035]在本發(fā)明實施例的一個優(yōu)選實施方式中,閱讀器設(shè)備獲取待下載固件的版本信息可以包括以下步驟:
[0036]步驟1,閱讀器設(shè)備接收指示下載所述待下載固件的請求;例如,在固件有更新時,可以由PC機上的管理軟件向閱讀器設(shè)備發(fā)送請求,指示閱讀器設(shè)備下載新的固件版本,其中,該請求中可以攜帶待下載固件的版本信息;
[0037]步驟2,閱讀器設(shè)備從所述請求中獲取所述待下載固件的版本信息。例如,閱讀器設(shè)備可以讀取版本信息文件,從中獲取待下載固件中打包的文件個數(shù)、大小或校驗值等信
肩、O
[0038]通過該優(yōu)選實施方式,服務(wù)器側(cè)可以在固件有更新時,主動通知閱讀器設(shè)備進行固件更新,提高了閱讀器設(shè)備固件的實時性。
[0039]在本發(fā)明實施例的另一個優(yōu)選實施方式中,如果閱讀器設(shè)備根據(jù)所述版本信息獲取的信息包括校驗值,則在所述閱讀器設(shè)備將所述各個文件下載保存到對應(yīng)的存儲位置之后,該方法還可以包括:所述閱讀器設(shè)備根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼CRC校驗,在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。通過該優(yōu)選實施方式,可以在固件下載成功的情況下,才使用新下載的固件,進一步保證了閱讀器設(shè)備運行的穩(wěn)定性。
[0040]在本發(fā)明實施例的一個優(yōu)選實施方式中,在所述閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件之后,該方法還可以包括:所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。通過該優(yōu)選實施方式,使得閱讀器設(shè)備可以及時使用下載的固件,保證閱讀器設(shè)備能夠滿足用戶的需求。
[0041]在本發(fā)明實施例的又一個優(yōu)選實施方式中,如果閱讀器設(shè)備啟動所述備用版本文件失敗,該方法還可以包括:所述閱讀器設(shè)備重新啟動所述主版本文件。通過該優(yōu)選實施方式,可以進一步保證閱讀器設(shè)備的正常運行,降低閱讀器設(shè)備的維護成本。
[0042]在本發(fā)明實施例的一個更加優(yōu)選的實施方式中,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識可以包括:將預(yù)先設(shè)置的所述固件的備用版本的激活標志位置位。在該優(yōu)選實施方式中,可以分別為主備版本設(shè)置版本管理標志位,該版本管理標志位包括上述的激活標志位。通過該優(yōu)選實施方式,可以方便的對固件的主版本和備用版本進行管理。
[0043]在本發(fā)明實施例的一個優(yōu)選實施方式中,基于上述實施方式,根據(jù)所述標識啟動所述備用版本文件可以包括以下步驟:
[0044]步驟1,閱讀器設(shè)備判斷所述備用版本的激活標志位是否置位,如果是,則啟動所述備用版本文件,并在啟動成功后將所述激活標志位清空;
[0045]步驟2,如果所述備用版本的激活標志位為空,則判斷主用版本是否可用,如果可用,則啟動所述主用版本文件,如果所述主用版本不可用,則啟動所述備份版本文件。
[0046]在本發(fā)明實施例的另一個優(yōu)選實施方式中,上述版本管理標志位還可以包括可用標志位,用于標識主版本在上一次上電時是否可以正常啟動,則在該優(yōu)選實施方式中,如果所述閱讀器設(shè)備啟動所述主用版本文件失敗,該方法還可以包括:所述閱讀器設(shè)備將所述主用版本的可用標志位置為不可用,并啟動所述備份版本文件。
[0047]實施例二
[0048]在本實施例中,閱讀器的固件文件分為:數(shù)字板的boot、ramdisk、操作系統(tǒng)、fpga四個部分。在版本文件制作時,按照一定的操作順序?qū)⑺膫€部分進行打包。在閱讀器設(shè)備上,由于不同的版本存放在不同的分區(qū)之中,因此,需要將打包的版本文件在設(shè)備上根據(jù)分區(qū)表逐一保存在不同分區(qū)。同時,在本實施例中,閱讀器設(shè)備存放主、備兩份版本文件,每次下載只更新備用版本的內(nèi)容,只有在下載成功之后,才修改啟動標志位,啟動備用版本,如果備用版本切換為主版本之后啟動失敗,則回滾到原來的主版本。
[0049]由于固件文件分為多個部分,因此,固件文件在編譯時,如圖3所示,根據(jù)各個部分的存放地址,將其不同部分連接起來編成一個大的固件文件。在本實施例中,為固件文件的各個部分預(yù)留存儲空間,其中,對于前幾個部分的固件文件,預(yù)留的存儲空間與該部分的固件文件的大小相一致(在實際應(yīng)用中,固件文件的大小一般比較固定,波動不是很大,因此,可以估算出存放各個部分的預(yù)留的空間)。一般情況,每個部分的固件文件都會比實際預(yù)留的存儲空間小,從而可以保證不同版本的固件文件的大小不會超出預(yù)留的存儲空間,而為最后一個部分的固件文件預(yù)留的存儲空間可以為該部分固件文件的實際大小。同時,在閱讀器設(shè)備上,如圖3所示,建立一個固件版本存儲位置關(guān)聯(lián)表,該關(guān)聯(lián)表記錄了固件的各部分固件文件的存儲地址,當(dāng)接受到版本文件數(shù)據(jù)時,由于各部分固件文件可能需要存儲在不同的分區(qū),因此,閱讀器設(shè)備可以查找該關(guān)聯(lián)表,獲取各部分固件文件對應(yīng)的存儲位置、大小,進行逐個存儲。
[0050]在本實施例中,為了保證固件下載及切換的穩(wěn)定性,閱讀器設(shè)備的固件版本分為主和備兩種,其中,主版本為啟動版本,備用版本為主板本啟動失敗或者版本下載時使用。在閱讀器設(shè)備側(cè)可以針對這兩套版本各自保存一套固件版本控制信息,如圖4所示,各個版本控制信息包括:(I)主備標志位,用于標識該版本是為主版本或備用版本;(2)激活標志位,在新的固件版本文件下載更新備用版本文件完成之后,將備用版本的激活標志位置位,則會在下次啟動時,將備用版本切換為主用版本,啟用備用版本;(3)可用標識位,用于標識主板本在上一次上電時是否正常啟動。
[0051]圖5為本實施例中,固件升級的下載流程圖,如圖5所示,在本實施例中,固件的下載流程主要包括:
[0052]步驟S501,首先PC機上的管理軟件會向閱讀器設(shè)備下載請求,閱讀器設(shè)備收到請求,開始固件下載;
[0053]步驟S502,閱讀器設(shè)備收到消息之后,根據(jù)消息中的版本信息,獲取下載固件中打包的文件個數(shù)、大小、校驗值及數(shù)量等信息;
[0054]步驟S503,閱讀器設(shè)備尋找內(nèi)部的關(guān)聯(lián)表,確定對應(yīng)下載的位置,再從PC機服務(wù)器的FTP或TFTP上下載保存文件;
[0055]該步驟根據(jù)固件文件的個數(shù)進行循環(huán)操作,直至下載完所有的固件文件。
[0056]步驟S504,版本下載完成后,對下載的版本進行CRC校驗,如果校驗錯誤,則進入步驟S506直接返回錯誤給PC服務(wù)器,結(jié)束下載過程,否則進入步驟S505 ;
[0057]步驟505,將下載的該版本的激活標志位置位;
[0058]步驟S506,束固件下載。
[0059]圖6為本實施例中,固件啟動的流程圖,如圖6所示,在本實施例中,固件啟動主要包括以下步驟:
[0060]步驟S601,設(shè)備上電,讀取版本控制信息;
[0061]步驟S602,遍歷主備版本的激活標置位,判斷是否有標志位激活,如果備用版本的標志位為激活,則執(zhí)行步驟S606,如果激活標志位都為空,則執(zhí)行步驟S603 ;
[0062]步驟S603,尋找主版本,如果找到主版本之后,則執(zhí)行步驟S604 ;如果沒有找到主版本,則執(zhí)行步驟S606 ;
[0063]步驟S604,查看主版本的可用標志位是否為真,如果為真,則執(zhí)行步驟S605 ;如果主版本的可用標志位為不可用,則執(zhí)行步驟S606 ;
[0064]步驟S605,啟動主版本,如果啟動失敗則將可用標志位設(shè)為不可用;
[0065]步驟S606,切換到備用版本,將該版本設(shè)置為主版本,原主版本設(shè)置為備用版本,如果該備用版本的激活標志位置位,則將激活標志位清空,啟動備用版本。
[0066]實施例三
[0067]根據(jù)本發(fā)明實施例,還提供了一種閱讀器設(shè)備的固件升級裝置,用于升級閱讀器設(shè)備的固件。[0068]圖7為根據(jù)本發(fā)明實施例的閱讀器設(shè)備的固件升級裝置的結(jié)構(gòu)示意圖,如圖7所示,該裝置主要包括:獲取模塊10、確定模塊20和下載模塊30。其中,獲取模塊10,用于獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件;確定模塊20,用于根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置;下載模塊30,用于將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
[0069]通過本發(fā)明實施例提供的上述裝置,在對閱讀器設(shè)備的固件進行升級時,對固件的備份版本文件進行升級,下載模塊30不覆蓋閱讀器設(shè)備當(dāng)前使用的主版本文件,從而使得即使升級中斷也不會導(dǎo)致閱讀器設(shè)備的固件無法啟動。
[0070]在本發(fā)明實施例的一個優(yōu)選實施方式中獲取模塊10可以通過以下方式獲取待下載固件的版本信息:接收指示下載所述待下載固件的請求;例如,在固件有更新時,可以由PC機上的管理軟件向閱讀器設(shè)備發(fā)送請求,指示閱讀器設(shè)備下載新的固件版本,其中,該請求中可以攜帶待下載固件的版本信息;從所述請求中獲取所述待下載固件的版本信息。例如,閱讀器設(shè)備可以讀取版本信息文件,從中獲取待下載固件中打包的文件個數(shù)、大小或校驗值等信息。通過該優(yōu)選實施方式,服務(wù)器側(cè)可以在固件有更新時,主動通知閱讀器設(shè)備進行固件更新,提高了閱讀器設(shè)備固件的實時性。
[0071]在本發(fā)明實施例的另一個優(yōu)選實施方式中,所述獲取模塊10根據(jù)所述版本信息獲取的信息還包括:校驗值。則如圖8所示,所述裝置還可以包括:校驗?zāi)K40,用于根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼(CRC)校驗;設(shè)置模塊50,用于在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。通過該優(yōu)選實施方式,可以在固件下載成功的情況下,才使用新下載的固件,進一步保證了閱讀器設(shè)備運行的穩(wěn)定性。
[0072]在本發(fā)明實施例的一個優(yōu)選實施方式中,如圖8所示,該裝置還可以包括:執(zhí)行模塊60,用于在所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。通過該優(yōu)選實施方式,使得閱讀器設(shè)備可以及時使用下載的固件,保證閱讀器設(shè)備能夠滿足用戶的需求。
[0073]在本發(fā)明實施例的又一個優(yōu)選實施方式中,如果執(zhí)行模塊60啟動所述備用版本文件失敗,則所述執(zhí)行模塊60還用于重新啟動所述主版本文件。通過該優(yōu)選實施方式,可以進一步保證閱讀器設(shè)備的正常運行,降低閱讀器設(shè)備的維護成本。
[0074]在本發(fā)明實施例的一個更加優(yōu)選的實施方式中,設(shè)置模塊50可以通過以下方式設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識:將預(yù)先設(shè)置的所述固件的備用版本的激活標志位置位。在該優(yōu)選實施方式中,可以分別為主備版本設(shè)置版本管理標志位,該版本管理標志位包括上述的激活標志位。通過該優(yōu)選實施方式,可以方便的對固件的主版本和備用版本進行管理。
[0075]在本發(fā)明實施例的一個優(yōu)選實施方式中,基于上述實施方式,執(zhí)行模塊60可以根據(jù)所述標識按照以下方式啟動所述備用版本文件:判斷所述備用版本的激活標志位是否置位,如果是,則啟動所述備用版本文件,并在啟動成功后將所述激活標志位清空;如果所述備用版本的激活標志位為空,則判斷主用版本是否可用,如果可用,則啟動所述主用版本文件,如果所述主用版本不可用,則啟動所述備份版本文件。
[0076]在本發(fā)明實施例的另一個優(yōu)選實施方式中,上述版本管理標志位還可以包括可用標志位,用于標識主版本在上一次上電時是否可以正常啟動,則在該優(yōu)選實施方式中,如果所述執(zhí)行模塊60啟動所述主用版本文件失敗,則所述執(zhí)行模塊60還用于將所述主用版本的可用標志位置為不可用,并啟動所述備份版本文件。
[0077]根據(jù)本發(fā)明實施例,還提供了一種閱讀器設(shè)備,該閱讀器設(shè)備可以包括上述各個實施方式的裝置。該閱讀器設(shè)備在對其固件進行升級時,對固件的備份版本文件進行升級,不覆蓋閱讀器設(shè)備當(dāng)前使用的主版本文件,從而使得即使升級中斷也不會導(dǎo)致閱讀器設(shè)備的固件無法啟動。
[0078]從以上的描述中,可以看出,通過本發(fā)明上述的一個或多個實施例或?qū)嵤┓绞?,使得即使升級中斷也不會?dǎo)致閱讀器設(shè)備的固件無法啟動。從而提高了固件升級的穩(wěn)定性和便捷性,降低了閱讀器設(shè)備的維護成本。
[0079]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0080]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種閱讀器設(shè)備的固件升級方法,其特征在于,包括: 閱讀器設(shè)備獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件; 所述閱讀器設(shè)備根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置; 所述閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,閱讀器設(shè)備獲取待下載固件的版本信息,包括: 所述閱讀器設(shè)備接收指示下載所述待下載固件的請求; 所述閱讀器設(shè)備從所述請求中獲取所述待下載固件的版本信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述閱讀器設(shè)備根據(jù)所述版本信息獲取的信息還包括:校驗值;在所述閱讀器設(shè)備將所述各個文件下載保存到對應(yīng)的存儲位置之后,包括: 所述閱讀器設(shè)備根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼CRC校驗,在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述閱讀器設(shè)備將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件之后,所述方法還包括:` 所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,如果所述閱讀器設(shè)備啟動所述備用版本文件失敗,所述方法還包括: 所述閱讀器設(shè)備重新啟動所述主版本文件。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識,包括: 將預(yù)先設(shè)置的所述固件的備用版本的激活標志位置位。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,根據(jù)所述標識啟動所述備用版本文件,包括: 所述閱讀器設(shè)備判斷所述備用版本的激活標志位是否置位,如果是,則啟動所述備用版本文件,并在啟動成功后將所述激活標志位清空; 如果所述備用版本的激活標志位為空,則判斷主用版本是否可用,如果可用,則啟動所述主用版本文件,如果所述主用版本不可用,則啟動所述備份版本文件。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,如果所述閱讀器設(shè)備啟動所述主用版本文件失敗,所述方法還包括: 所述閱讀器設(shè)備將所述主用版本的可用標志位置為不可用,并啟動所述備份版本文件。
9.一種閱讀器設(shè)備的固件升級裝置,用于升級閱讀器設(shè)備的固件,其特征在于,包括: 獲取模塊,用于獲取待下載固件的版本信息,根據(jù)所述版本信息獲取所述待下載固件包含的版本文件數(shù)量,其中,所述閱讀器設(shè)備當(dāng)前使用固件的主用版本文件; 確定模塊,用于根據(jù)預(yù)先設(shè)置的固件的備用版本文件與存儲位置的對應(yīng)關(guān)系,確定所述待下載固件包含的各個版本文件的存儲位置; 下載模塊,用于將所述各個版本文件下載保存到對應(yīng)的存儲位置,更新所述備用版本文件。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲取模塊根據(jù)所述版本信息獲取的信息還包括:校驗值;所述裝置還包括: 校驗?zāi)K,用于根據(jù)所述校驗值,對下載的所述各個版本文件進行循環(huán)冗余碼CRC校驗; 設(shè)置模塊,用于在校驗通過的情況下,設(shè)置指示所述閱讀器設(shè)備在下次啟動時啟用更新后的所述備用版本文件的標識。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 執(zhí)行模塊,用于在所述閱讀器設(shè)備退出使用后再次上電,根據(jù)所述標識啟動所述備用版本文件,并將所述備用版本文件設(shè)置為主版本,將所述主用版本文件設(shè)置為備用版本。
12.—種閱讀器設(shè)備,其特征在 于,包括權(quán)利要求9至11中任一項所述的裝置。
【文檔編號】G06F9/445GK103488492SQ201210195934
【公開日】2014年1月1日 申請日期:2012年6月14日 優(yōu)先權(quán)日:2012年6月14日
【發(fā)明者】張迪, 高峰, 劉金棟 申請人:中興通訊股份有限公司