[發(fā)明專利]鏡像式嵌入式程序固件升級(jí)方法在審
| 申請(qǐng)?zhí)枺?/td> | 201911150250.2 | 申請(qǐng)日: | 2019-11-21 |
| 公開(公告)號(hào): | CN111258600A | 公開(公告)日: | 2020-06-09 |
| 發(fā)明(設(shè)計(jì))人: | 鄭海鋒;陳建鋒;張亮;錢紅斌;余其奇;牛延謀 | 申請(qǐng)(專利權(quán))人: | 華立科技股份有限公司 |
| 主分類號(hào): | G06F8/65 | 分類號(hào): | G06F8/65;G06F8/654 |
| 代理公司: | 杭州杭誠專利事務(wù)所有限公司 33109 | 代理人: | 尉偉敏 |
| 地址: | 310023 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 鏡像式 嵌入式 程序 升級(jí) 方法 | ||
本發(fā)明公開了一種鏡像式嵌入式程序固件升級(jí)方法,包括如下步驟:將單片機(jī)FALSH虛擬內(nèi)存劃分為片區(qū)A和片區(qū)B;通過帶電可擦可編程只讀存儲(chǔ)器EEprom讀取片區(qū)標(biāo)志,如果片區(qū)標(biāo)志為0xAA,則跳轉(zhuǎn)到片區(qū)A,運(yùn)行片區(qū)A的程序;如果片區(qū)標(biāo)志為0x55,則跳轉(zhuǎn)到片區(qū)B,運(yùn)行片區(qū)B的程序;單片機(jī)檢測(cè)是否需要固件升級(jí),當(dāng)需要進(jìn)行固件升級(jí)時(shí),保存固件包數(shù)據(jù),進(jìn)行固件升級(jí)。本發(fā)明具有如下有益效果:減少了Dataflash芯片以及外圍電路,降低了成本;啟動(dòng)代碼簡(jiǎn)單,驅(qū)動(dòng)簡(jiǎn)單,升級(jí)成功之后,不需要再去讀取Dataflash數(shù)據(jù);程序設(shè)計(jì)簡(jiǎn)單,框架邏輯清楚;確保升級(jí)成功;升級(jí)過程中不影響正常使用。
技術(shù)領(lǐng)域
本發(fā)明涉及電表估計(jì)升級(jí)技術(shù)領(lǐng)域,尤其是涉及一種能夠降低成本,確保升級(jí)成功,程序簡(jiǎn)單的鏡像式嵌入式程序固件升級(jí)方法。
背景技術(shù)
現(xiàn)在客戶對(duì)電能表的要求是都需要支持固件升級(jí)功能。目前,如果需要固件升級(jí),第一種方式:通過GPRS把需要升級(jí)的固件包下發(fā)給電能表,電能表固件包保存到DataFlash,等待數(shù)據(jù)接受完成之后再升級(jí)程序;第二種方式:通過GPRS或者串口發(fā)送命令進(jìn)入升級(jí)功能,然后一邊發(fā)送升級(jí)包,一邊更新固件。
第一種方式存在如下問題:1、成本高,操作復(fù)雜,需要增加一個(gè)Dataflash芯片,還需要對(duì)芯片進(jìn)行讀寫,容易出現(xiàn)讀寫失敗;2、加單片機(jī)管腳,增加PCB空間;3、增加外圍電路,生產(chǎn)焊接復(fù)雜;第二種方式存在如下問題:1、升級(jí)容易失敗,出現(xiàn)死機(jī),比如,中途GPRS網(wǎng)絡(luò)不好;2、升級(jí)過程中電能表不能正常工作,固件升級(jí)時(shí)間偏長,影響正常使用。
發(fā)明內(nèi)容
本發(fā)明為了克服現(xiàn)有技術(shù)中存在的生產(chǎn)成本高,固件升級(jí)容易失敗的不足,提供了一種能夠降低成本,確保升級(jí)成功,程序簡(jiǎn)單的鏡像式嵌入式程序固件升級(jí)方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用了以下技術(shù)方案:
一種鏡像式嵌入式程序固件升級(jí)方法,包括如下步驟:
(1-1)將單片機(jī)FALSH虛擬內(nèi)存劃分為片區(qū)A和片區(qū)B;
(1-2)通過帶電可擦可編程只讀存儲(chǔ)器EEprom讀取片區(qū)標(biāo)志,如果片區(qū)標(biāo)志為0xAA,則跳轉(zhuǎn)到片區(qū)A,運(yùn)行片區(qū)A的程序,轉(zhuǎn)入步驟(1-3);如果片區(qū)標(biāo)志為0x55,則跳轉(zhuǎn)到片區(qū)B,運(yùn)行片區(qū)B的程序,轉(zhuǎn)入步驟(1-3);
(1-3)單片機(jī)檢測(cè)是否需要固件升級(jí),當(dāng)需要進(jìn)行固件升級(jí)時(shí),保存固件包數(shù)據(jù),進(jìn)行固件升級(jí);
(1-4)固件升級(jí)完成后關(guān)閉看門狗,等待復(fù)位。
本發(fā)明通過單片機(jī)上電讀取片區(qū)標(biāo)志,如果單片機(jī)運(yùn)行在片區(qū)A,直接跳轉(zhuǎn)片區(qū)A,查看是否需要進(jìn)行固件升級(jí),如果單片機(jī)運(yùn)行在片區(qū)B,直接跳轉(zhuǎn)片區(qū)B,查看是否需要進(jìn)行固件升級(jí);程序設(shè)計(jì)簡(jiǎn)單,啟動(dòng)運(yùn)行容易,升級(jí)成功率高,且不影響電能表的正常使用。
作為優(yōu)選,當(dāng)片區(qū)A需要進(jìn)行固件升級(jí)時(shí),固件升級(jí)的具體方法如下:
(2-1)系統(tǒng)先加載固件升級(jí)包,計(jì)算出固件升級(jí)包的大小M;
(2-2)通過通訊協(xié)議對(duì)比電能表的版本信息,如果電能表的版本信息正確,轉(zhuǎn)入步驟(2-3);如果電能表的版本信息不正確,終止升級(jí);
(2-3)以N個(gè)字節(jié)為一幀數(shù)據(jù)對(duì)固件升級(jí)包進(jìn)行計(jì)算,得到幀數(shù)據(jù);
(2-4)發(fā)送每一幀數(shù)據(jù),并計(jì)算每一幀數(shù)據(jù)的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值,將電能表的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值與計(jì)算得到的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值進(jìn)行比較,如果電能表的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值與計(jì)算得到的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值相同,將固件升級(jí)包數(shù)據(jù)保存到片區(qū)B,轉(zhuǎn)入步驟(2-5);如果電能表的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值與計(jì)算得到的循環(huán)冗余校驗(yàn)CRC32校驗(yàn)值不相同,終止升級(jí);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華立科技股份有限公司,未經(jīng)華立科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911150250.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 分布式數(shù)據(jù)鏡像方法及存儲(chǔ)數(shù)據(jù)節(jié)點(diǎn)
- 基于qcow2格式的虛擬機(jī)鏡像克隆方法及系統(tǒng)
- 一種數(shù)據(jù)處理方法及服務(wù)器
- 一種系統(tǒng)鏡像制備方法及系統(tǒng)
- 一種基于存儲(chǔ)資源再分配的嵌入式設(shè)備軟件在線升級(jí)方法
- 嵌入式設(shè)備啟動(dòng)的方法、應(yīng)用程序鏡像處理的方法及裝置
- 構(gòu)建docker鏡像的方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 物理機(jī)共享容器鏡像的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種分布式容器鏡像存儲(chǔ)與分發(fā)系統(tǒng)與方法
- 遠(yuǎn)程推送方法、系統(tǒng)、服務(wù)器、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 一種機(jī)頂盒Loader模塊升級(jí)方法及其機(jī)頂盒
- 產(chǎn)品升級(jí)的方法和設(shè)備
- 一種機(jī)頂盒的升級(jí)方法和裝置
- 網(wǎng)絡(luò)設(shè)備升級(jí)方法、升級(jí)服務(wù)器、終端設(shè)備及存儲(chǔ)介質(zhì)
- 無人機(jī)系統(tǒng)中的模塊升級(jí)方法及待升級(jí)模塊
- 一種基于主分結(jié)構(gòu)的應(yīng)用升級(jí)及升級(jí)版本控制方法及系統(tǒng)
- 一種升級(jí)方法及裝置
- 一種終端升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種車輛升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 設(shè)備升級(jí)方法、裝置及服務(wù)器





