[發明專利]一種在單芯片上實現主備版本備份的方法無效
| 申請號: | 200910229015.4 | 申請日: | 2009-12-08 |
| 公開(公告)號: | CN102087603A | 公開(公告)日: | 2011-06-08 |
| 發明(設計)人: | 王鐘穎 | 申請(專利權)人: | 國家納米技術與工程研究院 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 300457 天津*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 芯片 實現 版本 備份 方法 | ||
(一)技術領域:
本發明涉及嵌入式產品設計,尤其是一種在單芯片上實現主備版本備份的方法。
(二)背景技術:
嵌入式產品中,經常會因為功能變化、故障修復等原因,需要從遠程對產品中的軟件(版本)進行升級。傳統嵌入式產品實現方式,是在產品中使用兩塊或以上的芯片,其中啟動BOOT位于一塊獨立芯片上,并由BOOT與遠程進行交互,完成版本升級,并將新下載的版本寫入另一塊芯片,之后啟動新版本。該方式由于要使用多于一塊芯片,成本難以降低,所以一般只運用在高端嵌入式設備上,導致低端嵌入式設備無法實現遠程升級。
(三)發明內容:
本發明的目的在于提供一種在單芯片上實現主備版本備份的方法,它能夠解決現有技術的不足,可在終端設備上降低產品成本。
本發明的技術方案:一種在單芯片上實現主備版本備份的方法,其特征在于它由以下步驟構成:
(1)在單一芯片上,將存儲空間劃分為至少三部分,分別用于存儲啟動BOOT、存儲主用版本和備用版本;其中用于存儲啟動BOOT的部分稱作V0;所說的存儲主用版本和備用版本的部分稱作V1和V2;如果V1是主用版本,則V2為備用版本,如果V2是主用版本,則V1為備用版本,這種關系通過參數配置區進行區分;
(2)芯片上電后,啟動BOOT率先運行,它檢測參數配置,判斷當前的主用版本是V1還是V2;啟動BOOT將控制權切換到主用版本;
(3)主用版本運行期間,如果接收到遠程升級指令,則從遠程服務端下載新的版本文件,覆蓋當前備用版本存儲空間;如果V1為主用版本,則覆蓋V2,反之則覆蓋V1;
(4)主用版本更新參數配置區,將新下載的版本設為主用版本,當前運行的版本設為備用版本,然后重啟系統;
(5)系統重啟后,啟動BOOT檢測到參數變化,將自動啟動新的主用版本,完成遠程版本升級。
上述所說的步驟(1)中的參數存儲在獨立的存儲空間,例如E2PROM上;或與版本駐留在同一芯片上,即在芯片上再劃分一塊區域,用于存儲參數。
上述所說的步驟(2)中啟動BOOT在將控制權切換到主用版本時,如果在編譯主用版本和備用版本可執行文件時,設置了位置無關選項,能使版本在存儲空間的任意位置都可以啟動運行,則通過調整CPU的程序計數器,啟動主用版本;在調整程序計數器時,如果V0運行在用戶模式下,那么需要通過軟中斷方式,強迫CPU進入管理模式,然后才能修改CPU程序計數器,實現版本跳轉;
如果編譯器無法產生位置無關代碼,則啟動BOOT將主用版本拷貝到內存空間,然后從內存啟動主用版本;或者是在芯片上劃分出一塊運行區域,該區域用Vm標識,啟動BOOT找出主用版本后,將該版本拷貝到Vm區,然后從Vm區啟動主用版本。
上述所說的編譯器無法產生位置無關代碼,則在編譯主備版本時,將內存或Vm的起始地址設置為版本啟動地址。
上述所說的啟動BOOT是一個小型可執行文件,通常存儲在芯片的物理地址0x0;芯片上電后,將自動執行啟動BOOT。
上述所說的主用版本和備用版本,是兩個不同版本的可執行文件。
本發明的優越性:本方法在單一芯片上,同時存儲啟動BOOT、主用版本、備用版本三個文件,并實現主備互換、遠程升級功能,有效降低產品開發和維護成本。
(四)附圖說明:
圖1為本發明所涉一種在單芯片上實現主備版本備份的方法第一種實施例的芯片存儲空間劃分的示意圖。
圖2為本發明所涉一種在單芯片上實現主備版本備份的方法第二種實施例的芯片存儲空間劃分的示意圖。
(五)具體實施方式:
實施例1:一種在單芯片上實現主備版本備份的方法,其特征在于它由以下步驟構成:
(1)在單一芯片上,將存儲空間劃分為三部分(見圖1),其中用于存儲啟動BOOT的部分稱作V0;所說的存儲主用版本和備用版本的部分稱作V1和V2;
(2)芯片上電后,啟動BOOT率先運行,它檢測參數配置,判斷當前的主用版本是V1還是V2;啟動BOOT將控制權切換到主用版本;
(3)主用版本運行期間,如果接收到遠程升級指令,則從遠程服務端下載新的版本文件,覆蓋當前備用版本存儲空間;如果V1為主用版本,則覆蓋V2,反之則覆蓋V1;
(4)主用版本更新參數配置區,將新下載的版本設為主用版本,當前運行的版本設為備用版本,然后重啟系統;
(5)系統重啟后,啟動BOOT檢測到參數變化,將自動啟動新的主用版本,完成遠程版本升級。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家納米技術與工程研究院,未經國家納米技術與工程研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910229015.4/2.html,轉載請聲明來源鉆瓜專利網。





