一種固件版本更新方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種固件版本更新方法及系統(tǒng)。所述方法包括以下步驟:A、移動終端檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息,獲取該新增固件的文件大小信息;B、將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷,若所獲取的新增固件文件大小大于當(dāng)前固件的文件大小,則執(zhí)行步驟C;C、將固件更新為所述新增固件。本發(fā)明通過設(shè)置固件版本與固件文件大小的對應(yīng)關(guān)系,進(jìn)而實(shí)現(xiàn)固件更新時只需根據(jù)固件文件大小就能標(biāo)識出固件版本,避免了因存儲版本信息造成的文件增大或者是遠(yuǎn)程無法獲取最新固件版本的問題。方便了固件的及時更新。
【專利說明】一種固件版本更新方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及固件更新技術(shù),尤其涉及一種固件版本更新方法及系統(tǒng)。
【背景技術(shù)】
[0002]移動終端經(jīng)常需要更新固件,而更新之前需要先獲取固件的版本,與正在使用的固件版本進(jìn)行比較,若固件的版本比正在使用的固件版本新則更新固件,否則不更新固件。因此,對于固件中版本信息的標(biāo)識非常重要,在現(xiàn)有的技術(shù)方案中,需要在固件中專門劃出一塊區(qū)域用于保存固件版本,這種方案使固件文件無形中增加了文件大??;另外,當(dāng)使用網(wǎng)絡(luò)等遠(yuǎn)程方式進(jìn)行固件更新時,現(xiàn)有技術(shù)方案需要先下載固件,然后從固件中獲取版本信息,而有可能下載的固件版本比正在使用的要舊,造成了一次多余的下載。
[0003]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0004]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種固件版本更新方法及系統(tǒng),旨在解決目前固件版本信息存儲增加固件文件大小以及遠(yuǎn)程固件更新出現(xiàn)的無用下載問題。
[0005]本發(fā)明的技術(shù)方案如下:
一種固件版本更新方法,其中,所述方法包括以下步驟:
A、移動終端檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息,獲取該新增固件的文件大小信息;
B、將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷,若所獲取的新增固件文件大小大于當(dāng)前固件的文件大小,則執(zhí)行步驟C ;
C、將固件更新為所述新增固件。
[0006]所述的固件版本更新方法,其特征在于,所述步驟C還包括:將所述新增固件的文件大小信息進(jìn)行保存。
[0007]所述的固件版本更新方法,其中,所述步驟A具體為:移動終端檢測存儲卡中文件的文件類型是否存在固件文件類型,若存在,則獲取該固件文件的文件大小信息。
[0008]所述的固件版本更新方法,其中,所述步驟A具體為:移動終端通過網(wǎng)絡(luò)接收到服務(wù)器發(fā)送的新增固件信息后,向服務(wù)器發(fā)送獲取該新增固件文件大小信息的命令,服務(wù)器接收該命令并按照命令獲取所述新增固件的文件大小信息,并將該新增固件的文件大小信息發(fā)送至移動終端。
[0009]所述的固件版本更新方法,其中,若所獲取的新增固件文件大小小于或等于當(dāng)前固件的文件大小,則不進(jìn)行固件更新。
[0010]所述的固件版本更新方法,其中,所述步驟A之前還包括:按照預(yù)先設(shè)置的固件版本與固件文件大小的對應(yīng)表設(shè)置所述新增固件的文件大小,在所述新增固件中添加一定大小的冗余字段使添加冗余字段后的新增固件的文件大小與該固件版本所對應(yīng)的文件大小—致。
[0011]所述的固件版本更新方法,其中,所述固件版本與固件文件大小的對應(yīng)表中,固件版本越高、固件文件越大。
[0012]所述的固件版本更新方法,其中,所述步驟C具體為:提取所述新增固件中的原始固件,將固件更新為該原始固件。
[0013]一種具有如上所述的固件版本更新方法的系統(tǒng),其中,所述系統(tǒng)包括:
固件檢測模塊,用于檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件
信息;
固件文件大小信息獲取模塊,用于獲取該新增固件的文件大小信息;
固件文件大小比較模塊,用于將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷;
固件更新模塊,用于將固件更新為所述新增固件。
[0014]所述的固件版本更新系統(tǒng),其中,所述系統(tǒng)還包括:
固件文件大小信息保存模塊,用于將所述新增固件的文件大小信息進(jìn)行保存。
[0015]有益效果:本發(fā)明提供一種固件版本更新方法及系統(tǒng),通過設(shè)置固件版本與固件文件大小的對應(yīng)關(guān)系,進(jìn)而實(shí)現(xiàn)固件更新時只需根據(jù)固件文件大小就能標(biāo)識出固件版本,避免了因存儲版本信息造成的文件增大或者是遠(yuǎn)程無法獲取最新固件版本的問題。方便了固件的及時更新。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明的固件版本更新方法流程圖。
[0017]圖2為較佳實(shí)施例中移動終端顯示固件檢測操作界面示意圖。
[0018]圖3為固件文件結(jié)構(gòu)示意圖。
[0019]圖4為本發(fā)明的固件版本更新系統(tǒng)的原理框圖。
[0020]圖5為本發(fā)明的固件更新模塊的原理框圖。
[0021]圖6為本發(fā)明的較佳實(shí)施例中固件版本更新系統(tǒng)的原理框圖。
[0022]圖7為本發(fā)明的較佳實(shí)施例的固件版本更新方法流程圖。
【具體實(shí)施方式】
[0023]本發(fā)明提供一種固件版本更新方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]如圖1所示的一種固件版本更新方法,其中,所述方法包括以下步驟:
S100、移動終端檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息,獲取該新增固件的文件大小信息。
[0025]移動終端檢測到新增固件信息一般有兩條途徑,其中之一是移動終端檢測存儲卡中文件的文件類型是否存在固件文件類型,若存在,則獲取該固件文件的文件大小信息。具體實(shí)施例中,以文件名后綴來.fw確定文件是否為固件文件,因此,當(dāng)檢測到fw文件時,則認(rèn)為該文件就是固件文件。[0026]檢測新增固件的另一條途徑是:移動終端通過網(wǎng)絡(luò)接收到服務(wù)器發(fā)送的新增固件信息后,向服務(wù)器發(fā)送獲取該新增固件文件大小信息的命令,服務(wù)器接收該命令并按照命令獲取所述新增固件的文件大小信息,并將該新增固件的文件大小信息發(fā)送至移動終端。
[0027]較佳實(shí)施例中,新增固件的檢測是通過接收用戶的指令觸發(fā)的,移動終端屏幕顯示如圖2所示的操作界面,操作界面上設(shè)置有檢測SD卡中的固件或者檢測網(wǎng)絡(luò)新增固件兩個選擇,用戶點(diǎn)選其中一個則觸發(fā)相應(yīng)的固件檢測過程,例如當(dāng)選擇“檢測SD卡中的固件”的ON選項(xiàng)時,開始檢測SD卡中的是否存在固件文件。方法如上所述。
[0028]另一較佳實(shí)施例中,移動終端周期性檢測存儲卡中的文件或服務(wù)器主動向移動終端發(fā)送新增固件信息,當(dāng)檢測到存儲卡或服務(wù)器中有相應(yīng)的新增固件信息時,向用戶顯示該新增固件信息并詢問是否進(jìn)一步對該新增固件的版本進(jìn)行判斷,即進(jìn)行步驟S200。
[0029]S200、將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷,若所獲取的新增固件文件大小大于當(dāng)前固件的文件大小,則執(zhí)行步驟S300。
[0030]移動終端將當(dāng)前(即正在使用的)固件的文件大小信息存儲在相應(yīng)存儲區(qū)域,該文件大小信息其實(shí)就是文件大小的值。移動終端將所獲取的新增固件的文件大小的值與所存儲的當(dāng)前固件的文件大小值進(jìn)行比較,如果所獲取的新增固件文件大小值小于或等于當(dāng)前固件的文件大小,則不進(jìn)行固件更新。如果相反,則執(zhí)行步驟S300。
[0031]S300、將固件更新為所述新增固件。并將所述新增固件的文件大小信息進(jìn)行保存。即將該新增固件的文件大小保存到存儲區(qū)域,也可直接替換掉更新之前的固件的文件大小。
[0032]在實(shí)施本發(fā)明的固件更新方法之前需要對個版本固件的文件大小進(jìn)行處理。按照預(yù)先設(shè)置的固件版本與固件文件大小的對應(yīng)表設(shè)置所述新增固件的文件大小,所述固件版本與固件文件大小的對應(yīng)表中,固件版本越高、固件文件越大。這樣按照該對應(yīng)表制作的固件才能通過判斷固件文件大小來識別固件版本。
[0033]固件處理的具體實(shí)施例中,根據(jù)上述的對應(yīng)表,在所述新增固件中添加一定大小的冗余字段使添加冗余字段后的新增固件的文件大小與該固件版本所對應(yīng)的文件大小一致。
[0034]目前,固件文件結(jié)構(gòu)如圖3所示I包括以下部分,原始固件,尾碼,冗余字段;原始固件為固件文件中實(shí)際有用的部分,尾碼為一定長度的碼,尾碼之前部分為原始固件,尾碼之后部分為冗余字段,冗余字段為無任何意義,只為了填充進(jìn)固件文件使該固件文件的大小為指定大小。
[0035]因此,正如前述,固件提供者按照固件版本與固件文件大小的對應(yīng)表,在原始固件之后加上尾碼再加上相應(yīng)大小的冗余字段使固件文件的大小為該固件版本對應(yīng)的文件大小即可。當(dāng)移動終端需在更新固件時,將該固件中的尾碼與冗余字段去除即為原始固件。例如,具體實(shí)施例中,尾碼為OxDEADBEAF,依次判斷固件文件的每一個字節(jié),當(dāng)識別到連續(xù)四個字節(jié)依次為OxDE、OxAD、OxBE、OxEF時,提取OxDE、OxAD、OxBE、OxEF四個字節(jié)之前為原始固件,更新固件時只更新為原始固件,而上述四個字節(jié)之后的為冗余字段,用OxFF來填充。如果固件提供者本次需要提供一個文件大小為X字節(jié)的固件,而原始固件大小為Y字節(jié),則在這Y字節(jié)的原始固件之后添加OxDEADBEAF再添加X-Y-4字節(jié)的OxFF便生成最終發(fā)布的固件。[0036]如圖4所示的一種具有如上所述的固件版本更新方法的系統(tǒng),其中,所述系統(tǒng)包括:
固件檢測模塊110,用于檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息,具體如步驟Sioo所述;
固件文件大小信息獲取模塊120,用于獲取該新增固件的文件大小信息,具體如步驟SlOO所述;
固件文件大小比較模塊130,用于將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷,具體如步驟S200所述;
固件更新模塊140,用于將固件更新為所述新增固件。由于固件更新時只更新原始固件,所以如圖5所示,所述固件更新模塊140中還進(jìn)一步設(shè)置有原始固件提取模塊用于提取固件文件中的原始固件來進(jìn)行更新,具體如步驟S300所述。
[0037]較佳實(shí)施例中,所述系統(tǒng)還包括:
固件文件大小信息保存模塊150,用于將所述新增固件的文件大小信息進(jìn)行保存。
[0038]具體實(shí)施例中,本發(fā)明的用于檢測SD卡上固件的固件版本更新系統(tǒng)如圖6所示,該系統(tǒng)包括中央處理器100、SD卡200、觸摸屏300,中央處理器100分別與SD卡200和觸摸屏300相連接。
[0039]中央處理器100包括固件檢測模塊110、固件文件大小信息獲取模塊120、固件文件大小比較模塊130、固件更新模塊140、固件文件大小信息保存模塊150 ;
通過手動觸發(fā)固件檢測模塊110啟動,例如利用如圖2所示操作界面來啟動,固件檢測模塊110將檢測SD卡中是否存在文件名后綴為.fw的固件文件,若檢測到.fw的文件,便知道該文件就是固件文件。
[0040]固件檢測模塊110將所獲取的新增固件信息發(fā)送給固件文件大小信息獲取模塊120、固件文件大小信息獲取模塊120獲取固件檢測模塊110檢測到的固件的文件大小。
[0041]固件文件大小信息獲取模塊120將所獲取的固件文件大小信息發(fā)送到固件文件大小比較模塊130,比較固件文件大小信息獲取模塊120獲取的固件文件大小與固件文件大小信息保存模塊150中保存的正在使用的固件的文件大小,若大于則通知固件更新模塊140更新固件,若小于或等于則不更新固件。
[0042]當(dāng)固件更新模塊140更新固件后會將所更新的固件的文件大小信息存儲在固件文件大小信息保存模塊150中。
[0043]如圖7是基于如圖6所示的固件版本更新系統(tǒng)的較佳方法流程圖,方法步驟如下:
51、用戶選擇固件更新功能,之后執(zhí)行步驟S2;
52、固件檢測模塊檢測SD卡中是否存在后綴為.fw的文件,如果存在則執(zhí)行步驟S3,否則執(zhí)行步驟S7 ;
53、固件文件大小信息獲取模塊獲取步驟S2中獲取的.fw文件的文件大小,之后執(zhí)行步驟S4 ;
54、固件文件大小比較模塊比較所獲取的.fw文件的文件大小與固件文件大小信息保存模塊中保存的正在使用的固件的文件大小,如果大于則執(zhí)行步驟S5,否則執(zhí)行步驟S7 ;
55、原始固件提取模塊提取固件文件中的原始固件,并由固件更新模塊將觸摸屏更新為該原始固件,之后執(zhí)行步驟S6 ;
56、將該固件文件的文件大小寫入固件文件大小信息保存模塊中;
57、固件未更新。
[0044]本發(fā)明提供一種固件版本更新方法及系統(tǒng),通過設(shè)置固件版本與固件文件大小的對應(yīng)關(guān)系,進(jìn)而實(shí)現(xiàn)固件更新時只需根據(jù)固件文件大小就能標(biāo)識出固件版本,避免了因存儲版本信息造成的文件增大或者是遠(yuǎn)程無法獲取最新固件版本的問題。方便了固件的及時更新。
[0045]應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種固件版本更新方法,其特征在于,所述方法包括以下步驟: A、移動終端檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息,獲取該新增固件的文件大小信息; B、將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷,若所獲取的新增固件文件大小大于當(dāng)前固件的文件大小,則執(zhí)行步驟C ; C、將固件更新為所述新增固件。
2.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,所述步驟C還包括:將所述新增固件的文件大小信息進(jìn)行保存。
3.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,所述步驟A具體為:移動終端檢測存儲卡中文件的文件類型是否存在固件文件類型,若存在,則獲取該固件文件的文件大小信息。
4.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,所述步驟A具體為:移動終端通過網(wǎng)絡(luò)接收到服務(wù)器發(fā)送的新增固件信息后,向服務(wù)器發(fā)送獲取該新增固件文件大小信息的命令,服務(wù)器接收該命令并按照命令獲取所述新增固件的文件大小信息,并將該新增固件的文件大小信息發(fā)送至移動終端。
5.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,若所獲取的新增固件文件大小小于或等于當(dāng)前固件的文件大小,則不進(jìn)行固件更新。
6.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,所述步驟A之前還包括:按照預(yù)先設(shè)置的固件版本與固件文件大小的對應(yīng)表設(shè)置所述新增固件的文件大小,在所述新增固件中添加一定大小的冗余字段使添加冗余字段后的新增固件的文件大小與該固件版本所對應(yīng)的文件大小一致。
7.根據(jù)權(quán)利要求6所述的固件版本更新方法,其特征在于,所述固件版本與固件文件大小的對應(yīng)表中,固件版本越高、固件文件越大。
8.根據(jù)權(quán)利要求1所述的固件版本更新方法,其特征在于,所述步驟C具體為:提取所述新增固件中的原始固件,將固件更新為該原始固件。
9.一種采用權(quán)利要求1-8任一項(xiàng)所述的固件版本更新方法的系統(tǒng),其特征在于,所述系統(tǒng)包括: 固件檢測模塊,用于檢測到存儲卡中有新增固件或通過網(wǎng)絡(luò)檢測到服務(wù)器上新增固件信息; 固件文件大小信息獲取模塊,用于獲取該新增固件的文件大小信息; 固件文件大小比較模塊,用于將所獲取的新增固件文件大小信息與預(yù)先存儲的當(dāng)前固件的文件大小信息進(jìn)行比較判斷; 固件更新模塊,用于將固件更新為所述新增固件。
10.根據(jù)權(quán)利要求9所述的固件版本更新系統(tǒng),其特征在于,所述系統(tǒng)還包括: 固件文件大小信息保存模塊,用于將所述新增固件的文件大小信息進(jìn)行保存。
【文檔編號】G06F17/30GK103617246SQ201310619668
【公開日】2014年3月5日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】俞斌 申請人:Tcl通訊(寧波)有限公司