[發(fā)明專利]一種固件升級的方法及裝置、可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 201911189104.0 | 申請日: | 2019-11-27 |
| 公開(公告)號: | CN110928570A | 公開(公告)日: | 2020-03-27 |
| 發(fā)明(設(shè)計)人: | 陳金戰(zhàn) | 申請(專利權(quán))人: | 北京知道創(chuàng)宇信息技術(shù)股份有限公司 |
| 主分類號: | G06F8/658 | 分類號: | G06F8/658 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 張磊 |
| 地址: | 100000 北京市朝陽區(qū)阜*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 升級 方法 裝置 可讀 存儲 介質(zhì) | ||
本申請?zhí)峁┮环N固件升級的方法及裝置、可讀存儲介質(zhì)。該方法包括獲取當(dāng)前版本固件的待應(yīng)用補(bǔ)丁的補(bǔ)丁文件;所述補(bǔ)丁文件中包括補(bǔ)丁代碼、補(bǔ)丁空間地址、補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址;將所述補(bǔ)丁代碼寫入到所述補(bǔ)丁空間地址中;所述補(bǔ)丁空間地址對應(yīng)的補(bǔ)丁空間為預(yù)先擦除的空間;將所述補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址修改為所述補(bǔ)丁空間地址;所述補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址對應(yīng)的跳轉(zhuǎn)表空間均為預(yù)先擦除的空間。該方法提高了固件升級的穩(wěn)定性和安全性。
技術(shù)領(lǐng)域
本申請涉及物聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體而言,涉及一種固件升級的方法及裝置、可讀存儲介質(zhì)。
背景技術(shù)
在物聯(lián)網(wǎng)嵌入式產(chǎn)品在進(jìn)行固件升級時,需要先下載固件保存到內(nèi)存(或到保留存儲空間中),然后將原來存儲空間擦除后寫入新的固件。
在物聯(lián)網(wǎng)領(lǐng)域中,大多數(shù)嵌入式產(chǎn)品都是使用flash來存儲程序,當(dāng)設(shè)備固件升級時,需要重新將flash按照扇區(qū)(或整塊)擦除后才能夠重新寫入。由于需要在升級過程中進(jìn)行擦除,在固件升級后,需要重新啟動,都比較浪費(fèi)時間,而且重啟會導(dǎo)致業(yè)務(wù)中斷。另外,在升級過程中也不能斷電,如果出現(xiàn)斷電或者升級過程中重啟,將導(dǎo)致系統(tǒng)無法恢復(fù)正常。
因此,現(xiàn)有的固件升級的方式可能導(dǎo)致系統(tǒng)無法正常運(yùn)行或者業(yè)務(wù)中斷,穩(wěn)定性和安全性較差。
發(fā)明內(nèi)容
本申請實(shí)施例的目的在于提供一種固件升級的方法及裝置、可讀存儲介質(zhì),用以提高固件升級的穩(wěn)定性和安全性。
第一方面,本申請實(shí)施例提供一種固件升級的方法,包括:獲取當(dāng)前版本固件的待應(yīng)用補(bǔ)丁的補(bǔ)丁文件;所述補(bǔ)丁文件中包括補(bǔ)丁代碼、補(bǔ)丁空間地址、補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址;將所述補(bǔ)丁代碼寫入到所述補(bǔ)丁空間地址中;所述補(bǔ)丁空間地址對應(yīng)的補(bǔ)丁空間為預(yù)先擦除的空間;將所述補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址修改為所述補(bǔ)丁空間地址;所述補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址對應(yīng)的跳轉(zhuǎn)表空間為預(yù)先擦除的空間。
在本申請實(shí)施例中,在應(yīng)用補(bǔ)丁時,先將補(bǔ)丁代碼寫到對應(yīng)的補(bǔ)丁空間地址中,然后再將補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址修改后的補(bǔ)丁空間地址。與現(xiàn)有技術(shù)相比,一方面,對于跳轉(zhuǎn)表空間,用于存儲跳轉(zhuǎn)表地址,當(dāng)修改跳轉(zhuǎn)表地址時,跳轉(zhuǎn)表地址對應(yīng)的空間是預(yù)先擦除的,可以直接進(jìn)行修改,不用進(jìn)行擦除,進(jìn)而也不用重啟,服務(wù)不中斷;另一方面,在寫入補(bǔ)丁代碼時,補(bǔ)丁空間也是預(yù)先擦除的空間,可以直接寫入補(bǔ)丁代碼,不用進(jìn)行擦除,進(jìn)而也不用重啟,服務(wù)也不中斷。因此,該固件升級的方法在應(yīng)用補(bǔ)丁進(jìn)行升級時,可不進(jìn)行擦除,進(jìn)而不需要進(jìn)行重啟,也不用中斷服務(wù),避免重啟引起的中斷服務(wù)導(dǎo)致的系統(tǒng)無法正常運(yùn)行的情況,提高了固件升級的安全性和穩(wěn)定性。
作為一種可能的實(shí)現(xiàn)方式,在獲取當(dāng)前版本固件的待應(yīng)用補(bǔ)丁的補(bǔ)丁文件之前,所述方法還包括:將所述當(dāng)前版本固件寫入flash存儲器的固件空間中;所述flash存儲器還包括補(bǔ)丁空間和跳轉(zhuǎn)表空間;將所述flash存儲器中的跳轉(zhuǎn)表空間和補(bǔ)丁空間全部進(jìn)行擦除。
在本申請實(shí)施例中,flash存儲器中包括固件空間、補(bǔ)丁空間和跳轉(zhuǎn)表空間,在將固件寫入固件空間中后,可以將flash存儲器中的跳轉(zhuǎn)表空間和補(bǔ)丁空間進(jìn)行擦除,進(jìn)而在對當(dāng)前版本固件進(jìn)行補(bǔ)丁升級時,可以不進(jìn)行擦除,進(jìn)而不需要進(jìn)行重啟,也不用中斷服務(wù),提高固件升級的安全性和穩(wěn)定性。
作為一種可能的實(shí)現(xiàn)方式,將所述補(bǔ)丁代碼寫入所述補(bǔ)丁空間地址中,包括:對所述補(bǔ)丁文件進(jìn)行校驗(yàn);在所述補(bǔ)丁文件校驗(yàn)通過時,將所述補(bǔ)丁代碼寫入到所述補(bǔ)丁空間地址中。
在本申請實(shí)施例中,在寫入補(bǔ)丁代碼時,先對補(bǔ)丁文件進(jìn)行校驗(yàn),校驗(yàn)通過后再將補(bǔ)丁代碼寫入到補(bǔ)丁空間中。
作為一種可能的實(shí)現(xiàn)方式,將補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址修改為所述補(bǔ)丁空間地址,包括:校驗(yàn)所述補(bǔ)丁代碼是否寫入成功;在所述補(bǔ)丁代碼寫入成功時,將補(bǔ)丁對應(yīng)的跳轉(zhuǎn)表地址修改為所述補(bǔ)丁空間地址。
在本申請實(shí)施例中,在修改跳轉(zhuǎn)表地址時,先校驗(yàn)補(bǔ)丁代碼是否寫入成功,可以提高升級的穩(wěn)定性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京知道創(chuàng)宇信息技術(shù)股份有限公司,未經(jīng)北京知道創(chuàng)宇信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911189104.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





