[發(fā)明專利]固件升級方法及裝置有效
| 申請?zhí)枺?/td> | 202110183512.6 | 申請日: | 2021-02-08 |
| 公開(公告)號: | CN112860291B | 公開(公告)日: | 2023-05-12 |
| 發(fā)明(設(shè)計)人: | 單家明 | 申請(專利權(quán))人: | 杭州涂鴉信息技術(shù)有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/61 |
| 代理公司: | 廣東君龍律師事務(wù)所 44470 | 代理人: | 丁建春 |
| 地址: | 310000 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 升級 方法 裝置 | ||
本申請公開了一種固件升級方法及裝置。其中,該固件升級方法包括:從升級包中獲取新分區(qū)表信息;基于新分區(qū)表信息確認(rèn)目標(biāo)分區(qū)的新結(jié)束地址在目標(biāo)分區(qū)的原結(jié)束地址之后;將目標(biāo)分區(qū)的原起始地址到新結(jié)束地址之間的原固件存儲在備份分區(qū)中;將升級包中目標(biāo)分區(qū)的新固件寫入到目標(biāo)分區(qū)的新起始地址和新結(jié)束地址之間。本申請可以防止升級失敗或升級過程中突然斷電導(dǎo)致設(shè)備“變磚”。
技術(shù)領(lǐng)域
本申請涉及固件升級技術(shù)領(lǐng)域,特別是涉及一種固件升級方法及裝置。
背景技術(shù)
嵌入式設(shè)備在推向市場后,通過大量客戶的使用和反饋,往往需要對一些產(chǎn)品bug進(jìn)行修復(fù),對硬件上的bug,往往只能通過產(chǎn)品召回的方式進(jìn)行修復(fù)。對軟件上的bug,通常是通過在線OTA的方式來進(jìn)行升級修復(fù)。嵌入式linux系統(tǒng),因其自身的特點(diǎn)系統(tǒng)都是以分區(qū)的方式存儲在flash里,各個分區(qū)各自承擔(dān)不同的任務(wù),升級的時候也是以分區(qū)的形式對固件進(jìn)行局部更新,如果設(shè)備升級失敗,或者在升級過程中突然斷電,就會導(dǎo)致設(shè)備徹底變磚。
發(fā)明內(nèi)容
本申請?zhí)峁┮环N固件升級方法及裝置,可以防止升級失敗或升級過程中突然斷電導(dǎo)致設(shè)備“變磚”。
為解決上述問題,本申請?zhí)峁┮环N固件升級方法,該方法包括:
從升級包中獲取新分區(qū)表信息;
基于新分區(qū)表信息確認(rèn)目標(biāo)分區(qū)的新結(jié)束地址在目標(biāo)分區(qū)的原結(jié)束地址之后;
將目標(biāo)分區(qū)的原起始地址到新結(jié)束地址之間的原固件存儲在備份分區(qū)中;
將升級包中目標(biāo)分區(qū)的新固件寫入到目標(biāo)分區(qū)的新起始地址和新結(jié)束地址之間。
其中,基于新分區(qū)表信息確認(rèn)目標(biāo)分區(qū)的新結(jié)束地址在目標(biāo)分區(qū)的原結(jié)束地址之后,包括:
基于新分區(qū)表信息確認(rèn)新起始地址在原起始地址和原結(jié)束地址之間;
將新起始地址和新結(jié)束地址之間的原固件存儲在備份分區(qū)中,并和備份分區(qū)中目標(biāo)分區(qū)的原起始位置和新起始位置之間的原固件組成完整備份文件。
其中,將新起始地址和新結(jié)束地址之間的原固件存儲在備份分區(qū)中,并和備份分區(qū)中原起始位置和新起始位置之間的原固件組成完整備份文件,包括:
將備份分區(qū)中目標(biāo)分區(qū)的原起始位置和新起始位置之間的原固件移到備份分區(qū)的起始位置;
將目標(biāo)分區(qū)中新起始地址之后的原固件存儲在目標(biāo)分區(qū)的原起始位置和新起始位置之間的原固件后,以組成目標(biāo)分區(qū)的完整備份文件。
其中,將目標(biāo)分區(qū)的原起始地址到新結(jié)束地址之間的原固件存儲在備份分區(qū)中,之后包括:
設(shè)置升級分區(qū)開始標(biāo)志;
將升級包中目標(biāo)分區(qū)的新固件寫入到目標(biāo)分區(qū)的新起始地址和新結(jié)束地址之間,之后包括:
若寫入成功,替換目標(biāo)分區(qū)的分區(qū)信息,寫結(jié)束分區(qū)標(biāo)志位。
其中,將升級包中目標(biāo)分區(qū)的新固件寫入到目標(biāo)分區(qū)的新起始地址和新結(jié)束地址之間,之后包括:
若寫入失敗,基于升級狀態(tài)標(biāo)識確認(rèn)寫入失敗的分區(qū),將備份分區(qū)內(nèi)原起始地址到新結(jié)束地址之間的原固件作為系統(tǒng)啟動子固件啟動系統(tǒng)。
其中,升級包包含每一分區(qū)的升級信息,從升級包中獲取新分區(qū)表信息,之后包括:
基于升級信息確認(rèn)目標(biāo)分區(qū)的位置是否發(fā)生改變;
若發(fā)生改變,基于目標(biāo)分區(qū)位置改變情況,采用相應(yīng)的方法將原固件存儲在備份分區(qū)中。
其中,從升級包中獲取新分區(qū)表信息,之前包括:
下載升級包,并校驗(yàn)升級包的完整性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州涂鴉信息技術(shù)有限公司,未經(jīng)杭州涂鴉信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110183512.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





