欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對固件進(jìn)行升級的方法及裝置的制造方法

文檔序號:9375294閱讀:540來源:國知局
對固件進(jìn)行升級的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種對固件進(jìn)行升級的方法及裝置。
【背景技術(shù)】
[0002]固件為寫入EROM(Eraseable Read Only Memory,可擦寫只讀存儲器)或EEPROM(Ele4tri4alIy Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)中的程序,通俗來講,固件也就是具有軟件功能的硬件。固件在電子設(shè)備的嵌入式分布系統(tǒng)中承擔(dān)著最基礎(chǔ)、最底層的工作,通過對電子設(shè)備中的固件進(jìn)行升級,可完善電子設(shè)備的功能、增強(qiáng)電子設(shè)備的穩(wěn)定性、修補(bǔ)電子設(shè)備的漏洞。
[0003]目前,為了實(shí)現(xiàn)對固件的升級,常將電子設(shè)備的閃存(Flash)分為兩個(gè)分區(qū)。其中一個(gè)分區(qū)用于寫入Bootloader程序(Bootloader程序?yàn)橐环N引導(dǎo)啟動程序,在系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行),另一個(gè)分區(qū)用于寫入固件。電子設(shè)備啟動后,先運(yùn)行一個(gè)分區(qū)中的Bootloader程序,如果Bootloader程序中的升級標(biāo)識位上的標(biāo)識為非升級標(biāo)識,則跳轉(zhuǎn)到另一分區(qū)并運(yùn)行另一分區(qū)中的固件;如果Bootloader程序中的升級標(biāo)識位上的標(biāo)識為升級標(biāo)識,則刪除另一分區(qū)中的固件,并將升級后的固件寫入到另一分區(qū),進(jìn)而將Bootloader程序中的升級標(biāo)識位上的標(biāo)識重置為非升級標(biāo)識,之后,重新啟動電子設(shè)備,運(yùn)行升級后的固件以完成對固件的升級。

【發(fā)明內(nèi)容】

[0004]為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種對固件進(jìn)行升級的方法及裝置。
[0005]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種對固件進(jìn)行升級的方法,所述方法包括:
[0006]在運(yùn)行閃存的第二分區(qū)中固件的當(dāng)前版本過程中,當(dāng)檢測到內(nèi)存中存儲有當(dāng)前版本的升級版本時(shí),將所述升級版本備份到所述閃存的第三分區(qū),所述第三分區(qū)中存儲有所述固件的不同版本;
[0007]將所述閃存的第四分區(qū)中指定標(biāo)識位設(shè)置為升級狀態(tài);
[0008]重新啟動電子設(shè)備,運(yùn)行所述閃存的第一分區(qū);
[0009]當(dāng)檢測到所述第四分區(qū)中所述指定標(biāo)識位為升級狀態(tài)時(shí),將所述升級版本寫入所述第二分區(qū);
[0010]運(yùn)行所述第二分區(qū)中的所述升級版本。
[0011]可選地,所述將所述升級版本備份到所述閃存的第三分區(qū)之前,還包括:
[0012]啟動所述電子設(shè)備;
[0013]檢測所述第四分區(qū)中所述指定標(biāo)識位是否為升級狀態(tài);
[0014]當(dāng)檢測到所述第四分區(qū)中所述指定標(biāo)識為非升級狀態(tài)時(shí),進(jìn)行開機(jī)自檢。
[0015]可選地,所述進(jìn)行開機(jī)自檢,包括:
[0016]對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行校驗(yàn);
[0017]如果對所述第二分區(qū)中的所述當(dāng)前版本校驗(yàn)成功,則運(yùn)行所述第二分區(qū)中的所述當(dāng)前版本;
[0018]如果對所述第二分區(qū)中的所述當(dāng)前版本校驗(yàn)失敗,則對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行修復(fù)。
[0019]可選地,所述對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行修復(fù)之前,還包括:
[0020]將所述當(dāng)前版本從所述第二分區(qū)中刪除;
[0021]所述對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行修復(fù),包括:
[0022]從所述第三區(qū)中獲取所述固件上一次升級時(shí)的升級版本;
[0023]將所述固件上一次升級時(shí)的升級版本解壓縮到所述第二分區(qū),得到解壓縮數(shù)據(jù);
[0024]對所述解壓縮數(shù)據(jù)進(jìn)行校驗(yàn);
[0025]當(dāng)對所述解壓縮數(shù)據(jù)校驗(yàn)成功時(shí),運(yùn)行所述解壓縮數(shù)據(jù)。
[0026]可選地,所述將所述升級版本備份到所述閃存的第三分區(qū),包括:
[0027]從所述內(nèi)存中獲取所述升級版本;
[0028]將所述升級版本寫入RAM(Random-Access Memory,隨機(jī)存取存儲器);
[0029]對所述RAM中的所述升級版本進(jìn)行校驗(yàn);
[0030]當(dāng)對所述RAM中的所述升級版本校驗(yàn)成功時(shí),將所述RAM中的所述升級版本寫入到所述閃存的第三分區(qū)。
[0031]可選地,所述將所述升級版本寫入所述第二分區(qū)之前,還包括:
[0032]將所述當(dāng)前版本從所述第二分區(qū)中刪除;
[0033]所述將所述升級版本寫入所述第二分區(qū),包括:
[0034]將所述RAM中的升級版本解壓縮到所述第二分區(qū)。
[0035]可選地,所述運(yùn)行所述第二分區(qū)中的所述升級版本之前,還包括:
[0036]對所述第二分區(qū)中的所述升級版本進(jìn)行校驗(yàn);
[0037]當(dāng)對所述第二分區(qū)中的所述升級版本校驗(yàn)成功后,執(zhí)行運(yùn)行所述第二分區(qū)中的所述升級版本的步驟。
[0038]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種對固件進(jìn)行升級的裝置,所述裝置包括:
[0039]備份模塊,用于在運(yùn)行閃存的第二分區(qū)中固件的當(dāng)前版本過程中,當(dāng)檢測到內(nèi)存中存儲有當(dāng)前版本的升級版本時(shí),將所述升級版本備份到所述閃存的第三分區(qū),所述第三分區(qū)中存儲有所述固件的不同版本;
[0040]設(shè)置模塊,用于將所述閃存的第四分區(qū)中指定標(biāo)識位設(shè)置為升級狀態(tài);
[0041]第一啟動模塊,用于重新啟動電子設(shè)備,運(yùn)行所述閃存的第一分區(qū);
[0042]寫入模塊,用于當(dāng)檢測到所述第四分區(qū)中所述指定標(biāo)識位為升級狀態(tài)時(shí),將所述升級版本寫入所述第二分區(qū);
[0043]運(yùn)行模塊,用于運(yùn)行所述第二分區(qū)中的所述升級版本。
[0044]可選地,所述裝置還包括:
[0045]第二啟動模塊,用于啟動所述電子設(shè)備;
[0046]檢測模塊,用于檢測所述第四分區(qū)中所述指定標(biāo)識位是否為升級狀態(tài);
[0047]自檢模塊,用于當(dāng)檢測到所述第四分區(qū)中所述指定標(biāo)識為非升級狀態(tài)時(shí),進(jìn)行開機(jī)自檢。
[0048]可選地,所述自檢模塊,用于對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行校驗(yàn);當(dāng)對所述第二分區(qū)中的所述當(dāng)前版本校驗(yàn)成功時(shí),運(yùn)行所述第二分區(qū)中的所述當(dāng)前版本;當(dāng)對所述第二分區(qū)中的所述當(dāng)前版本校驗(yàn)失敗時(shí),對所述第二分區(qū)中的所述當(dāng)前版本進(jìn)行修復(fù)。
[0049]可選地,所述裝置還包括:
[0050]刪除模塊,用于將所述當(dāng)前版本從所述第二分區(qū)中刪除;
[0051]所述自檢模塊,具體用于從所述第三區(qū)中獲取所述固件上一次升級時(shí)的升級版本;將所述固件上一次升級時(shí)的升級版本解壓縮到所述第二分區(qū),得到解壓縮數(shù)據(jù);對所述解壓縮數(shù)據(jù)進(jìn)行校驗(yàn);當(dāng)對所述解壓縮數(shù)據(jù)校驗(yàn)成功時(shí),運(yùn)行所述解壓縮數(shù)據(jù)。
[0052]可選地,所述備份模塊,用于從所述內(nèi)存中獲取所述升級版本;將所述升級版本寫入RAM中;對所述RAM中的所述升級版本進(jìn)行校驗(yàn);當(dāng)對所述RAM中的所述升級版本校驗(yàn)成功時(shí),將所述RAM中的所述升級版本寫入到所述第三分區(qū)。
[0053]可選地,所述裝置還包括:
[0054]所述刪除模塊,用于將所述當(dāng)前版本從所述第二分區(qū)中刪除;
[0055]所述寫入模塊,用于將所述RAM中的升級版本解壓縮到所述第二分區(qū)。
[0056]可選地,所述裝置還包括:
[0057]校驗(yàn)?zāi)K,用于對所述第一分區(qū)中的所述升級版本進(jìn)行校驗(yàn);
[0058]所述運(yùn)行模塊,用于當(dāng)所述校驗(yàn)?zāi)K對所述第二分區(qū)中的所述升級版本校驗(yàn)成功后,執(zhí)行運(yùn)行所述第二分區(qū)中的所述升級版本的步驟。
[0059]根據(jù)本發(fā)明實(shí)施例的第三方面,提供一種對固件進(jìn)行升級的裝置,所述裝置包括:
[0060]處理器;
[0061]用于存儲處理器可執(zhí)行的指令的存儲器;
[0062]其中,所述處理器被配置為:
[0063]在運(yùn)行閃存的第二分區(qū)中固件的當(dāng)前版本過程中,當(dāng)檢測到內(nèi)存中存儲有當(dāng)前版本的升級版本時(shí),將所述升級版本備份到所述閃存的第三分區(qū),所述第三分區(qū)中存儲有所述固件的不同版本;
[0064]將所述閃存的第四分區(qū)中指定標(biāo)識位設(shè)置為升級狀態(tài);
[0065]重新啟動電子設(shè)備,運(yùn)行所述閃存的第一分區(qū);
[0066]當(dāng)檢測到所述第四分區(qū)中所述指定標(biāo)識位為升級狀態(tài)時(shí),將所述升級版本寫入所述第二分區(qū);
[0067]運(yùn)行所述第二分區(qū)中的所述升級版本。
[0068]本發(fā)明的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0069]將固件的升級版本在閃存的第三分區(qū)進(jìn)行備份,使得升級版本運(yùn)行失敗后,能夠從第三分區(qū)中獲取到備份的固件,從而避免了電子設(shè)備因固件升級失敗不能正常運(yùn)行,提高了升級的可靠性。
[0070]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
太仓市| 揭东县| 逊克县| 托克逊县| 梧州市| 明星| 团风县| 锡林郭勒盟| 天台县| 九寨沟县| 藁城市| 公安县| 太白县| 阿坝| 武清区| 徐水县| 南昌县| 镶黄旗| 龙门县| 铁岭市| 恩平市| 玉环县| 会昌县| 陕西省| 台北市| 阿尔山市| 芦山县| 成安县| 临邑县| 岑溪市| 怀集县| 江阴市| 太和县| 宁阳县| 海宁市| 黄龙县| 伊宁县| 昔阳县| 吴川市| 阜城县| 盐源县|