的另一個實施例中,該裝置還包括:刪除模塊。
[0160]該刪除模塊被配置為將當前版本從第二分區(qū)中刪除;
[0161]該自檢模塊被配置為從第三區(qū)中獲取固件上一次升級時的升級版本;將固件上一次升級時的升級版本解壓縮到第二分區(qū),得到解壓縮數(shù)據(jù);對解壓縮數(shù)據(jù)進行校驗;當對解壓縮數(shù)據(jù)校驗成功時,運行解壓縮數(shù)據(jù)。
[0162]在本發(fā)明的另一個實施例中,該備份模塊被配置為從內(nèi)存中獲取升級版本;將升級版本寫入RAM中;對RAN中的升級版本進行校驗;當對RAM中的升級版本校驗成功時,將RAM中的升級版本寫入到閃存的第三分區(qū)。
[0163]在本發(fā)明的另一個實施例中,該刪除模塊被配置為將當前版本從第二分區(qū)中刪除;
[0164]該寫入模塊404被配置為從內(nèi)存中獲取升級版本;將升級版本解壓縮到第一分區(qū)。
[0165]在本發(fā)明的另一個實施例中,該裝置還包括:校驗模塊。
[0166]該校驗模塊被配置為對第二分區(qū)中的升級版本進行校驗;
[0167]該運行模塊被配置為當校驗模塊對第二分區(qū)中的升級版本校驗成功后,執(zhí)行運行第二分區(qū)中的升級版本的步驟。
[0168]本發(fā)明實施例提供的裝置,將固件的升級版本在閃存的第三分區(qū)進行備份,使得升級版本運行失敗后,能夠從第三分區(qū)中獲取到備份的固件,從而避免了電子設備因固件升級失敗不能正常運行,提高了升級的可靠性。
[0169]關于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
[0170]圖5是根據(jù)一示例性實施例示出的一種用于對固件進行升級的裝置500的框圖。例如,裝置500可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設備,游戲控制臺,平板設備,醫(yī)療設備,健身設備,個人數(shù)字助理等。
[0171]參照圖5,裝置500可以包括以下一個或多個組件:處理組件502,存儲器504,電源組件506,多媒體組件508,音頻組件510,輸入/輸出(I/O)接口 512,傳感器組件514,以及通信組件516。
[0172]處理組件502通??刂蒲b置500的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關聯(lián)的操作。處理組件502可以包括一個或多個處理器520來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個或多個模塊,便于處理組件502和其他組件之間的交互。例如,處理組件502可以包括多媒體模塊,以方便多媒體組件508和處理組件502之間的交互。
[0173]存儲器504被配置為存儲各種類型的數(shù)據(jù)以支持在裝置500的操作。這些數(shù)據(jù)的示例包括用于在裝置500上操作的任何應用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器504可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
[0174]電源組件506為裝置500的各種組件提供電力。電源組件506可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置500生成、管理和分配電力相關聯(lián)的組件。
[0175]多媒體組件508包括在所述裝置500和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件508包括一個前置攝像頭和/或后置攝像頭。當裝置500處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
[0176]音頻組件510被配置為輸出和/或輸入音頻信號。例如,音頻組件510包括一個麥克風(MIC),當裝置500處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器504或經(jīng)由通信組件516發(fā)送。在一些實施例中,音頻組件510還包括一個揚聲器,用于輸出音頻信號。
[0177]I/0接口 512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
[0178]傳感器組件514包括一個或多個傳感器,用于為裝置500提供各個方面的狀態(tài)評估。例如,傳感器組件514可以檢測到裝置500的打開/關閉狀態(tài),組件的相對定位,例如所述組件為裝置500的顯示器和小鍵盤,傳感器組件514還可以檢測裝置500或裝置500一個組件的位置改變,用戶與裝置500接觸的存在或不存在,裝置500方位或加速/減速和裝置500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件514還可以包括光傳感器,如CMOS或CXD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件514還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
[0179]通信組件516被配置為便于裝置500和其他設備之間有線或無線方式的通信。裝置500可以接入基于通信標準的無線網(wǎng)絡,如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件516經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關信息。在一個示例性實施例中,所述通信組件516還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UffB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
[0180]在示例性實施例中,裝置500可以被一個或多個應用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設備(DSH))、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
[0181]在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器504,上述指令可由裝置500的處理器520執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是R0M、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設備等。
[0182]本發(fā)明實施例提供的裝置,將固件的升級版本在閃存的第三分區(qū)進行備份,使得升級版本運行失敗后,能夠從第三分區(qū)中獲取到備份的固件,從而避免了電子設備因固件升級失敗不能正常運行,提高了升級的可靠性。
[0183]一種非臨時性計算機可讀存儲介質(zhì),當所述存儲介質(zhì)中的指令由移動終端的處理器執(zhí)行時,使得移動終端能夠執(zhí)行一種對固件進行升級的方法,所述方法包括:
[0184]在運行閃存的第二分區(qū)中固件的當前版本過程中,當檢測到內(nèi)存中存儲有當前版本的升級版本時,將升級版本備份到閃存的第三分區(qū),第三分區(qū)中存儲有固件的不同版本;
[0185]將閃存的第四分區(qū)中指定標識位設置為升級狀態(tài);
[0186]重新啟動電子設備,運行閃存的第一分區(qū);
[0187]當檢測到第四分區(qū)中指定標識位為升級狀態(tài)時,將升級版本寫入第二分區(qū);
[0188]運行第二分區(qū)中的升級版本。
[0189]在本發(fā)明的另一個實施例中,將升級版本備份到閃存的第三分區(qū)之前,還包括:
[0190]啟動電子設備;
[0191]檢測第四分區(qū)中指定標識位是否為升級狀態(tài);
[0192]當檢測到第四分區(qū)中指定標識為非升級狀態(tài)時,進行開機自檢。
[0193]在本發(fā)明的另一個實施例中,進行開機自檢,包括:
[0194]對第二分區(qū)中的當前版本進行校驗;
[0195]如果對第二分區(qū)中的當前版本校驗成功,則運行第二分區(qū)中的當前版本;
[0196]如果對第二分區(qū)中的當前版本校驗失敗,則對第二分區(qū)中的當前版本進行修復。
[0197]在本發(fā)明的另一個實施例中,對第二分區(qū)中的當前版本進行修復之前,還包括:
[0198]將當前版本從第二分區(qū)中刪除;
[0199]對第二分區(qū)中的當前版本進行修復,包括:
[0200]從第三區(qū)中獲取固件上一次升級時的升級版本;
[0201]將固件上一次升