一种基于FADEC操作系统的故障快速定位方法与流程

allin2022-07-12  193


一种基于fadec操作系统的故障快速定位方法
技术领域
1.本发明涉及fadec操作系统,特别是一种基于fadec操作系统的故障快速定位方法。


背景技术:

2.fadec操作系统全称全权限数字发动机控制器操作系统,可提高发动机的运行效率和可靠性。fadec操作系统是安全关键嵌入式操作系统,它通过定时中断对各个任务进行调度,从而严格控制各个任务按照既定的周期与时序运行。
3.然而在软件设计过程中,往往会因为设计缺陷导致fadec操作系统出现各类故障,使得任务执行错误,严重的可导致发动机烧毁。因此,在操作操作系统试验过程中就应该尽早发现故障,常见的故障包括任务超时故障、非预期异常中断故障等。目前fadec操作系统还未引入故障快速定位方法,当发生故障时需要设计人员逐条分析代码寻找故障地址和故障类型,大大降低了开发效率,提高了维护成本。


技术实现要素:

4.发明目的:本发明的目的是提供一种基于fadec操作系统的故障快速定位方法,从而极大地提高软件的排故效率,降低软件的维护成本。
5.技术方案:本发明所述的一种基于fadec操作系统的故障快速定位方法的原理为:当fadec操作系统发生任务超时故障或非预期异常中断故障时,用外设存储器记录发生的故障的地址和类型,由故障引发看门狗复位后,操作系统用串口打印故障信息,或操作系统从外设存储器中读取故障信息传递给应用层,用监视上位机监视,从而快速定位故障。
6.所述方法基于以下条件实现:硬件提供外设储存器,当断电或者复位时存储信息不会丢失;硬件提供复位源信息供软件读取,可监视复位源是上电复位还是看门狗复位;软件提供监视上位机,监视打印的故障信息。
7.所述方法主要包括任务超时故障快速定位方法和非预期异常中断故障快速定位方法,具体如下:
8.(1)任务超时故障快速定位方法;
9.(1.1)在每个定时中断的函数入口处获取被打断的地址;如果操作系统软件正常运行,被打断的地址是后台地址;如果前台任务发生了任务超时故障,被打断的是前台任务发生任务超时故障的地址;
10.(1.2)将每个被打断的地址存入外设存储器,若发生任务超时故障则会引发看门狗复位;
11.(1.3)发生复位后,操作系统读取记录的任务超时故障地址,并通过串口打印该地址;或者将地址传递给应用层,在监视上位机监视;
12.(1.4)通过查看复位源判断该地址是否有效,只有当是因为看门狗超时引起复位时,该地址有效;
13.(1.5)查看编译链接文件,根据记录的超时任务地址查找发生故障的代码位置;
14.(2)非预期异常中断故障快速定位方法;
15.(2.1)在每个非预期异常中断的异常处理函数入口处获取发生异常中断的地址和异常类型;操作系统软件正常运行时不会进入异常处理函数;
16.(2.2)当发生非预期异常中断时,将异常信息存入外设存储器,同时用串口打印异常信息,并做超时处理,触发看门狗复位;若复位后仍会发生相同异常,则串口频繁打印异常信息;
17.(2.3)若复位后故障消除,软件正常运行,则可以从外设存储器中读取记录的异常信息,传递给应用层,在监视上位机查看;
18.(2.4)查看编译链接文件,根据记录的异常信息,寻找发生故障的代码位置。
19.一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的一种基于fadec操作系统的故障快速定位方法。
20.一种计算机设备,包括储存器、处理器及存储在存储器上并可再处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种基于fadec操作系统的故障快速定位方法。
21.有益效果:与现有技术相比,本发明具有如下优点:在fadec操作系统中,当软件发生任务超时故障或者发生非预期异常中断故障时,用外设存储器记录发生的故障的地址和类型,由故障引发看门狗复位后,操作系统用串口打印故障信息,或操作系统从外设存储器中读取故障信息传递给应用层,用监视上位机监视,可快速定位故障位置,极大地提高了软件的排故效率,降低了软件的维护成本。
附图说明
22.图1为本发明的步骤流程图;
23.图2为任务超时故障快速定位原理图;
24.图3为非预期异常中断故障快速定位原理图;
25.图4为任务超时信息据结构设计图;
26.图5为异常信息数据结构设计图。
具体实施方式
27.下面结合附图对本发明的技术方案作进一步说明。
28.如图1所示,一种基于fadec操作系统的故障快速定位方法主要包括任务超时故障快速定位方法和非预期异常中断故障快速定位方法,其中,任务超时故障快速定位方法的原理图见图2,非预期异常中断故障快速定位方法的原理图见图3,具体如下:
29.(1)任务超时故障快速定位方法。
30.(1.1)在每个定时中断的函数入口处获取被打断的地址;如果操作系统软件正常运行,被打断的地址是后台地址;如果前台任务发生了任务超时故障,被打断的是前台任务发生任务超时故障的地址;对于powerpc架构的处理器,当中断或者异常被识别后,最基本的器件模式信息被保存到存储/恢复寄存器对srr0/srr1中。其中,中断返回地址被保存到srr0寄存器,器件模式寄存器msr的值被保存到srr1中。本方法需要读取srr0寄存器的值,
获取被打断的地址。
31.(1.2)将每个被打断的地址存入外设存储器,若发生任务超时故障则会引发看门狗复位;外设存储器是非易失存储器,比如nvram或flash,看门狗复位后不会丢失记录的被中断返回地址。
32.(1.3)发生复位后,操作系统读取记录的任务超时故障地址,并通过串口打印该地址;或者将地址传递给应用层,在监视上位机监视;记录或者打印的任务超时信息数据结构设计如图4所示。
33.(1.4)硬件提供复位源信息供软件读取,可监视复位源是上电复位还是看门狗复位;软件通过查看复位源判断该地址是否有效,只有当是因为看门狗超时引起复位时,该地址有效,认为已经发生了任务超时故障。
34.(1.5)查看编译链接文件,根据记录的超时任务地址查找发生故障的代码位置;
35.(2)非预期异常中断故障快速定位方法;
36.(2.1)在每个非预期异常中断的异常处理函数入口处获取发生异常中断的地址和异常类型;操作系统软件正常运行时不会进入异常处理函数;对于powerpc架构的处理器,当中断或者异常被识别后,最基本的器件模式信息被保存到存储/恢复寄存器对srr0/srr1中。其中,中断返回地址被保存到srr0寄存器,器件模式寄存器msr的值被保存到srr1中。此外,powerpc架构的处理器还提供异常特征寄存器esr,由于有一些异常情况共用了一个中断或异常向量,通过检查esr来请确定发生了哪种异常情况;提供数据异常地址寄存器dear,可帮助操作系统代码定位引发访问权限异常的地址。本方法需要读取srr0寄存器的值,获取被打断的地址;读取ssr1寄存器的值,获取器件的工作模式;读取esr寄存器,检查异常情况;读取dear寄存器,获取异常数据地址;在不同类型的异常处理函数入口记录异常类型号。
37.(2.2)当发生非预期异常中断时,将异常信息存入外设存储器,同时用串口打印异常信息,并做超时处理,触发看门狗复位;外设存储器是非易失存储器,比如nvram或flash,看门狗复位后不会丢失记录的异常信息。若复位后仍会发生相同异常,则串口频繁打印异常信息,相同的异常信息也会写入相同位置的外设存储器。记录或者打印的异常信息数据结构设计如图5所示。
38.(2.3)若复位后故障消除,软件正常运行,则可以从外设存储器中读取记录的异常信息,传递给应用层,在监视上位机查看;
39.(2.4)查看编译链接map文件,根据记录的异常信息,寻找发生故障的代码位置。
转载请注明原文地址: https://www.8miu.com/read-121.html

最新回复(0)