[發(fā)明專利]一種基于中斷向量的固件檢測方法與裝置在審
| 申請?zhí)枺?/td> | 202011519057.4 | 申請日: | 2020-12-21 |
| 公開(公告)號: | CN112597503A | 公開(公告)日: | 2021-04-02 |
| 發(fā)明(設計)人: | 趙克安;胡孟杰;黃萍;俞利明 | 申請(專利權)人: | 浙江中控技術股份有限公司;浙江中控自動化儀表有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/51 |
| 代理公司: | 上海漢聲知識產權代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 310053 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 中斷 向量 檢測 方法 裝置 | ||
本發(fā)明公開了一種基于中斷向量的固件檢測方法與裝置,S1:啟動嵌入式系統(tǒng),進而運行校驗單元對優(yōu)化bin固件進行校驗,獲取優(yōu)化bin固件的總字節(jié)數(shù)量記為N;S2:將優(yōu)化bin固件的N字節(jié)按每4字節(jié)組成一個無符號整形數(shù)據(jù),將若干無符號整形數(shù)據(jù)進行累加得到累加和校驗值記為V;S3:判斷校驗和數(shù)據(jù)V是否為0,若V等于0,則校驗通過,若V不等于0,則判定ARM芯片存在異常。本發(fā)明在固件中增加校驗單元,代替常規(guī)的boot程序進行固件校驗,不改變固件代碼的結構,不通過外部存儲器件獲取固件的長度,因此本發(fā)明有設計簡單,穩(wěn)定可靠,無需運行boot程序,快速實現(xiàn)固件的校驗,保證檢測可靠執(zhí)行。
技術領域
本發(fā)明屬于嵌入式系統(tǒng)技術領域,尤其涉及一種基于中斷向量的固件檢測方法與裝置。
背景技術
在嵌入式系統(tǒng)中,保證可執(zhí)行代碼的正確性是十分重要的,它在系統(tǒng)可靠性中是不可或缺的。現(xiàn)有技術下,通常會先執(zhí)行boot程序,通過boot程序獲取固件的長度和校驗碼,經(jīng)過計算后對固件進行校驗,如果校驗通過,則跳轉到固件代碼處執(zhí)行;如果校驗不通過,則不執(zhí)行。
通常,boot程序是嚴重地依賴于硬件而實現(xiàn)的,特別是在嵌入式平臺。boot是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關硬件的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應用程序裝在到內存中然后跳轉到操作系統(tǒng)所在的空間,啟動操作系統(tǒng)運行。對于嵌入式系統(tǒng),boot是基于特定硬件平臺來實現(xiàn)的,因此,幾乎不可能為所有的嵌入式系統(tǒng)建立一個通用的boot,不同的處理器架構都有不同的boot。boot不但依賴于CPU的體系結構,而且依賴于嵌入式系統(tǒng)板級設備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的boot程序也能運行在另一塊板子上,一般也都需要相應修改boot的源程序。因此,設計boot程序對一個嵌入式系統(tǒng)需要付出大量的研發(fā)成本、測試成本、生產成本(需要二次燒錄)和維護成本,不利于產品的快速推出。
此外,在嵌入式系統(tǒng)中,由于部分CPU設計方面原因,無法支持boot程序,固件校驗實現(xiàn)困難。
發(fā)明內容
本發(fā)明的技術目的是提供一種基于中斷向量的固件檢測方法與裝置,以解決固件校驗實現(xiàn)困難的技術問題。
為解決上述問題,本發(fā)明的技術方案為:
一種基于中斷向量的固件檢測方法,應用燒錄于嵌入式系統(tǒng)的優(yōu)化bin固件進行固件檢測,優(yōu)化bin固件包括用于實現(xiàn)固件自檢的檢測單元,包括如下步驟:
S1:啟動嵌入式系統(tǒng),進而運行校驗單元對優(yōu)化bin固件進行校驗,獲取優(yōu)化bin固件的總字節(jié)數(shù)量記為N;
S2:將優(yōu)化bin固件的N字節(jié)按每4字節(jié)組成一個無符號整形數(shù)據(jù),將若干無符號整形數(shù)據(jù)進行累加得到累加和校驗值記為V;
S3:判斷累加和校驗值V是否為0,若V等于0,則校驗通過,若V不等于0,則判定ARM芯片存在異常。
進一步優(yōu)選地,在步驟S1之前還包括構建優(yōu)化bin固件,具體包括以下步驟:
A1:構建優(yōu)化bin固件的校驗單元和功能單元,校驗單元用于實現(xiàn)固件檢測,功能單元用于實現(xiàn)嵌入式系統(tǒng)正常運行;
A2:將檢驗單元和功能單元通過交叉編譯得到bin固件;
A3:修改bin固件的中斷向量,得到優(yōu)化bin固件;
A4:將優(yōu)化bin固件燒錄至嵌入式系統(tǒng)中ARM芯片的ROM。
其中,在步驟A3中,修改bin固件的中斷向量得到優(yōu)化bin固件具體包括如下步驟:
B1:獲取bin固件的總字節(jié)數(shù)量記為M,若M能被4整除,則令I=M,若M不能被4整除,則基于M通過計算公式得到I,其中,I為能被4整除的整數(shù)值;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江中控技術股份有限公司;浙江中控自動化儀表有限公司,未經(jīng)浙江中控技術股份有限公司;浙江中控自動化儀表有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011519057.4/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





