软硬件协调处理的自诊断系统和方法

文档序号:6613615阅读:215来源:国知局
专利名称:软硬件协调处理的自诊断系统和方法
技术领域
本发明涉及故障诊断技术,特别涉及一种软硬件协同处理的自诊断系统和一种库欠;使件协调处理的自i貪断方法。
技术背景在现有软硬件协同处理的系统中,包括软件程序和多个硬件模块。其中, 软件程序可以分别向各硬件模块发送指令,实现对各硬件模块的控制;各硬 件模块在软件程序的控制下,利用系统中的硬件资源进行相应处理。在实际应用中,在各硬件模块共享相同的硬件资源等情况下,软件程序 对这些硬件模块的控制必须要满足相应的系统规则。其中,系统规则通常可以理解为各硬件模块协同处理的规则和/或为 各硬件模块合理分配共享资源的规则。例如,如果硬件模块M的激活需要在硬件模块N关闭后执行,则对应 的系统规则为硬件模块M必须在另一个关闭之后才能激活。如果不满足 该系统规则,硬件模块M和硬件模块N同时激活,则可能导致系统错误。再例如,如果硬件模块M的输出数据作为硬件模块N的输入数据,则 对应的系统规则为硬件模块M输出数据的存储空间必须与硬件模块N输 入数据的存储空间完全一致,其中,存储空间即为硬件模块M和硬件模块 N共享的硬件资源。如果不满足该系统规则,当硬件模块M将其输出数据 存储到特定存储空间后,硬件模块N从其它存储空间读取数据作为其输入 数据、而不是从存储了硬件模块M的输出数据的存储空间读取,则硬件模 块N执行其处理后无法得到正确的结果。其中,上述的M和N只是类似于曱、乙、丙、丁的通用指代符号,并
不是具有特殊含义的符号。而当软件工程师编写软件程序时,往往只是考虑软件程序是否满足语法 规则,而不会全面考虑到各种系统规则,从而导致软件程序向硬件模块发出 违反系统定义规则的控制指令,造成的系统错误,使得软硬件协调处理的可 靠性不高。发明内容有鉴于此,本发明的一个主要目的在于提供一种软硬件协调处理的自诊 断系统,能够提高软硬件协同处理的可靠性。本发明的另一个主要目的在于,提供一种软硬件协调处理的自诊断方 法,能够提高软硬件协同处理的可靠性。根据上述的一个主要目的,本发明提供了一种软硬件协调处理的自诊断系统,包括软件程序和多个硬件模块, 该系统进一步包括存储了预设系统规则的系统规则检查模块,用于实时监测各硬件模块接收自软件程序的指令,并在所述指令不符合存储的预设系统规则时,向所述软件程序上报错误指令。所述硬件模块中包括寄存器,用于存储软件程序发出的指令;所述系统规则检查模块读取各硬件模块的寄存器中存储的指令,并提取出指令中的特征内容,在提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则。所述系统规则包括不同特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。所述系统规则检查模块通过中断方式向所述软件程序上报错误指令。 所述错误指令中包括软件程序向各硬件模块发出的指令所不符合的系统^L则的标识。据上述的另一个主要目的,本发明提供了一种软硬件协调处理的自诊断
方法,预设各种系统规则,该方法包括实时监测各硬件模块接收自软件程序的指令; 在所述指令不符合所述系统规则时,上报错误指令。 所述实时监测各硬件模块接收自软件程序的指令包括 读取所述指令并提取出指令中的特征内容;在所述提取出的特征内容与所述系统规则不匹配时,判断出所述指令不 符合预设系统规则。所述系统规则包括不同特征内容的发生顺序、不同特征内容是否相等、 不同特征内容是否相交。所述上报错误指令为通过中断方式上报错误指令。 所述错误指令中包括所述指令所不符合的系统规则的标识。 由上述技术方案可见,本发明在软硬件协调处理的系统中,设置系统规 则检查模块,该模块存储了预设的各种系统规则。本发明由系统规则检查模 块实时监测各硬件模块,并在硬件模块所执行的处理不符合预设系统规则 时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统 规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序, 以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处 理的可靠性。


图1为本发明中软硬件协同处理的自诊断系统的结构示意图。 图2为本发明中软硬件协同处理的自诊断方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一 步详细说明。本发明中,在软硬件协调处理的系统中,设置一系统规则检查模块,在
该模块中存储了预设的各种系统规则。当软件程序向各硬件模块发出各种指 令以控制各硬件模块执行相应的处理时,系统规则检查模块自动监测各硬件 模块,以检查软件程序发送给各硬件模块的指令是否符合预设的系统规则, 如果不符合,则自动向软件程序上报错误。这样,软件工程师即可根据系统规则检查模块上报的错误,调整软件程 序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协 同处理的可靠性。图1为本发明中自诊断系统的结构示意图。如图l所示,本发明中软硬件协同处理的自诊断系统包括软件程序、多个硬件模块、以及系统规则检 查模块。软件程序,用于向各硬件模块发出指令,分别控制各硬件模块执行指令 乂十应的处理。硬件模块,用于根据软件程序发出的指令执行与该指令对应的处理,即 在软件程序的控制下执行相应的处理。系统规则检查模块中存储了预设的各种系统规则,用于实时监测各硬件 模块接收自软件程序的指令,判断软件程序向各硬件模块发出的指令是否符 合存储的预设系统规则,在该指令不符合预设系统规则时,向软件程序上报 错误指令,将不符合的系统规则通知软件程序。实际应用中,系统规则检查模块可以通过中断方式上报错误指令,即向 软件程序上报的错误指令为中断请求。系统规则检查模块中还可以存储每个 系统规则的标识,并在中断请求中携带检测的指令所不符合的系统规则的标 识,用于将不符合的系统规则通知软件程序。可见,上述系统中由系统规则检查模块实时监测各硬件模块,并在控制 硬件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错 误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检 查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软 件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
上述系统中,硬件模块中通常包括寄存器,用于存储软件程序的指令。这种情况下,系统规则检查模块可读取各硬件模块的寄存器中存储的指 令,以实现对各硬件模块的监测。具体来说,系统规则检查模块可以读取寄存器中存储的指令,并提取出 指令中的特征内容。例如,特征内容可以包括硬件模块的激活、硬件模块的关闭、存储区 域的地址等。针对上述特征内容,对应的系统规则即可包括 特征内容M与特征内容N的发生顺序; 特征内容M与特征内容N相等; 特征内容M与特征内容N不相等; 特征内容M与特征内容N不相交。其中,特征内容M与特征内容N不相交通常只针对存储区域的地址等 量化的特4正内.容'除此之外,针对不同的特征内容,系统规则检查模块中还可以存储其它 的预设系统规则,在此不再赘述。下面,结合具体实例对上述系统进行进一步说明。实例1:假设特征内容M为硬件模块M的激活、特征内容N为硬件模 块N的关闭、系统规则检查模块中存储的系统规则包括"特征内容M在特 征内容N之后发生"。软件程序先向硬件模块N发出指令控制其激活,该 指令存储在硬件模块N的寄存器中,软件程序再向硬件模块M发出指令控 制其激活,该指令存储在软件模块M的寄存器中。系统规则检查模块读取 硬件模块M和硬件模块N的寄存器中存储的指令,并提取出表示硬件模块 M激活的特征内容M、以及表示硬件冲莫块N激活的特征内容L。由于系统 规则检查模块中存储的系统规则包括"特征内容M在特征内容N之后发生", 而系统规则检查模块从硬件模块N的寄存器读取的指令中,并未包括表示 硬件模块N关闭的特征内容N,即特征内容N还未发生,则系统规则检查
模块判断出此时发生特征内容M不符合系统规则,并向软件程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的指令不符合系统规则"特 征内容M在特征内容N之后发生"。实例2:假设特征内容M为硬件模块M输出数据的存储空间地址、特 征内容N为硬件模块N输入数据的存储空间地址、系统规则检查模块中存 储的系统规则包括"特征内容M与特征内容N相等"。软件程序先向硬件 模块M发出指令,控制其将相应的数据输出并存储到该指令所指定的存储 空间,该指令中包括指定存储空间的地址,并存储在硬件模块M的寄存器 中;软件程序再向硬件模块N发出指令,控制其从该指令所指定的存储空 间读取数据作为其输入数据,该指令中包括指定存储空间的地址,并存储在 软件模块N的寄存器中。系统规则检查模块读取硬件模块M和硬件模块N 的寄存器中存储的指令,并提取出表示存储硬件模块M输出数据的存储空 间地址的特征内容M、以及表示硬件模块N读取数据的存储空间地址的特 征内容N。如果特征内容M与特征内容N不相等时,即硬件模块M输出数 据的存储空间与硬件模块N输入数据的存储空间不一致,则系统规则检查 模^l判斯出此时发生特征内容M和特征内容N不符合系统规则,并向软件 程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的指令不符 合系统规则"特征内容M与特征内容N相等"。实例3:对于上述实例2,假设系统规则检查模块中存储的系统规则不 包括"特征内容M与特征内容N相等",而是包括"特征内容M与特征内 容N不相交",则如果特征内容M与特征内容N不相交时,即硬件模块M 输出数据的存储空间与硬件模块N输入数据的存储空间不存在交集,系统 规则检查模块判断出此时发生特征内容M和特征内容N不符合系统规则, 并向软件程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的 指令不符合系统规则"特征内容M与特征内容N不相交"。以上,是对本发明中软硬件协同处理的自诊断系统的详细说明。下面, 再对本发明中软硬件协同处理的自诊断方法进行说明。 图2为本发明中软硬件协同处理的自诊断方法的流程示意图。如图2所示,该方法包括步骤200,在软硬件协同处理系统中设置系统规则检查模块,并在系统 规则检查模块中存储预设的各种系统规则。步骤201,软件程序向各硬件模块发出指令,控制各硬件模块执行指令 对应的处理。步骤202,硬件模块根据软件程序发出的指令执行与该指令对应的处理, 即在软件程序的控制下执行相应的处理。本步骤中,如果硬件模块中包括了用于存储软件程序发出的指令的寄存 器,则可以将软件程序发出的指令存储在寄存器中。步骤203,系统规则检查模块实时监测各硬件模块接收自软件程序的指 令,判断软件程序向各硬件模块发出的指令是否符合存储的预设系统规则, 如果符合,则返回步骤201或步骤202;如果不符合,则执行步骤204。本步骤.中,如果硬件模块中包括用于存储软件程序发出的指令的寄存 器,则系统规则检查模块可以读取各硬件模块的寄存器中存储的指令,并提 取出指令中的特征内容,以实现对各硬件模块接收自软件程序的指令,再根 据提取出的特征内容来判断指令是否符合预设系统规则。步骤204,系统规则检查模块向软件程序上报错误指令,将不符合的系 统规则通知软件程序。本步骤中,系统规则检查模块可以通过中断方式上报错误指令,即向软 件程序上报的错误指令为中断请求。中断请求中还可以包括检测到的指令所 不符合的系统规则的标识,用于将不符合的系统规则通知软件程序。至此,本流程结束。上述流程中的步骤201 步骤204为循环执行的过程,步骤203并不限 于在步骤202之后再执行,而是可以与步骤202同时执行。由上述流程可见,系统规则检查模块实时监测各硬件模块,并在控制硬 件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错误, 使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模 块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程 序控制下的错误发生率,从而提高软硬件协同处理的可靠性。实际应用中,上述流程中由系统规则检查模块所执行的处理过程,也可 以由其他模块来执行,例如所有硬件模块中的任意一个、或者应用程序、或者系统中的其他已有模块;在判断出硬件模块接收自应用程序的指令不符合所述系统规则时,也可以不向应用程序上报错误指令,而是上报给能够使 软件工程师能够获知错误指令的其他功能模块,例如预设的存储模块、或具 有显示功能的各种模块等。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种软硬件协调处理的自诊断系统,包括软件程序和多个硬件模块,其特征在于,该系统进一步包括存储了预设系统规则的系统规则检查模块,用于实时监测各硬件模块接收自软件程序的指令,并在所述指令不符合存储的预设系统规则时,向所述软件程序上报错误指令。
2、 如权利要求l所述的系统,其特征在于,所述硬件模块中包括寄存 器,用于存储软件程序发出的指令;所述系统规则检查模块读取各硬件模块的寄存器中存储的指令,并提取 出指令中的特征内容,在提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则。
3、 如权利要求2所述的系统,其特征在于,所述系统规则包括不同 特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
4、 如权利要求l、 2、或3所述的系统,其特征在于,所述系统规则检 查模块通过中断方式向所述软件程序上报错误指令。
5、 如权利要求4所述的系统,其特征在于,所述错误指令中包括软件 程序向各硬件模块发出的指令所不符合的系统规则的标识。
6、 一种软硬件协同处理方法,其特征在于,预设各种系统规则,该方 法包括实时监测各硬件模块接收自软件程序的指令; 在所述指令不符合所述系统规则时,上报错误指令。
7、 如权利要求6所述的方法,其特征在于,所述实时监测各硬件模块 接收自软件程序的指令包括读取所述指令并提取出指令中的特征内容;在所述提取出的特征内容与所述系统规则不匹配时,判断出所述指令不 符合预设系统规则。
8、 如权利要求7所述的方法,其特征在于,所述系统规则包括不同 特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
9、 如权利要求6、 7、或8所述的方法,其特征在于,所述上报错误指 令为通过中断方式上报错误指令。
10、 如权利要求9所述的方法,其特征在于,所述错误指令中包括所述 指令所不符合的系统规则的标识。
全文摘要
本发明公开了一种软硬件协调处理的自诊断系统和一种软硬件协调处理的自诊断方法。本发明在软硬件协调处理的系统中,设置系统规则检查模块,该模块存储了预设的各种系统规则。本发明由系统规则检查模块实时监测各硬件模块,并在控制硬件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
文档编号G06F11/36GK101154186SQ200710175748
公开日2008年4月2日 申请日期2007年10月11日 优先权日2007年10月11日
发明者陈东瑛 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1