[发明专利]一种单片机程序跑飞的修正方法在审
申请号: | 201610022680.6 | 申请日: | 2016-01-13 |
公开(公告)号: | CN105700427A | 公开(公告)日: | 2016-06-22 |
发明(设计)人: | 赵旭冉;李明哲;李德鹏;刘文洲 | 申请(专利权)人: | 武汉合康动力技术有限公司 |
主分类号: | G05B19/042 | 分类号: | G05B19/042 |
代理公司: | 北京华夏正合知识产权代理事务所(普通合伙) 11017 | 代理人: | 韩登营 |
地址: | 430205 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单片机 程序 修正 方法 | ||
技术领域
本发明涉及单片机控制技术领域,特别涉及一种单片机程序跑飞 的修正方法。
背景技术
单片机是大多数控制器的核心部件,其负责实现控制器的控制及 通讯等功能。对于控制器,特别是应用于车辆等实时性要求极高的控 制器,其单片机的工作常常会受到来自外界电磁场的干扰,以使其内 部寄存器和内存的数据混乱,从而导致程序指针错误,程序跑至未知 位置,即程序跑飞。造成的后果为:程序的正常运行被打断,由单片 机主导的控制器无法继续正常工作,会造成整个系统的陷入停滞状 态,发生不可预料的后果。
目前,为了防止单片机因外部干扰或程序错误导致代码跑飞,通 常的处理手段为在软件上利用看门狗,保证在单片机运行的代码跑飞 一定时间内能够复位成上电初始状态。设置看门狗复位周期,在看门 狗计数溢出后,利用复位信号使单片机复位,根据其跑飞时刻,侦测 到程序跑飞所用时间为:treset-tfeed<tdetect<treset。其中,treset为看门狗复位 周期,tfeed为看门狗喂狗周期,tdetect为从程序跑飞到侦测到跑飞的时 间。由于一般程序设置看门狗复位周期为几十微妙,且看门狗复位周 期通常为喂狗周期的数倍,所以侦测到程序跑飞的时间也为几十微 妙。而利用复位信号使单片机复位,由于单片机不同以及初始化代码 大小不同,其复位时间为微妙级。
软件上利用看门狗复位,其本质上是通过硬件复位,利用复位信 号使单片机复位,且在设置复位周期和清看门狗也不能太过频繁,否 则会造成资源浪费,这就导致了跑飞侦测慢、复位时间较长的情况。
或者,在单片机硬件上增强抗干扰能力(例如附件抗干扰材质的 保护层)。但在硬件上增强抗干扰能力,不能完全屏蔽所有的干扰信 号,同时过度的抗干扰会导致硬件成本的增加。
发明内容
有鉴于此,本发明的主要目的在于,提供一种单片机程序跑飞的 修正方法,包括步骤:
A、选择操作码,将其对应操作数字组成填充序列,存储于单片 机的空白FLASH存储区域,所述填充序列能实现触发中断指令;
B、将单片机内部中断与所述中断指令建立映射;
C、当检测到程序跑飞时,调用所填充的中断指令以修正所述程 序跑飞。
由上,当检测到程序跑飞至异常位置时,调用预先设置的中断指 令,触发相应硬件中断。使跑飞的程序跳转回一个可控的位置,从而 使程序恢复正常。大大缩短了现有技术中程序跑飞侦测所用时间以及 恢复程序运行所用时间。
可选的,步骤A选择操作码包括:
依据单片机内核,在单片机操作码对照页中选定合适数量的操作 码,所述操作码对应中断操作。
由上,选择与单片机内核相对应的操作码数量,例如16位操作 码选择2个地址的操作码,32位操作码选择4个地址的操作码等等。 所述操作码对应中断操作,以与所填充的中断指令相对应。
可选的,所述合适数量的操作码满足:在操作码的寻址过程中, 所述操作码执行相同操作。
由上,当选择多个地址的操作码时,通过偶地址、奇地址等寻址 方式,使得无论采用那种寻址方式,所选操作码均执行相同的操作指 令,以增加跑飞修正的稳定性。
可选的,步骤A中,所述中断指令包括TRAP中断代码。
可选的,所述中断指令还包括跳转启动代码或已知位置的函数指 针代码。
由上,通过跳转启动代码或已知位置的函数指针代码,以使中断 后的代码迅速回到已知的可控位置。
可选的,步骤A后还包括步骤:判断填充后是否还有空白FLASH 存储区域,若是则采用步骤A中的中断指令填满所述空白FLASH存 储区域。
由上,当出现跑飞时,即可立即对跑飞进行修正。
附图说明
图1为本发明流程图;
图2为采用现有技术进行单片机程序跑飞修正的仿真实验数据;
图3为采用本发明进行单片机程序跑飞修正的仿真实验数据。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉合康动力技术有限公司,未经武汉合康动力技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610022680.6/2.html,转载请声明来源钻瓜专利网。