【技术实现步骤摘要】
一种面向中断驱动型程序的寄存器访问冲突检测方法
[0001]本专利技术属于嵌入式程序缺陷分析与正确性保证技术,具体涉及一种面向中断驱动型程序的寄存器访问冲突检测方法。
技术介绍
[0002]中断驱动型程序通过中断机制来实现对外部事件的响应和处理,被广泛应用于航空航天、汽车电子、交通管理等各种嵌入式系统。在这类程序中,当一个中断源向CPU发出中断请求时,CPU暂停现行程序,转而去响应拥有更高优先级的中断请求,执行该中断请求对应的中断服务程序,待中断服务程序执行完成之后再返回现行程序的断点位置继续执行。
[0003]在中断驱动型程序中,整个程序由主任务和拥有不同优先级的各中断服务程序组成。将主任务和各中断服务程序都看成不同的任务流,则整个程序由拥有不同优先级的任务流组成,其中主任务对应的任务流的优先级最低。高优先级的任务流可以抢占低优先级的任务流,即在低优先级任务流的执行过程中,若高优先级的任务流发生,系统将暂停低优先级任务流的执行而去执行高优先级任务流,待高优先级任务流执行完成之后再返回低优先级任务流的断点位置继续执行 ...
【技术保护点】
【技术特征摘要】
1.一种面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于包括:1)针对给定含寄存器访问操作的嵌入式中断驱动型程序,在嵌入式中断驱动型程序的代码中引入寄存器数组变量,并将所述代码中的寄存器访问操作转化为对寄存器数组变量某元素的读写操作,从而完成基于寄存器数组变量的寄存器访问操作语义表示,得到转换后的中断驱动型程序;2)针对转换后的嵌入式中断驱动型程序,进行基于静态分析的寄存器访问冲突初步分析,得到潜在的寄存器访问冲突问题集合;3)针对转换后的嵌入式中断驱动型程序,进行基于程序验证的寄存器访问冲突精确分析以对潜在的寄存器访问冲突问题集合筛选出真实的访问冲突,从而得到真实的寄存器访问冲突问题集合。2.根据权利要求1所述的面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于,步骤1)中将所述代码中的寄存器访问操作转化为对寄存器数组变量某元素的读写操作时,包括将每一个寄存器读操作用一个三元组reg_op_r:=<addr,size,var>来表示,其中addr表示读的寄存器地址,size表示读的数据大小,var表示读出来的数据要存入的程序变量;将每一个寄存器写操作用一个三元组reg_op_w:=<addr,size,data>来表示,其中addr表示写的寄存器地址,size表示写的数据大小,data表示写的数据内容。3.根据权利要求2所述的面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于,步骤1)中引入的寄存器数组变量为字符型的寄存器数组变量REG_BUF[REGS_SIZE],其中REGS_SIZE表示寄存器数组变量的寄存器空间大小;步骤1)中将所述代码中的寄存器访问操作转化为对寄存器数组变量某元素的读写操作包括:对每个寄存器读操作reg_op_r:=<addr,size,var>,将寄存器读操作reg_op_r:=<addr,size,var>转化为从寄存器数组变量REG_BUF[REGS_SIZE]的第addr个元素所在地址中复制size个字节到var中;对每个寄存器写操作reg_op_w:=<addr,size,data>,将寄存器写操作reg_op_w:=<addr,size,data>则转化为从数据data所在的地址中复制size个字节到寄存器数组变量REG_BUF[REGS_SIZE]的第addr个元素所在地址中。4.根据权利要求1所述的面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于,步骤2)包括:2.1)通过函数展开提取出各任务流中对寄存器数组变量的读写访问操作,并初始化潜在的寄存器访问冲突问题集合为空;2.2)采用两两取出的方式,遍历取出包含寄存器数组变量读写访问操作的两个不同优先级的任务流构成任务流对;2.3)采用两两取出的方式,从当前任务流对中的两个不同优先级的任务流各遍历取出一个对寄存器数组变量的读写访问操作构成读写访问操作对,且针对遍历得到的每一个读写访问操作对判断是否可能构成数据访问冲突,若构成数据访问冲突则将当前读写访问操作对加入潜在的寄存器访问冲突问题集合中;2.4)判断任务流对是否遍历完毕,若尚未遍历完毕则跳转步骤2.2);否则,将潜在的寄存器访问冲突问题集合输出。5.根据权利要求4所述的面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于,步骤2.3)中判断是否可能构成数据访问冲突是指判断当前读写访问操作对中至少一个
为写操作是否成立,若成立则判定当前读写访问操作对可能构成寄存器访问冲突,并将当前读写访问操作对加入潜在的寄存器访问冲突问题集合中。6.根据权利要求1所述的面向中断驱动型程序的寄存器访问冲突检测方法,其特征在于...
【专利技术属性】
技术研发人员:尹良泽,丁冉杰,林文凤,杜翔,董威,陈立前,文艳军,
申请(专利权)人:中国工程物理研究院电子工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。