[發明專利]一種實現BOOT和應用程序分離的方法、裝置及相關組件在審
| 申請號: | 202210363296.8 | 申請日: | 2022-04-07 |
| 公開(公告)號: | CN114780234A | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 陳瑋鈺;郭云 | 申請(專利權)人: | 深圳市振邦智能科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/22;G06F8/65;G06F9/4401;G06F9/48 |
| 代理公司: | 深圳市精英專利事務所 44242 | 代理人: | 丁宇龍 |
| 地址: | 518000 廣東省深圳市光明新區玉塘*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 boot 應用程序 分離 方法 裝置 相關 組件 | ||
1.一種實現BOOT和應用程序分離的方法,其特征在于,包括:
將MCU的Flash存儲空間劃分成Boot區和App應用區;以及從所述MCU的Ram存儲空間中劃分出中斷函數地址存儲區域;
新建BOOT工程,并設置所述BOOT工程在編譯時所分配的Flash范圍在所述Boot區;
新建應用程序工程,并設置所述應用程序工程在編譯時所分配的Flash范圍在所述App應用區;
將所述BOOT工程和應用程序工程在執行時的中斷函數地址存放至所述中斷函數地址存儲區域,并將存儲于所述Boot區的MCU的硬件絕對中斷地址與所述中斷函數地址存儲區域中的中斷函數地址進行映射;
所述MCU通電后,先執行所述BOOT工程,利用所述BOOT工程更新校驗,并在更新校驗通過后,停止執行所述BOOT工程并跳轉至所述應用程序工程,執行應用程序;
當所述應用程序工程接收通信模塊發送的更新指令時,對所述MCU進行復位,停止執行所述應用程序工程并跳轉執行所述BOOT工程,通過所述BOOT工程對所述應用程序進行更新。
2.根據權利要求1所述的實現BOOT和應用程序分離的方法,其特征在于,還包括:
分別獲取所述BOOT工程和應用程序工程編譯后生成的文件,并對2個文件進行裁剪和合并處理,得到目標二進制文件。
3.根據權利要求2所述的實現BOOT和應用程序分離的方法,其特征在于,所述分別獲取所述BOOT工程和應用程序工程編譯后生成的文件,并對2個文件進行裁剪和合并處理,得到目標二進制文件,包括:
獲取所述BOOT工程編譯后生成的boot.hex文件;
獲取所述應用程序工程編譯后生成的App.hex文件;
刪除所述App.hex文件中所述Boot區中的數據,刪除所述boot.hex文件中所述APP應用區中的數據;
將刪除處理后的所述App.hex文件和boot.hex文件進行合并,得到PRJ.hex文件。
4.根據權利要求1所述的實現BOOT和應用程序分離的方法,其特征在于,所述通過所述BOOT工程對所述應用程序進行更新,包括:
通過所述通信模塊接收更新文件,獲取所述更新文件中的版本信息或者標識信息,并根據所述版本信息或者標識信息判斷所述更新文件是否是最新版本;
獲取所述更新文件中的項目ID號,根據所述項目ID號判斷是否符合預設的升級標準;
若符合預設的升級標準且更新文件是最新版本,則對所述Flash存儲空間的固件文件進行更新替換。
5.根據權利要求4所述的實現BOOT和應用程序分離的方法,其特征在于,所述對所述Flash存儲空間的固件文件進行更新替換,包括:
對所述Flash存儲空間中的固件文件進行擦除,并將更新文件寫入所述Flash存儲空間。
6.根據權利要求1所述的實現BOOT和應用程序分離的方法,其特征在于,還包括:
設置所述BOOT工程和應用程序工程在停止執行時,釋放存放于所述中斷函數地址存儲區域中的中斷函數地址。
7.根據權利要求1所述的實現BOOT和應用程序分離的方法,其特征在于,所述將MCU的Flash存儲空間劃分成Boot區和App應用區,包括:
將所述MCU的Flash存儲空間的前段空間設置為Boot區,將所述MCU的Flash存儲空間的后段空間設置為App應用區。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市振邦智能科技股份有限公司,未經深圳市振邦智能科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210363296.8/1.html,轉載請聲明來源鉆瓜專利網。





