CN1427562A - 嵌入式实时操作系统运行错误捕获和记录的方法 - Google Patents

嵌入式实时操作系统运行错误捕获和记录的方法 Download PDF

Info

Publication number
CN1427562A
CN1427562A CN01139174A CN01139174A CN1427562A CN 1427562 A CN1427562 A CN 1427562A CN 01139174 A CN01139174 A CN 01139174A CN 01139174 A CN01139174 A CN 01139174A CN 1427562 A CN1427562 A CN 1427562A
Authority
CN
China
Prior art keywords
task
operating system
write down
embedded real
time
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.)
Granted
Application number
CN01139174A
Other languages
English (en)
Other versions
CN1298119C (zh
Inventor
王旭辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huashang Electric Power Technology Center
CHINA TECHNOLOGY EXCHANGE CO., LTD.
State Grid Beijing Electric Power Co Ltd
Original Assignee
Shanghai No 2 Research Institute of ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai No 2 Research Institute of ZTE Corp filed Critical Shanghai No 2 Research Institute of ZTE Corp
Priority to CNB01139174XA priority Critical patent/CN1298119C/zh
Publication of CN1427562A publication Critical patent/CN1427562A/zh
Application granted granted Critical
Publication of CN1298119C publication Critical patent/CN1298119C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

一种嵌入式实时操作系统运行错误捕获和记录的方法,它至少包括如下步骤:步骤1:开辟记录空间;步骤2:在记录空间中,对每一个任务分配相应的区域,用于记录任务运行状态;步骤3:将当前任务运行状态记录到该空间中。为保证系统最后的信息不被丢失,读写命令不缓存到该记录空间中。本发明能够解决现有技术中存在的对系统崩溃问题难以查找和解决的问题,在系统崩溃以后存留部分信息,可供开发人员查找错误原因,快速定位故障位置,从而极大的提高了查找的效率和准确性。

Description

嵌入式实时操作系统运行错误捕获和记录的方法
所属技术领域
本发明涉及一种监控嵌入式实时操作系统运转状况的方法,尤其是一种能够捕获并记录在系统崩溃时设备运行异常情况信息的方法。
背景技术
在通讯领域里,实时操作系统被广泛应用着。在应用程序运行过程当中由于设计不可避免的缺陷,尤其是在研发阶段,造成系统复位的事情时有发生。目前对于负荷造成的系统复位往往有较详尽的记录,但是对于系统崩溃的情况,就难以留下有价值的记录。
目前在嵌入式系统领域,异常情况的捕获大多采用底层操作系统(如:PSOS,VXWORK等)提供的错误陷阱机制。设置错误陷阱可以在系统发生异常时陷入错误捕获中断,对错误情况进行分析记录等工作,甚至可以恢复正常运行。但是,对于某些严重的错误(例如程序指针错误等)可能导致系统立即瘫痪,错误陷阱根本无法工作,此时没有一种有力的工具或方法查错,将会使恢复后了解问题的症结所在,进行调试工作和问题的解决遇到巨大的困难。
发明内容
本发明的目的是为了克服了现有技术中对系统监控方面的不足,而提供一种嵌入式实时操作系统运行错误捕获和记录的方法,它能够解决现有技术中存在的对系统崩溃问题难以查找和解决的问题,在系统崩溃以后存留部分信息,可供开发人员查找错误原因,快速定位故障位置,从而极大的提高了查找的效率和准确性。
本发明的目的是这样实现的:
一种嵌入式实时操作系统运行错误捕获和记录的方法,它至少包括如下步骤:
步骤1:开辟记录空间;
步骤2:在记录空间中,对每一个任务分配相应的区域,用于记录相应任务的运行状态;
步骤3:将当前任务运行状态记录到与之相应的空间中。
为保证存留系统的最后一次记录信息,读写命令不缓存到该记录空间中。
针对系统初始化受程序控制的系统,所述的步骤1进一步为:开辟内存的一部分为记录空间,当系统上电时,提取相应区域的遗留记录,写入非易失存储器中后,再进行内存初始化。
所述的非易失存储器为闪存。
针对系统初始化不受程序控制的系统,所述的步骤1进一步为:在系统初始化不受程序控制的系统,内存和外部的高速存储装置之间设有高速传输通道,将该高速存储装置作为记录空间。
所述的高速存储装置为闪存或高速硬盘。
所述的步骤1中的任务运行状态至少包括任务运行标志、任务起始运行时刻、当前任务执行阶段、任务当前处理的信号。当前任务执行阶段为当前任务执行的功能模块,以便对任务运行阶段的记录可以更加精确的定位到更小的模块单位;所述的任务当前处理的信号为当前任务处理消息的部分消息,以便缩小判断故障的范围。
所述的步骤3中记录前包括对系统任务信号等待部分进行监控,通过等待信号判断任务的运行状态。
根据上述技术方案分析可知,本发明对于系统故障定位上起到了重要的作用,使系统的可维护性得以大幅度的提高。
附图说明
图1为本发明的一种信息存储结构示意图。
图2为本发明的另一种信息存储结构示意图。
图3为本发明的任务运行流程图。
图4为图1所示系统启动流程图。
具体实施方式
本发明的基本内容为:开辟记录空间、记录运行信息、存储运行信息,人们可根据存储的运行信息分析系统故障的原因。
一、开辟记录空间
对于不同的系统架构的特点大致有两种存储的方法:
如图1、4所示。对于内存(SDRAM)的初始化受自身程序控制的系统,可以通过采用一些初始化方面的技巧,在内存中直接开辟一段区域来记录运行信息。由于对内存的初始化可以很好的控制,在系统上电初始化,首先对相应的区域残留信息保存到永久存储器中,例如硬盘、非易失性闪存等,然后才能进行内存的初始化,可以使方案达到最好的效果。图1所示为内部开辟记录区域的形式,其中阴影部分为任务记录区域,此区域应当被初始化设置为CPU缓存不缓冲区域(嵌入式系统如:PSOS、VxWorks都提供此设置功能);关闭缓存功能可以保证最后时刻的运行信息不会丢失。
具体地,在嵌入式单板刚刚启动的时候,执行初始化程序之前,先对RAM中的残留信息进行分析,如果发现是有用信息后,将信息组织存储到固化存储器中,待信息存储完毕再开始系统的初始化过程,按照正常的步骤启动应用程序。此时,系统中的记录跟踪机制开始了又一轮的监控工作。
存储在固化存储器中的信息通过接口提取后可以共开发人员进行故障分析。由于存储在永久存储器中,所以即使设备故障发生几天后,仍然可以提取到对后期分析非常有用的数据信息。
对于内存的初始化不受自己程序控制的系统,无法采用上述手段来进行信息的存储,必须在系统之外寻找高速的外存设备,而且必须保证此设备在系统复位后信息不会丢失。如图2所示,一工控机通过高速通道接外部高速存储器,这样就可以解决数据存储的难题,由于外部单板的信息不会随工控机复位消失,所以工控机可以在崩溃后再次取出数据进行分析。
对上述两种方法都需要注意的一个问题就是,在信息写入已开辟的内存区域时,必须保证读写命令不被缓存。由于CPU中有内存的部分缓存功能,如果不对此进行考虑,那么具有可能丢失系统最后时刻的一些信息。
二、记录运行信息
在实时操作系统架构上的软件结构,一般都是由若干不同优先级的任务组成,这些任务会互相抢占运行,因此,获取系统崩溃时有哪些任务正在运行就对以后的分析起到很大的作用。在系统初始化的时候,对每一个任务分配相应的区域记录运行状态。记录的内容包括:
任务运行标志:标识任务当前时在运行中还是在等待信号,通过这个标志可以很容易定位最后时刻可能出现问题的任务。
任务起始运行的时刻:任务处理本次信号的开始时间,结合第一个标志可以详细定位错误过程。
任务运行的阶段:当前任务执行的功能模块,对任务运行阶段的记录可以更加精确的定位到更小的模块单位。
任务当前处理的信号:记录任务当前所处理消息的部分信息,可以对故障范围的缩小起到很重要的作用。
在实时系统中的任务和状态机都是基于信号事件触发的,所以只要对信号等待部分进行监控就可以对系统运行进行有效的记录。如图3所示,任务的开始是在等待的信号返回时认定的,而处理完当前信号后再次进入等待信号时则认为任务当前一次运行的结束。这样通过等待信号就可以判断任务是否在运行中。
在标志任务运行开始操作时还应当同时记录任务当前收到的信号的信息以及启动时刻信息等等会对问题分析有重要意义的许多信息。
三、运行信息存储
系统再出现故障上电之后,首先对上次运行的记录信息进行提取并存储到永久性存储器中(例如:硬盘、闪存等)。在信息提取结束后,对信息记录区域进行初始化并重新开始记录新一次运行的信息。
对于运行信息的分析,在故障产生之后,到达现场的人员可以从永久存储器中提取各次上电的记录进行分析。对于故障的位置可以作如下确认,首先,在没有运行结束的任务中,优先级最高的一个就是故障产生的任务(这是根据抢占式多任务系统的特点得出的结论),然后再根据对此任务的信号消息的分析等等就可以迅速缩小排查的范围,定位问题的区域从而解决问题。

Claims (10)

1、一种嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:它至少包括如下步骤:
步骤1:开辟记录空间;
步骤2:在记录空间中,对每一个任务分配相应的区域,用于记录相应任务的运行状态;
步骤3:将当前任务运行状态记录到与之相应的空间中。
2、如权利要求1所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的步骤还进一步为读写命令不缓存到该记录空间中。
3、如权利要求1所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的步骤1进一步为:在系统初始化受自身程序控制的系统,开辟内存的一部分为记录空间,当系统上电时,提取相应区域的遗留记录,写入非易失存储器中后,再进行内存初始化。
4、如权利要求3所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的非易失存储器为闪存。
5、如权利要求1所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的步骤1进一步为:在系统初始化不受自身程序控制的系统,内存和外部的高速存储装置之间设有高速传输通道,将该高速存储装置作为记录空间。
6、如权利要求5所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的永久高速存储装置为闪存或高速硬盘。
7、如权利要求1所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的步骤2中的任务运行状态至少包括任务运行标志、任务起始运行时刻、当前任务执行阶段、任务当前处理的信号。
8、如权利要求7所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的当前任务执行阶段为当前任务执行的功能模块。
9、如权利要求7所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的任务当前处理的信号为当前任务处理消息的部分消息。
10、如权利要求1所述的嵌入式实时操作系统运行错误捕获和记录的方法,其特征在于:所述的步骤3中在记录前还对系统任务信号等待部分进行监控,通过等待信号判断任务的运行状态。
CNB01139174XA 2001-12-19 2001-12-19 嵌入式实时操作系统运行错误捕获和记录的方法 Expired - Fee Related CN1298119C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB01139174XA CN1298119C (zh) 2001-12-19 2001-12-19 嵌入式实时操作系统运行错误捕获和记录的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB01139174XA CN1298119C (zh) 2001-12-19 2001-12-19 嵌入式实时操作系统运行错误捕获和记录的方法

Publications (2)

Publication Number Publication Date
CN1427562A true CN1427562A (zh) 2003-07-02
CN1298119C CN1298119C (zh) 2007-01-31

Family

ID=4675099

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01139174XA Expired - Fee Related CN1298119C (zh) 2001-12-19 2001-12-19 嵌入式实时操作系统运行错误捕获和记录的方法

Country Status (1)

Country Link
CN (1) CN1298119C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357933C (zh) * 2003-12-30 2007-12-26 中国科学院空间科学与应用研究中心 一种基于386ex cpu的嵌入式计算机系统
CN100461924C (zh) * 2005-11-01 2009-02-11 华为技术有限公司 一种NodeB小区级故障的定位分析方法
CN102622322A (zh) * 2012-02-24 2012-08-01 华为技术有限公司 一种利用黑匣子获取崩溃信息的方法、黑匣子及服务器
CN104572417A (zh) * 2015-01-20 2015-04-29 天津市英贝特航天科技有限公司 基于cmos存储器的操作系统故障跟踪分析方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1141644C (zh) * 1999-11-20 2004-03-10 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
AU2001100013A4 (en) * 2001-05-24 2001-08-02 Ryall, John Victor Embedded maintenance umbrella

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357933C (zh) * 2003-12-30 2007-12-26 中国科学院空间科学与应用研究中心 一种基于386ex cpu的嵌入式计算机系统
CN100461924C (zh) * 2005-11-01 2009-02-11 华为技术有限公司 一种NodeB小区级故障的定位分析方法
CN102622322A (zh) * 2012-02-24 2012-08-01 华为技术有限公司 一种利用黑匣子获取崩溃信息的方法、黑匣子及服务器
CN102622322B (zh) * 2012-02-24 2015-09-09 华为技术有限公司 一种利用黑匣子获取崩溃信息的方法、黑匣子及服务器
CN104572417A (zh) * 2015-01-20 2015-04-29 天津市英贝特航天科技有限公司 基于cmos存储器的操作系统故障跟踪分析方法
CN104572417B (zh) * 2015-01-20 2018-02-23 天津市英贝特航天科技有限公司 基于cmos存储器的操作系统故障跟踪分析方法

Also Published As

Publication number Publication date
CN1298119C (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
US8117600B1 (en) System and method for detecting in-line synchronization primitives in binary applications
CN1008778B (zh) 计算系统中用于故障恢复的方法和设备
EP2686772B1 (en) Diagnosing code using single step execution
US20070168989A1 (en) Compressed program recording
US20170344374A1 (en) Processor with efficient reorder buffer (rob) management
US8930761B2 (en) Test case result processing
CN1723465A (zh) 加载可信操作系统的方法和装置
JP2013503379A (ja) 効率的なキャッシュ・サポートを有するトランザクショナル・メモリ・システム
JP2006323826A (ja) データベース管理システムでログ書込みを実行するシステム
WO2011111172A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20040117690A1 (en) Method and apparatus for using a hardware disk controller for storing processor execution trace information on a storage device
KR101862094B1 (ko) 트랜잭션 메모리 프로그램을 위한 소프트웨어 재생기
US8972794B2 (en) Method and apparatus for diagnostic recording using transactional memory
CN1298119C (zh) 嵌入式实时操作系统运行错误捕获和记录的方法
CN115328796A (zh) 一种用于arm架构的软件漏洞辅助定位方法和系统
US20030135718A1 (en) Method and system using hardware assistance for instruction tracing by revealing executed opcode or instruction
CN111931191A (zh) Linux平台二进制软件堆溢漏洞动态检测方法及系统
US20100268993A1 (en) Disablement of an exception generating operation of a client system
CN1425988A (zh) 具有写保护功能的硬盘及其实现方法
US11379233B2 (en) Apparatus and data processing method for transactional memory
JP7049275B2 (ja) 診断データキャプチャ
Maebe et al. Instrumenting JVMs at the machine code level
JPH03105434A (ja) エラーロギングシステム
JP2004348306A (ja) ディスク装置及びディスク装置のロギング方法
CN117827507A (zh) 一种Linux系统重启历史管理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING HUASHANG ELECTRIC POWER TECHNOLOGY CENTER

Effective date: 20131225

Owner name: STATE GRID BEIJING ELECTRIC POWER COMPANY

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20131225

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 100031 XICHENG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20131225

Address after: 100031 Beijing Qianmen West Street, Xicheng District, No. 41

Patentee after: State Grid Beijing Electric Power Company

Patentee after: Beijing Huashang Electric Power Technology Center

Patentee after: CHINA TECHNOLOGY EXCHANGE CO., LTD.

Address before: 518057 Department of law, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070131

Termination date: 20141219

EXPY Termination of patent right or utility model