[發明專利]一種固件升級的方法及裝置、可讀存儲介質在審
| 申請號: | 201911189104.0 | 申請日: | 2019-11-27 |
| 公開(公告)號: | CN110928570A | 公開(公告)日: | 2020-03-27 |
| 發明(設計)人: | 陳金戰 | 申請(專利權)人: | 北京知道創宇信息技術股份有限公司 |
| 主分類號: | G06F8/658 | 分類號: | G06F8/658 |
| 代理公司: | 北京超凡宏宇專利代理事務所(特殊普通合伙) 11463 | 代理人: | 張磊 |
| 地址: | 100000 北京市朝陽區阜*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 升級 方法 裝置 可讀 存儲 介質 | ||
1.一種固件升級的方法,其特征在于,包括:
獲取當前版本固件的待應用補丁的補丁文件;所述補丁文件中包括補丁代碼、補丁空間地址、補丁對應的跳轉表地址;
將所述補丁代碼寫入到所述補丁空間地址中;所述補丁空間地址對應的補丁空間為預先擦除的空間;
將所述補丁對應的跳轉表地址修改為所述補丁空間地址;所述補丁對應的跳轉表地址對應的跳轉表空間為預先擦除的空間。
2.根據權利要求1所述的方法,其特征在于,在獲取當前版本固件的待應用補丁的補丁文件之前,所述方法還包括:
將所述當前版本固件寫入flash存儲器的固件空間中;所述flash存儲器還包括補丁空間和跳轉表空間;
將所述flash存儲器中的跳轉表空間和補丁空間全部進行擦除。
3.根據權利要求1所述的方法,其特征在于,將所述補丁代碼寫入所述補丁空間地址中,包括:
對所述補丁文件進行校驗;
在所述補丁文件校驗通過時,將所述補丁代碼寫入到所述補丁空間地址中。
4.根據權利要求3所述的方法,其特征在于,將補丁對應的跳轉表地址修改為所述補丁空間地址,包括:
校驗所述補丁代碼是否寫入成功;
在所述補丁代碼寫入成功時,將補丁對應的跳轉表地址修改為所述補丁空間地址。
5.一種固件升級的方法,其特征在于,包括:
在運行當前版本固件時,檢測所述當前版本固件中的預設跳轉表位置的跳轉表地址;
判斷檢測到的跳轉表地址是否為補丁地址;
若檢測到的跳轉表地址是補丁地址,跳轉到所述補丁地址對應的補丁空間地址中,以執行所述補丁空間地址中的補丁代碼。
6.根據權利要求5所述的固件升級的方法,其特征在于,在檢測所述當前版本固件中的預設跳轉表位置的跳轉表地址之前,所述方法還包括:
采用與地址無關的編譯方式編譯所述當前版本固件的源代碼,以運行所述當前版本固件;
對應的,檢測所述當前版本固件中的預設跳轉表位置的跳轉表地址,包括:
調用所述源代碼中的宏代碼,檢測預設跳轉表位置的跳轉表地址,其中,每個預設跳轉表位置對應一個宏代碼。
7.根據權利要求6所述的方法,其特征在于,判斷檢測到的跳轉表地址是否為補丁地址,包括:
若檢測到的跳轉表地址為0xfffffffff或者0,確定檢測到的跳轉表地址不是補丁地址;
若檢測到的跳轉表地址為除0xfffffffff或者0外的地址,確定檢測到的跳轉表地址是補丁地址。
8.一種固件升級的裝置,其特征在于,包括:
獲取模塊,用于獲取當前版本固件的待應用補丁的補丁文件;所述補丁文件中包括補丁代碼、補丁空間地址、補丁對應的跳轉表地址;
寫入模塊,用于將所述補丁代碼寫入到所述補丁空間地址中;
修改模塊,用于將所述補丁對應的跳轉表地址修改為所述補丁空間地址;所述補丁空間地址對應的補丁空間和所述補丁對應的跳轉表地址對應的跳轉表空間均為預先擦除的空間。
9.一種固件升級的裝置,其特征在于,包括:
檢測模塊,用于在運行當前版本固件時,檢測所述當前版本固件中的預設跳轉表位置的跳轉表地址;
判斷模塊,用于判斷檢測到的跳轉表地址是否為補丁地址;
跳轉模塊,用于若檢測到的跳轉表地址是補丁地址,跳轉到所述補丁地址對應的補丁空間地址中,以執行所述補丁空間地址中的補丁代碼。
10.一種可讀存儲介質,其特征在于,所述可讀存儲介質上存儲有計算機程序,所述計算機程序被計算機運行時執行如權利要求1-7任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京知道創宇信息技術股份有限公司,未經北京知道創宇信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911189104.0/1.html,轉載請聲明來源鉆瓜專利網。





