一种基于中断向量的固件检测方法与装置制造方法及图纸

技术编号:27936145 阅读:31 留言:0更新日期:2021-04-02 14:16
本发明专利技术公开了一种基于中断向量的固件检测方法与装置,S1:启动嵌入式系统,进而运行校验单元对优化bin固件进行校验,获取优化bin固件的总字节数量记为N;S2:将优化bin固件的N字节按每4字节组成一个无符号整形数据,将若干无符号整形数据进行累加得到累加和校验值记为V;S3:判断校验和数据V是否为0,若V等于0,则校验通过,若V不等于0,则判定ARM芯片存在异常。本发明专利技术在固件中增加校验单元,代替常规的boot程序进行固件校验,不改变固件代码的结构,不通过外部存储器件获取固件的长度,因此本发明专利技术有设计简单,稳定可靠,无需运行boot程序,快速实现固件的校验,保证检测可靠执行。

【技术实现步骤摘要】
一种基于中断向量的固件检测方法与装置
本专利技术属于嵌入式系统
,尤其涉及一种基于中断向量的固件检测方法与装置。
技术介绍
在嵌入式系统中,保证可执行代码的正确性是十分重要的,它在系统可靠性中是不可或缺的。现有技术下,通常会先执行boot程序,通过boot程序获取固件的长度和校验码,经过计算后对固件进行校验,如果校验通过,则跳转到固件代码处执行;如果校验不通过,则不执行。通常,boot程序是严重地依赖于硬件而实现的,特别是在嵌入式平台。boot是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。对于嵌入式系统,boot是基于特定硬件平台来实现的,因此,几乎不可能为所有的嵌入式系统建立一个通用的boot,不同的处理器架构都有不同的boot。boot不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的boot程序也能运行在另一块板子上,一般也都需要相应修改boot的源程序。因此,设计boot程序对一个嵌入式系统需要付出大量的研发成本、测试成本、生产成本(需要二次烧录)和维护成本,不利于产品的快速推出。此外,在嵌入式系统中,由于部分CPU设计方面原因,无法支持boot程序,固件校验实现困难。
技术实现思路
本专利技术的技术目的是提供一种基于中断向量的固件检测方法与装置,以解决固件校验实现困难的技术问题。为解决上述问题,本专利技术的技术方案为:一种基于中断向量的固件检测方法,应用烧录于嵌入式系统的优化bin固件进行固件检测,优化bin固件包括用于实现固件自检的检测单元,包括如下步骤:S1:启动嵌入式系统,进而运行校验单元对优化bin固件进行校验,获取优化bin固件的总字节数量记为N;S2:将优化bin固件的N字节按每4字节组成一个无符号整形数据,将若干无符号整形数据进行累加得到累加和校验值记为V;S3:判断累加和校验值V是否为0,若V等于0,则校验通过,若V不等于0,则判定ARM芯片存在异常。进一步优选地,在步骤S1之前还包括构建优化bin固件,具体包括以下步骤:A1:构建优化bin固件的校验单元和功能单元,校验单元用于实现固件检测,功能单元用于实现嵌入式系统正常运行;A2:将检验单元和功能单元通过交叉编译得到bin固件;A3:修改bin固件的中断向量,得到优化bin固件;A4:将优化bin固件烧录至嵌入式系统中ARM芯片的ROM。其中,在步骤A3中,修改bin固件的中断向量得到优化bin固件具体包括如下步骤:B1:获取bin固件的总字节数量记为M,若M能被4整除,则令I=M,若M不能被4整除,则基于M通过计算公式得到I,其中,I为能被4整除的整数值;计算公式为I=(M/4+1)×4,其中,/为相除取整符号;B2:将bin固件基于补0方式将总字节数量M增加到I;B3:获取ARM芯片中断向量地址m和n,将整数值I写入bin固件m字节处;B4:将bin固件每4字节组成一个无符号整形数据,并将若干无符号整形数据累加得到数值O,将数值O按位取反并加上数值1获得数值P,将数值P写入bin固件n字节处,得到优化bin固件。一种基于中断向量的固件检测的固件检测装置,包括:数据获取模块,用于获取优化bin固件的总字节数量及数据;数据处理模块,用于对获取的所述总字节数量进行数据处理,得到累加和校验值;校验判断模块,用于判断累加和校验值是否为0,若为0,则校验通过,若不为0,则校验不通过。一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如权利要求1至3中任一项的基于中断向量的固件检测方法。一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至3中任一项的基于中断向量的固件检测方法。本专利技术由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:本专利技术在固件中增加校验单元,代替常规的使用boot程序进行固件校验的方法,将bin固件中未使用到的中断向量地址用于储存待校验信息,不改变固件代码的结构,不通过外部存储器件获取固件的长度,因此本专利技术有设计简单,稳定可靠,无需运行boot程序,不改变固件文件结构,快速实现固件的校验,保证了代码的可靠执行的技术效果。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。图1为本专利技术一个实施例中基于中断向量的固件检测方法流程示意图;图2为本专利技术一个实施例中构建优化bin固件流程示意图;图3为本专利技术一个实施例中修改bin固件的中断向量得到优化bin固件流程示意图;图4为本专利技术一个实施例中基于中断向量的固件检测的固件检测装置示意图。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本专利技术相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。以下结合附图和具体实施例对本专利技术提出的一种基于中断向量的固件检测方法作进一步详细说明。根据下面说明和权利要求书,本专利技术的优点和特征将更清楚。实施例1参看图1,本实施例提供一种具体适用于STM32F10x系芯片的基于中断向量的固件检测方法。首先参看图2,在步骤S1之前,构建含校验单元的bin固件,修改bin固件的中断向量,得到优化bin固件。具体地,构建校验单元和功能单元,校验单元用于实现对bin固件地校验,功能单元用于对STM32F10x系芯片的嵌入式系统提供软件支持,因此本实施例中bin固件包括校验单元和功能单元,将检验单元和功能单元通过交叉编译得到bin固件。后续修改bin固件中保留的中断向量。参看图3,在本实施例中,获取bin固件的总字节数量记为M,若总字节数量M能被4整除,则令I=M,若M不能被4整除,则计算得到,即将M除以4取整数加上1后乘以4,I作为bin固件所需的总字节数,通过文件工具将bin固件基于补0方式将总字节数量M增加到I。获取STM32F10x系芯片两个中断向量地址2本文档来自技高网...

【技术保护点】
1.一种基于中断向量的固件检测方法,其特征在于,应用烧录于嵌入式系统的优化bin固件进行固件检测,所述优化bin固件包括用于实现固件自检的检测单元,包括如下步骤:/nS1:启动所述嵌入式系统,进而运行所述校验单元对所述优化bin固件进行校验,获取所述优化bin固件的总字节数量记为N;/nS2:将所述优化bin固件的N字节按每4字节组成一个无符号整形数据,将若干无符号整形数据进行累加得到累加和校验值记为V;/nS3:判断所述累加和校验值V是否为0,若V等于0,则校验通过,若V不等于0,则判定所述ARM芯片存在异常。/n

【技术特征摘要】
1.一种基于中断向量的固件检测方法,其特征在于,应用烧录于嵌入式系统的优化bin固件进行固件检测,所述优化bin固件包括用于实现固件自检的检测单元,包括如下步骤:
S1:启动所述嵌入式系统,进而运行所述校验单元对所述优化bin固件进行校验,获取所述优化bin固件的总字节数量记为N;
S2:将所述优化bin固件的N字节按每4字节组成一个无符号整形数据,将若干无符号整形数据进行累加得到累加和校验值记为V;
S3:判断所述累加和校验值V是否为0,若V等于0,则校验通过,若V不等于0,则判定所述ARM芯片存在异常。


2.根据权利要求1所述的基于中断向量的固件检测方法,其特征在于,在所述步骤S1之前还包括构建所述优化bin固件,具体包括以下步骤:
A1:构建所述优化bin固件的所述校验单元和功能单元,所述校验单元用于实现固件检测,所述功能单元用于实现所述嵌入式系统正常运行;
A2:将所述检验单元和所述功能单元通过交叉编译得到bin固件;
A3:修改所述bin固件的中断向量,得到所述优化bin固件;
A4:将所述优化bin固件烧录至所述嵌入式系统中ARM芯片的ROM。


3.根据权利要求2所述的基于中断向量的固件检测方法,其特征在于,在所述步骤A3中,所述修改所述bin固件的中断向量得到所述优化bin固件具体包括如下步骤:
B1:获取所述bin固件的总字节数量记为M,若M...

【专利技术属性】
技术研发人员:赵克安胡孟杰黄萍俞利明
申请(专利权)人:浙江中控技术股份有限公司浙江中控自动化仪表有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1