[发明专利]一种多中断嵌入式程序的高可靠性设计方法有效
申请号: | 201810417634.5 | 申请日: | 2018-05-04 |
公开(公告)号: | CN108804080B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 高飞;崔宇;刘思东;邱枫;隋强强;丁万兵;叶绍凯;李慧;张磊;仲宇 | 申请(专利权)人: | 北京航天自动控制研究所;中国运载火箭技术研究院 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 庞静 |
地址: | 100854 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 中断 嵌入式 程序 可靠性 设计 方法 | ||
1.一种多中断嵌入式程序的高可靠性设计方法,其特征在于通过解决多中断嵌入式程序中的异步随机访问冲突,防止程序运行结果的不确定性,提高程序设计可靠性;
解决多中断嵌入式程序中的异步随机访问冲突通过下述方式实现:
首先识别多中断嵌入式程序的临界区;
然后,在同一时刻避免多个处理角色同时访问临界区的原则,对临界区进行访问控制;所述的处理角色包括中断处理程序和主程序两种类型;
所述的临界区可以通过如下步骤确定:
步骤1,搜索多中断嵌入式程序中所涉及到的所有全局变量、硬件接口,将搜索的结果作为公共资源;
步骤2,将步骤1中的所有公共资源按照下述定义分为三类:
第一类,所有处理角色均只对其进行读操作;
第二类,只有一个处理角色对其进行写操作,其他处理角色仅仅对进行读操作;
第三类,多于一个处理角色对其进行写操作;
步骤3,对于第一类资源,无临界区定义;
对于第二类资源,当读取公共资源作为条件、并用于是否进行后续操作判断时,需要将读取部分和后续操作部分同时作为临界区,其中用于判断的公共资源定义为该临界区的焦点资源;
对于第三类资源,在更改公共资源的时候需要将写操作的全部过程作为临界区,其中用于判断的公共资源定义为该临界区的焦点资源;
所述的对临界区的访问控制包括以下步骤:
步骤(1),比较需要关闭的中断集合Sm和当前已经关闭的中断集合Sc之间的差异;
步骤(2),求集合差∑=Sm-Sc,在进入临界区前,关闭集合∑中所有中断;
步骤(3),进入临界区,访问临界区,退出临界区;
步骤(4),打开步骤(2)中集合∑中所定义的所有中断。
2.根据权利要求1所述的方法,其特征在于,步骤3中对第二类资源中的所述的当读取公共资源作为条件、并用于是否进行后续操作判断时,其中的条件包括单独条件判断分支和循环退出条件两种类型。
3.根据权利要求1所述的方法,其特征在于:所述的Sm包括所有对临界区所对应的焦点资源进行更改操作的中断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航天自动控制研究所;中国运载火箭技术研究院,未经北京航天自动控制研究所;中国运载火箭技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810417634.5/1.html,转载请声明来源钻瓜专利网。