[發明專利]一種單片機在線升級方法和系統有效
| 申請號: | 201810995065.2 | 申請日: | 2018-08-29 |
| 公開(公告)號: | CN109240730B | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 陳建宇;胡毅;張博 | 申請(專利權)人: | 武漢光迅科技股份有限公司 |
| 主分類號: | G06F8/654 | 分類號: | G06F8/654 |
| 代理公司: | 深圳市愛迪森知識產權代理事務所(普通合伙) 44341 | 代理人: | 何婷 |
| 地址: | 430074 湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 單片機 在線 升級 方法 系統 | ||
本發明涉及單片機技術領域,特別涉及一種單片機在線升級方法和系統,其中方法包括:單片機接收到升級開始命令后初始化升級變量,并向上位機升級軟件回復當前運行區域,以便上位機升級軟件根據當前運行區域決定生成需要傳送的升級Bin文件;單片機接收升級Bin文件,并將升級Bin文件存儲在單片機當前未運行區域;單片機接收升級跳轉命令后關閉中斷,并將升級程序的中斷向量區復制到單片機的中斷向量區,軟重啟后運行新的程序,完成升級。本發明將單片機的FLASH分為中斷向量區、應用程序A區和應用程序B區,中斷向量區占用字節小,升級時只需復制中斷向量區,節約FLASH空間和程序搬移時間;同時還可將升級Bin文件進行區域轉換,在不中斷業務情況下實現在線升級。
【技術領域】
本發明涉及單片機技術領域,特別涉及一種單片機在線升級方法和系統。
【背景技術】
當前,市場上的電子產品越來越廣泛地采用單片機。應用程序在單片機上運行來完成產品各種各樣的功能,通常情況下,電子產品銷售到客戶手中后,廠家要對電子產品進行維護與升級,這就需要對CPU內的軟件在客戶現場就能進行下載升級,并且盡量不影響產品的正常工作。
目前單片機的升級方式主要有兩種:一種是將單片機的FLASH分為應用程序區和升級引導區,參考圖1中左圖,通過升級引導區給應用程序區升級;這種升級方式最大的問題是不能支持不中斷業務,即升級的時候必須要在升級引導區進行。另一種升級方式是將單片機的FLASH分為應用程序區、升級備份區和升級引導區,參考圖1中右圖;這種升級方式雖然可以支持不中斷業務的在線升級,但是,升級引導區占用較多的FLASH,而且,需將備用程序從升級備份區全部搬移到應用程序區,拷貝內容多,會花費較多的時間,造成時間浪費。
鑒于此,克服上述現有技術所存在的缺陷是本技術領域亟待解決的問題。
【發明內容】
本發明需要解決的技術問題是:
傳統升級方式中將單片機的FLASH分為應用程序區、升級備份區和升級引導區,升級引導區占用較多的FLASH,而且需將備用程序全部搬移到應用程序區,拷貝內容多,造成時間浪費。
本發明通過如下技術方案達到上述目的:
第一方面,本發明提供了一種單片機在線升級方法,將單片機的FLASH分為中斷向量區、應用程序A區和應用程序B區,其中,所述中斷向量區為所述應用程序A區和所述應用程序B區的公用區域,所述方法包括:
單片機接收到升級開始命令后初始化升級變量,并向上位機升級軟件回復當前運行的應用程序區域,以便上位機升級軟件根據單片機當前運行區域來決定生成需要傳送的升級Bin文件;
單片機接收由上位機升級軟件傳送來的升級Bin文件,并將所述升級Bin文件存儲在單片機FLASH當前未運行的應用程序區域;
單片機接收升級跳轉命令后關閉中斷,并將升級程序的中斷向量區復制到單片機的中斷向量區,將單片機軟重啟并運行新的程序,完成升級。
優選的,所述上位機升級軟件根據單片機當前運行區域來決定需要傳送的升級Bin文件,具體為:根據單片機回復的當前運行的應用程序區域,上位機升級軟件判斷升級程序是否與單片機當前運行區域同區,如果不同區,則直接將當前的升級Bin文件傳送給單片機;如果同區,則上位機升級軟件將當前的升級Bin文件轉換成另一個區升級Bin文件,再將轉換后的升級Bin文件傳送給單片機。
優選的,所述上位機升級軟件將當前的升級Bin文件轉換成另一個區升級Bin文件,具體為:
根據轉換的區域計算地址偏移量;
讀取當前的升級Bin文件的一個字節,通過查表獲得對應指令包含的字節數N,并分析指令是否與地址有關;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢光迅科技股份有限公司,未經武漢光迅科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810995065.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種修復固件代碼的方法及系統
- 下一篇:一種基于靈活規則的流程編排方法





