一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法技术方案

技术编号:39404519 阅读:10 留言:0更新日期:2023-11-19 15:56
一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,属于航天技术领域。本发明专利技术包括:通过软件设计,在软件运行错误导致TRAP时,在RTEMS系统复位之前,根据DDR2中软件运行的现场信息,反推出错误发生的位置。并根据寄存器信息,可以回溯错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态。将这些信息存储在MRAM中,通过内存下卸的方式下传到地面,帮助软件设计人员可以通过这些信息快速定位问题发生的机理及位置。当该软件发生错误导致TRAP时,可通过栈回溯技术快速定位发生问题的机理及位置。的机理及位置。的机理及位置。

【技术实现步骤摘要】
一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法


[0001]本专利技术涉及一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,应用于星载设备中RTEMS操作系统软件的在轨问题分析。

技术介绍

[0002]星载设备中基于RTEMS操作系统软件目前不具备在轨栈回溯功能。
[0003]随着航天器寿命的增长和任务难度的加大,RTEMS操作系统软件的复杂度越来越高且需要长期加电运行。软件在轨运行期间出现错误导致TRAP复位时,在轨期间遥测能够看到的软件运行状态的信息很少,这就造成软件在轨运行期间出现错误后难以快速定位,急需基于RTEMS操作系统栈回溯技术来辅助设计人员快速定位发生问题的机理及位置。

技术实现思路

[0004]本专利技术解决的技术问题是:克服现有技术的不足,提供了一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,当星载RTEMS操作系统软件发生错误导致TRAP时,可通过栈回溯技术快速定位发生问题的机理及位置。
[0005]本专利技术的技术解决方案是:一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,包括:
[0006]当星载RTEMS操作系统软件运行错误导致TRAP类型错误时,在星载RTEMS操作系统复位之前,根据第一存储器中软件运行的现场信息反推出错误发生的位置,并根据寄存器信息,回溯错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态;
[0007]将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并下传至地面,由地面软件设计人员定位问题发生的机理及位置。
[0008]进一步地,将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并通过内存下卸的方式下传至地面。
[0009]进一步地,所述第一存储器为DDR2存储器,所述第二存储器为MRAM存储器。
[0010]进一步地,导致异常的现场信息保存在CPU_Exception_frame类型的结构体中;所述CPU_Exception_frame类型的结构体包含TRAP ID信息和中断帧信息。
[0011]进一步地,所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态包括导致异常的现场信息、星载RTEMS操作系统传递的参数和CPU寄存器信息;所述星载RTEMS操作系统传递的参数包括卫星广播时间;所述CPU寄存器信息包括存储器配置寄存器、中断控制寄、GPIO寄存器的信息。
[0012]进一步地,通过导致异常的现场信息中的%fp和%sp寄存器,回溯堆栈信息,并通过堆栈帧中存储%i7寄存器信息回溯函数调用关系。将栈回溯的所有信息保存到第二存储器中。
[0013]进一步地,栈回溯函数完成工作后,星载RTEMS操作系统调用bsp_reset()函数,系
统复位;复位后,通过上位机发送内存下卸指令。
[0014]进一步地,地面通过分析收到的所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态,定位星载RTEMS操作系统软件复位前的状态,根据异常时的栈信息确定异常函数的调用位置和调用时传递的形参。
[0015]进一步地,地面根据调用函数的栈信息,结合程序的反汇编文件定位程序运行异常的原因并解决问题。
[0016]本专利技术与现有技术相比的优点在于:
[0017]在软件运行异常导致TRAP时,本专利技术可以将异常时的软件状态、CPU寄存器信息、应用层传递的运行参数保存到MRAM中。通过对栈帧中的数据进行分析、可以回溯函数调用关系和函数调用过程中的参数传递并将这些信息存储到MRAM中。将这些信息下传到地面,结合程序的反汇编文件,快速定位异常发生的位置及机理。采用本专利技术所述方法使得软件设计人员可以更清晰地知道RTEMS操作系统软件在轨发生错误前的运行状态,能够快速定位问题的机理及位置。
附图说明
[0018]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0019]图1为本专利技术原理示意图;
[0020]图2为本专利技术进入TRAP后软件处理流程图;
[0021]图3为本专利技术SPARC V8系列CPU叶函数的堆栈信息示意图;栈帧中存储了%l0~%l7、%i0~%i7寄存器等信息。可以依据此信息得到函数输入参数,并根据%fp(%i6)寄存器回溯调用函数的堆栈信息、根据%i7寄存器回溯函数调用的位置。结合执行程序的反汇编文件,可以快速定位导致TRAP的函数调用关系和函数调用时的参数信息。
具体实施方式
[0022]为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
[0023]以下结合说明书附图对本申请实施例所提供的一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法做进一步详细的说明,具体实现方式可以包括(如图1~3所示):通过软件设计,在软件运行错误导致TRAP时,在RTEMS系统复位之前,根据DDR2中软件运行的现场信息,反推出错误发生的位置。并根据寄存器信息,可以回溯错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态。将这些信息存储在MRAM中,通过内存下卸的方式下传到地面,帮助软件设计人员可以通过这些信息快速定位问题发生的机理及位置。具体包括:
[0024]当星载RTEMS操作系统软件运行错误导致TRAP类型错误时,在星载RTEMS操作系统复位之前,根据第一存储器中软件运行的现场信息反推出错误发生的位置,并根据寄存器
信息,回溯错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态;
[0025]将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并下传至地面,由地面软件设计人员定位问题发生的机理及位置。
[0026]进一步,将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并通过内存下卸的方式下传至地面。
[0027]可选的,在一种可能实现的方式中,所述第一存储器为DDR2存储器,所述第二存储器为MRAM存储器。
[0028]在一种可能实现的方式中,导致异常的现场信息保存在CPU_Exception_frame类型的结构体中;所述CPU_Exception_frame类型的结构体包含TRAP ID信息和中断帧信息。
[0029]进一步,在一种可能实现的方式中,所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态包括导致异常的现场信息、星载RTEMS操作系统传递的参数和CPU寄存器信息;所述星载RTEMS操作系统传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,其特征在于,包括:当星载RTEMS操作系统软件运行错误导致TRAP类型错误时,在星载RTEMS操作系统复位之前,根据第一存储器中软件运行的现场信息反推出错误发生的位置,并根据寄存器信息,回溯错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态;将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并下传至地面,由地面软件设计人员定位问题发生的机理及位置。2.根据权利要求1所述的一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,其特征在于,将所述错误发生时函数的调用关系和函数的堆栈信息以及软件运行状态存储在第二存储器中,并通过内存下卸的方式下传至地面。3.根据权利要求1所述的一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,其特征在于,所述第一存储器为DDR2存储器,所述第二存储器为MRAM存储器。4.根据权利要求1所述的一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,其特征在于,导致异常的现场信息保存在CPU_Exception_frame类型的结构体中;所述CPU_Exception_frame类型的结构体包含TRAP ID信息和中断帧信息。5.根据权利要求1所述的一种基于栈回溯的星载RTEMS操作系统软件在轨问题分析方法,其特征在于,所述错误发...

【专利技术属性】
技术研发人员:刘世佳马宏业刘斌李澎赵伟
申请(专利权)人:北京遥测技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1