[發明專利]一種嵌入式系統加載啟動方法及裝置有效
| 申請號: | 201310546153.1 | 申請日: | 2013-11-06 |
| 公開(公告)號: | CN103559057B | 公開(公告)日: | 2016-10-12 |
| 發明(設計)人: | 楊照軍 | 申請(專利權)人: | 廣東小天才科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 胡彬 |
| 地址: | 523860 廣東省東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 嵌入式 系統 加載 啟動 方法 裝置 | ||
技術領域
本發明屬于嵌入式技術領域,尤其涉及一種嵌入式系統加載啟動方法及裝置。
背景技術
隨著科技水平的不斷發展,嵌入式系統已獲得了廣泛的應用。嵌入式系統一般是指非PC系統,有計算機功能但又不能稱之為計算機的設備或器材。它是以應用為中心,軟硬件可裁減的,適應應用系統對功能、可靠性、成本、提及、功耗等綜合嚴格要求的專用計算機系統。簡單地說,嵌入式系統集系統的應用軟件與硬件于一體,類似于PC中的BIOS的工作方式,具有軟件代碼小、高度自動化、響應速度快等特點,特別適合于要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬件、嵌入式操作系統及應用軟件系統等組成,它是可獨立工作的“器件”。
嵌入式系統由硬件和軟件兩部分組成,嵌入式系統的硬件部分,包括微處理器、Flash閃存、RAM、外設器件和I/O端口等;嵌入式系統的軟件部分主要包括Bootloader、內核和操作系統數據等,一般來講,嵌入式系統的操作系統數據是存儲在Flash閃存內的,當嵌入式系統啟動時,需要將操作系統數據加載到RAM中使其開始運行。
目前,Bootloader加載操作系統數據的方法為:在存儲器內備份兩份操作系統數據,通過兩份操作系統數據間的互相備份,保證嵌入式系統加載啟動的安全性,即當其中一份操作系統數據損壞時,可以加載另外一份操作系統數據,以此來保證嵌入式系統加載啟動的安全性。嵌入式系統的這種雙備份的加載啟動方法,在加載數據出錯的情況下,系統不能啟動的概率較高。
發明內容
鑒于此,本發明提供一種嵌入式系統加載啟動方法及裝置。本發明所述的方法將加載數據劃分為若干數據塊并給其編號,分別校驗每個數據塊是否出錯,當某編號的數據塊出錯時,在其他備份數據中查找未出錯的該編號數據塊,將所有未出錯的數據塊按編號組成加載數據,系統按該加載數據啟動,本發明所述的方法在加載數據出錯的情況下,大大降低了系統不能啟動的概率。
本發明技術方案:
一種嵌入式系統加載啟動方法,所述方法包括:
將加載數據劃分為若干數據塊并給所述若干數據塊順序編號,給所述加載數據增加數據頭以形成備份數據,其中,所述數據頭包含所述若干數據塊的校驗值和數據頭自身的校驗值;
在存儲器內備份若干備份數據,并給所述若干備份數據順序編號;
系統輪流加載所述若干備份數據,將本次欲加載的備份數據作為當前備份數據;
校驗當前備份數據的數據頭是否出錯,如果是,則將下一個備份數據作為當前備份數據,并返回本步驟;否則,將當前備份數據的第一個數據塊作為當前數據塊;
校驗當前數據塊是否出錯,如果是,則在其他備份數據中查找未出錯的相同編號的數據塊,并記錄該數據塊所在備份數據的編號;否則,記錄該未出錯的數據塊的編號,并將下一個數據塊作為當前數據塊,并返回本步驟;
將所有校驗未出錯的數據塊按編號與校驗未出錯的數據頭組成加載備份數據,系統按該加載備份數據啟動。
進一步地,所述將所有校驗未出錯的數據塊按編號與校驗未出錯的數據頭組成加載備份數據,系統按該加載備份數據啟動之后,還包括:用所述在其他備份數據中查找未出錯的相同編號的數據塊修復校驗出錯的該編號的數據塊。
進一步地,所述校驗當前備份數據的數據頭是否出錯,包括:
計算當前備份數據的數據頭的實際校驗值;
比較所述實際校驗值與當前備份數據的數據頭的自身的校驗值是否相同,如果是,則當前備份數據的數據頭未出錯;否則,當前備份數據的數據頭出錯。
進一步地,所述校驗當前數據塊是否出錯,包括:
計算當前數據塊的實際校驗值;
比較所述實際校驗值與數據頭內包含的該數據塊的校驗值是否相同,如果是,則當前數據塊未出錯;否則,當前數據塊出錯。
一種嵌入式系統加載啟動裝置,所述裝置包括:
備份數據形成單元,用于將加載數據劃分為若干數據塊并給所述若干數據塊順序編號,給所述加載數據增加數據頭以形成備份數據,其中,所述數據頭包含所述若干數據塊的校驗值和數據頭自身的校驗值;
備份數據備份單元,用于在存儲器內備份若干備份數據,并給所述若干備份數據順序編號;
系統加載單元,用于系統輪流加載所述若干備份數據,將本次欲加載的備份數據作為當前備份數據;
數據頭校驗單元,用于校驗當前備份數據的數據頭是否出錯,如果是,則將下一個備份數據作為當前備份數據,并返回數據頭校驗單元;否則,將當前備份數據的第一個數據塊作為當前數據塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東小天才科技有限公司,未經廣東小天才科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310546153.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種采用地圖顯示物流配送范圍的方法
- 下一篇:基于終端的考勤方法和服務器





