[发明专利]单比特翻转快速修复方法、装置、计算机设备和存储介质在审
申请号: | 202111001156.8 | 申请日: | 2021-08-30 |
公开(公告)号: | CN113626246A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 于杨;习伟;姚浩;李肖博;姚睿;董志平;王富亮 | 申请(专利权)人: | 南方电网数字电网研究院有限公司;北京四方继保工程技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/10 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 樊倩 |
地址: | 510700 广东省广州市黄*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 比特 翻转 快速 修复 方法 装置 计算机 设备 存储 介质 | ||
1.一种单比特翻转快速修复方法,其特征在于,所述方法包括:
上电后,将内部RAM内的原始程序段分为多段子程序;
拷贝所述多段子程序,作为副本程序段;
针对每段副本程序段分别求取原始程序校验和,存储所述原始程序校验和以及所述副本程序段于外部RAM中;
在定时器触发下,调用中断响应服务对每段子程序求取实时校验和,与所述原始程序校验和进行比对,得到所述子程序的程序状态;
根据所述程序状态修复所述原始程序段。
2.根据权利要求1所述的方法,其特征在于,所述在定时器触发下,调用中断响应服务对每段子程序求取实时校验和,与所述原始程序校验和进行比对,得到所述子程序的程序状态,包括:
调用中断响应服务针对所述实时校验和与所述原始程序校验和进行比对,得到比对结果;
若所述比对结果为检验错误,则判断所述子程序的程序状态为程序出错。
3.根据权利要求2所述的方法,其特征在于,所述根据所述程序状态修复所述原始程序段,包括:
若所述程序状态为程序出错,则获取相应的出错子程序在所述内部RAM的起始地址和程序占用空间长度;
根据所述起始地址和所述程序占用空间长度,将所述出错子程序与相应的副本程序段逐字段比较,得到出错字段;
针对所述出错字段与相应的副本字段逐位比较,得到出错位数;
根据所述出错位数修复所述原始程序段。
4.根据权利要求3所述的方法,其特征在于,所述根据所述出错位数修复所述原始程序段,包括:
若所述出错位数只有一位,则将相应的出错位翻转,得到纠错后的子程序;
调用所述中断响应服务针对所述纠错后的子程序进行校验,得到校验结果;
若在预设时间段内,所述校验结果均为程序正常,则判断修复成功。
5.根据权利要求4所述的方法,其特征在于,所述内部RAM包括数据常数区;所述调用所述中断响应服务针对所述纠错后的子程序进行校验之前,所述方法还包括:
判断所述数据常数区是否发生变化;
若发生变化,则将外部备份数据区的相应数据复制到所述数据常数区中;其中,所述外部备份数据区是上电时拷贝原始数据常数区中的数据至所述外部RAM后得到的。
6.根据权利要求4所述的方法,其特征在于,若所述出错位数包含多位,则触发重启指令以重启整个芯片。
7.根据权利要求1至6任一项所述的方法,其特征在于,当所述中断响应服务执行时,停止运行其他程序。
8.一种单比特翻转快速修复装置,其特征在于,所述装置包括:
子程序分割模块,用于上电后,将内部RAM内的原始程序段分为多段子程序;
副本程序段拷贝模块,用于拷贝所述多段子程序,作为副本程序段;
原始程序校验和求取模块,用于针对每段副本程序段分别求取原始程序校验和,存储所述原始程序校验和以及所述副本程序段于外部RAM中;
程序状态判决模块,用于在定时器触发下,调用中断响应服务对每段子程序求取实时校验和,与所述原始程序校验和进行比对,得到所述子程序的程序状态;
原始程序段修复模块,用于根据所述程序状态修复所述原始程序段。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方电网数字电网研究院有限公司;北京四方继保工程技术有限公司,未经南方电网数字电网研究院有限公司;北京四方继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111001156.8/1.html,转载请声明来源钻瓜专利网。