CN113485884B - 一种基于处理器特性的星载软件异常状态监测方法 - Google Patents
一种基于处理器特性的星载软件异常状态监测方法 Download PDFInfo
- Publication number
- CN113485884B CN113485884B CN202110637299.1A CN202110637299A CN113485884B CN 113485884 B CN113485884 B CN 113485884B CN 202110637299 A CN202110637299 A CN 202110637299A CN 113485884 B CN113485884 B CN 113485884B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- satellite
- software
- address
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Radio Relay Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于处理器特性的星载软件异常状态监测方法。该方法利用SPARC处理器的寄存器窗口特性,可实现软件异常状态的详细记录、存储和下传,在卫星研制阶段有利于对星载软件测试过程中出现的非预期结果进行分析,为软件质量提升的提供帮助,在卫星服役期间可以为地面对软件异常状态分析提供了有力支撑。
Description
技术领域
本发明涉及一种基于处理器特性的星载软件异常状态监测方法,主要用于使用SPARC处理器的星载软件研制过程中的质量提升和卫星在轨异常问题的快速定位。
背景技术
星载软件异常状态监测是实现软件研制过程中的质量提升和卫星在轨异常问题的快速定位的重要手段。
目前的星载软件异常状态监测的异常分支记录函数,通过事先对异常分支进行编号,在异常分支中调用异常记录函数达到监测的目的。其缺点有:1)需要事先对异常分支进行编号;2)每个异常分支中调用的异常记录函数的参数不同;3)随着异常分支监测的增多,异常分支的管理复杂,星载软件容易出错。
采用基于SPARC处理器特性的星载软件异常状态监测方法,相对于传统的星载软件异常状态监测方法其优点有:1)不用事先对异常分支进行编号,异常分支记录函数不用传参数,只需在需要的异常分支中调用,使用更简易方便;2)随着异常分支监测的增多,星载软件不会变得复杂;3)由LST文件可以通过工具自动生成查询数据文件。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了种基于处理器特性的星载软件异常状态监测方法,是实现软件研制过程中的质量提升和卫星在轨异常问题的快速定位的重要手段。
本发明采用的技术解决方案是:
一种基于处理器特性的星载软件异常状态监测方法,步骤如下:
(1)设计软件异常分支记录函数AbBranchRecord;
(2)在星载软件需要记录的异常分支调用AbBranchRecord函数;
(3)将异常存储变量中的内容通过遥测通道下传;
(4)通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件。
步骤(1)所述设计软件异常分支记录函数AbBranchRecord,具体包括如下步骤:
(1.1)在星载软件运行的SRAM存储器中,在未用内存空间中划分一个32位存储空间,作为异常分支对应的指令地址存储区;
(1.2)设计一个异常记录结构体,结构体内定义故障的产生时间、故障产生的地址;
(1.3)设计一个异常存储结构体,结构体内定义异常记录数组、当前存储的位置指针,并定义异常存储变量;
(1.4)利用SPARC处理器窗口寄存器i7存储返回地址的原理,用汇编语言将i7寄存器的值存储在指令地址存储区;
(1.5)将指令地址存储区的内容与异常存储变量中已存储的指令内容进行匹配。如果指令内容匹配,将更新指令内容匹配的位置的星时为当前星时,跳到(1.7);如果指令内容不匹配,将指令地址存储区的内容写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生地址中,将当前星载软件星时写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生时间中;
(1.6)异常存储变量中当前存储的位置指针的值加1;
(1.7)判断异常存储变量中当前存储的位置指针的值,如果异常存储变量中当前存储的位置指针的值大于等于N,则设置异常存储变量中当前存储的位置指针的值等于0。
步骤(4)通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件,具体包括如下步骤:
(4.1)在LST文件中找到软件异常分支记录函数AbBranchRecord的绝对地址;
(4.2)根据程序存储区的起始地址计算出软件异常分支记录函数AbBranchRecord的相对地址;
(4.3)根据相对地址查询出LST文件中所有调用AbBranchRecord的指令地址,并和星载软件的源代码形成关联,形成查询数据文件。
一种基于处理器特性的星载软件异常状态监测系统,包括函数创建模块、调用模块、传输模块和查询检索模块
函数创建模块设计软件异常分支记录函数AbBranchRecord;
调用模块在星载软件需要记录的异常分支调用AbBranchRecord函数;
传输模块将异常存储变量中的内容通过遥测通道下传;
查询检索模块通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件。
本发明与现有技术相比带来的有益效果为:
本发明通过对基于处理器特性的星载软件异常状态监测,在不增加软件复杂度的情况下,可以灵活高效的增加异常分支监测的数量,有利于星载软件研制阶段的质量提升和卫星在轨服务异常问题的快速定位。
附图说明
图1为本发明软件异常分支记录函数AbBranchRecord流程图;
图2为本发明软件异常分支查询数据文件生成流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
本发明提出一种基于处理器特性的星载软件异常状态监测方法。设计软件异常分支记录函数AbBranchRecord;在星载软件需要记录的异常分支调用AbBranchRecord函数;将异常存储变量中的内容通过遥测通道下传;通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件。根据遥测下传的异常存储变量中的指令地址和星载软件异常分支的查询数据文件中的故障产生地址进行匹配,就可以定位故障产生的时间和位置。
具体的,如图1~图2所示,本发明提出的一种基于处理器特性的星载软件异常状态监测方法,步骤如下:
(1)在星载软件运行的SRAM存储器中,在未用内存空间中划分一个32位存储空间,作为异常分支对应的指令地址存储区;
(2)设计一个异常记录结构体,结构体内定义故障的产生时间、故障产生的地址;
(3)设计一个异常存储结构体,结构体内定义异常记录数组、当前存储的位置指针,并定义异常存储变量;
(4)利用SPARC处理器窗口寄存器i7存储返回地址的原理,用汇编语言将i7寄存器的值存储在指令地址存储区;
(5)将指令地址存储区的内容与异常存储变量中已存储的指令内容进行匹配。如果指令内容匹配,将更新指令内容匹配的位置的星时为当前星时,跳到(1.7);如果指令内容不匹配,将指令地址存储区的内容写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生地址中,将当前星载软件星时写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生时间中;
(6)异常存储变量中当前存储的位置指针的值加1;
(7)判断异常存储变量中当前存储的位置指针的值,如果异常存储变量中当前存储的位置指针的值大于等于N,则设置异常存储变量中当前存储的位置指针的值等于0;
(8)在星载软件中需要进行异常监测的分支调用函数AbBranchRecord;
(9)将异常存储变量中的内容通过遥测通道下传;
(10)在LST文件中找到软件异常分支记录函数AbBranchRecord的绝对地址;
(11)根据程序存储区的起始地址计算出软件异常分支记录函数AbBranchRecord的相对地址;
(12)根据相对地址查询出LST文件中所有调用AbBranchRecord的指令地址,并和星载软件的源代码形成关联,形成查询数据文件;
(13)遥测下传的异常存储变量中的指令地址和星载软件异常分支的查询数据文件中的故障产生地址进行匹配,定位故障产生的时间和位置。
本发明还涉及一种基于处理器特性的星载软件异常状态监测系统,其特征在于:包括函数创建模块、调用模块、传输模块和查询检索模块函数创建模块设计软件异常分支记录函数AbBranchRecord;
调用模块在星载软件需要记录的异常分支调用AbBranchRecord函数;
传输模块将异常存储变量中的内容通过遥测通道下传;
查询检索模块通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件。
本发明通过对基于处理器特性的星载软件异常状态监测,在不增加软件复杂度的情况下,可以灵活高效的增加异常分支监测的数量,有利于星载软件研制阶段的质量提升和卫星在轨服务异常问题的快速定位。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (2)
1.一种基于处理器特性的星载软件异常状态监测方法,其特征在于步骤如下:
(1)设计软件异常分支记录函数AbBranchRecord;
(2)在星载软件需要记录的异常分支调用AbBranchRecord函数;
(3)将异常存储变量中的内容通过遥测通道下传;
(4)通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件;
步骤(1)所述设计软件异常分支记录函数AbBranchRecord,具体包括如下步骤:
(1.1)在星载软件运行的SRAM存储器中,在未用内存空间中划分一个32位存储空间,作为异常分支对应的指令地址存储区;
(1.2)设计一个异常记录结构体;
(1.3)设计一个异常存储结构体;
(1.4)利用SPARC处理器窗口寄存器i7存储返回地址的原理,用汇编语言将i7寄存器的值存储在指令地址存储区;
(1.5)将指令地址存储区的内容与异常存储变量中已存储的指令内容进行匹配;如果指令内容匹配,将更新指令内容匹配的位置的星时为当前星时,跳到(1.7);如果指令内容不匹配,将指令地址存储区的内容写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生地址中,将当前星载软件星时写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生时间中;
(1.6)异常存储变量中当前存储的位置指针的值加1;
(1.7)判断异常存储变量中当前存储的位置指针的值,如果异常存储变量中当前存储的位置指针的值大于等于N,则设置异常存储变量中当前存储的位置指针的值等于0;
所述异常记录结构体内定义故障的产生时间、故障产生的地址;
所述异常存储结构体内定义异常记录数组、当前存储的位置指针,并定义异常存储变量;
步骤(4)通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件,具体包括如下步骤:
(4.1)在LST文件中找到软件异常分支记录函数AbBranchRecord的绝对地址;
(4.2)根据程序存储区的起始地址计算出软件异常分支记录函数AbBranchRecord的相对地址;
(4.3)根据相对地址查询出LST文件中所有调用AbBranchRecord的指令地址,并和星载软件的源代码形成关联,形成查询数据文件。
2.一种基于处理器特性的星载软件异常状态监测系统,其特征在于:包括函数创建模块、调用模块、传输模块和查询检索模块;
函数创建模块设计软件异常分支记录函数AbBranchRecord;
调用模块在星载软件需要记录的异常分支调用AbBranchRecord函数;
传输模块将异常存储变量中的内容通过遥测通道下传;
查询检索模块通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件;
所述函数创建模块设计软件异常分支记录函数AbBranchRecord,具体包括如下步骤:
(1.1)在星载软件运行的SRAM存储器中,在未用内存空间中划分一个32位存储空间,作为异常分支对应的指令地址存储区;
(1.2)设计一个异常记录结构体;
(1.3)设计一个异常存储结构体;
(1.4)利用SPARC处理器窗口寄存器i7存储返回地址的原理,用汇编语言将i7寄存器的值存储在指令地址存储区;
(1.5)将指令地址存储区的内容与异常存储变量中已存储的指令内容进行匹配;如果指令内容匹配,将更新指令内容匹配的位置的星时为当前星时,跳到(1.7);如果指令内容不匹配,将指令地址存储区的内容写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生地址中,将当前星载软件星时写入异常存储变量中当前存储位置指针指向的异常记录数据的故障产生时间中;
(1.6)异常存储变量中当前存储的位置指针的值加1;
(1.7)判断异常存储变量中当前存储的位置指针的值,如果异常存储变量中当前存储的位置指针的值大于等于N,则设置异常存储变量中当前存储的位置指针的值等于0;
所述异常记录结构体内定义故障的产生时间、故障产生的地址;
所述异常存储结构体内定义异常记录数组、当前存储的位置指针,并定义异常存储变量;
通过编译链接生成的LST文件,将星载软件调用AbBranchRecord函数的异常分支的地址形成查询数据文件,具体包括如下步骤:
(4.1)在LST文件中找到软件异常分支记录函数AbBranchRecord的绝对地址;
(4.2)根据程序存储区的起始地址计算出软件异常分支记录函数AbBranchRecord的相对地址;
(4.3)根据相对地址查询出LST文件中所有调用AbBranchRecord的指令地址,并和星载软件的源代码形成关联,形成查询数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637299.1A CN113485884B (zh) | 2021-06-08 | 2021-06-08 | 一种基于处理器特性的星载软件异常状态监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637299.1A CN113485884B (zh) | 2021-06-08 | 2021-06-08 | 一种基于处理器特性的星载软件异常状态监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485884A CN113485884A (zh) | 2021-10-08 |
CN113485884B true CN113485884B (zh) | 2023-06-06 |
Family
ID=77935011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110637299.1A Active CN113485884B (zh) | 2021-06-08 | 2021-06-08 | 一种基于处理器特性的星载软件异常状态监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485884B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672428B (zh) * | 2021-10-21 | 2021-12-28 | 北京林业大学 | 一种面向sparc平台的嵌入式软件异常自主处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6113651A (en) * | 1997-07-18 | 2000-09-05 | Kabushiki Kaisha Toshiba | Compile method, a compiler, an exception handler, and a program recording medium |
CN106294071A (zh) * | 2016-08-11 | 2017-01-04 | 宁波舜宇光电信息有限公司 | 一种软件崩溃信息收集方法及其系统 |
CN106776089A (zh) * | 2016-11-28 | 2017-05-31 | 北京遥测技术研究所 | 一种星载嵌入式软件代码自校验纠错方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004013556A (ja) * | 2002-06-07 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ装置、コンパイル装置及びその方法 |
-
2021
- 2021-06-08 CN CN202110637299.1A patent/CN113485884B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6113651A (en) * | 1997-07-18 | 2000-09-05 | Kabushiki Kaisha Toshiba | Compile method, a compiler, an exception handler, and a program recording medium |
CN106294071A (zh) * | 2016-08-11 | 2017-01-04 | 宁波舜宇光电信息有限公司 | 一种软件崩溃信息收集方法及其系统 |
CN106776089A (zh) * | 2016-11-28 | 2017-05-31 | 北京遥测技术研究所 | 一种星载嵌入式软件代码自校验纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113485884A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726093B (zh) | 用于执行测试用例的方法、设备和计算机程序产品 | |
CN109408528B (zh) | 一种数据库脚本生成方法、装置、计算装置和存储介质 | |
CN106980636A (zh) | 保单数据处理方法和装置 | |
CN113485884B (zh) | 一种基于处理器特性的星载软件异常状态监测方法 | |
CN110196809B (zh) | 接口测试方法及装置 | |
CN111966760A (zh) | 基于Hive数据仓库的测试数据生成方法及装置 | |
JP2006178848A (ja) | データベース・システム、データベース・システムのためのコンピュータ実行可能な方法、プログラムおよびデータベース・システムにおける索引テーブルをアップデートする方法 | |
CN114416547A (zh) | 基于测试用例的测试方法 | |
CN107766228B (zh) | 一种基于多语种的自动化测试方法和装置 | |
Zayed et al. | Optimizing the Software Testing Problem Using Search-Based Software Engineering Techniques. | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN112511386A (zh) | 基于robotframework的车载以太网测试方法、系统以及太网测试设备 | |
CN111142848A (zh) | 一种软件程序编译方法、执行方法及装置 | |
CN114817300A (zh) | 基于sql语句的日志查询方法及其应用 | |
CN114924947A (zh) | 代码测试方法、装置、电子设备及存储介质 | |
CN108733845B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN116016158B (zh) | 一种混合云的aPaaS平台部署方法、装置、设备和计算机存储介质 | |
CN104820591A (zh) | 一种通用自主升级软件的开发方法 | |
CN113238889B (zh) | 一种漏洞的问题定位方法及装置、存储介质、终端 | |
Brkić et al. | Test environment code and test-case generators | |
CN109739506B (zh) | 一种高性能应用编译中库函数缺失的处理方法及系统 | |
CN104793939A (zh) | 一种客户端自主升级软件的开发方法 | |
CN117093473A (zh) | 用于大数据测试的方法和系统 | |
CN117389986A (zh) | 数据库兼容性评估方法、装置、电子设备及存储介质 | |
CN104820590A (zh) | 一种客户端自主升级软件开发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |