CN103034497A - 一种能记录嵌入式系统运行过程的方法 - Google Patents
一种能记录嵌入式系统运行过程的方法 Download PDFInfo
- Publication number
- CN103034497A CN103034497A CN2012105397687A CN201210539768A CN103034497A CN 103034497 A CN103034497 A CN 103034497A CN 2012105397687 A CN2012105397687 A CN 2012105397687A CN 201210539768 A CN201210539768 A CN 201210539768A CN 103034497 A CN103034497 A CN 103034497A
- Authority
- CN
- China
- Prior art keywords
- information
- embedded system
- record
- code
- storage medium
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种能记录嵌入式系统运行过程的方法,对嵌入式系统中的软件,在软件启动和正常停止的代码中,都加入将记录信息写入存储介质的代码;在软件运行的任一阶段,都可以根据需要加入将该阶段已经完成的信息写入所述的存储介质的代码;在系统因为掉电而异常停止前,通过掉电中断函数的执行将异常退出的信息写入所述的存储介质。本发明便于系统设计与开发人员分析系统运行状态,并对系统进行调试和排故,增强了系统的可维护性。
Description
技术领域
本发明属于软件开发技术范围,更具体说是一种能记录嵌入式系统运行过程的方法。
背景技术
相对于一般计算机而言,嵌入式系统主要用于特定任务的处理,被广泛用于航空、航天、工业控制、数字信息化家电等领域。在我们日常生活中,也已经能够越来越多地接触到,例如手机、电视、洗衣机、电冰箱、电饭煲、空调、汽车、数码相机等都包含各种嵌入式系统。
对于较为复杂的嵌入式系统,一旦出现故障,如果没有相关的运行记录,往往很难定位故障原因,导致无法顺利解决故障。因此,在嵌入式系统运行期间能够记录其运行过程是一个较为重要的特性,有利于快速定位和解决故障。
发明内容
本发明的目的在于提供一种能记录嵌入式系统运行过程的方法,使系统能够在运行期间记录其自身的运行状态,即使在异常掉电的情况下,其记录在存储介质上的运行状态也不会丢失,从而便于嵌入式系统的开发人员查看系统运行记录,进行故障诊断。
本发明的发明目的是通过如下技术方案实现的:
一种能记录嵌入式系统运行过程的方法,包含有如下步骤:
A.对嵌入式系统运行的软件的代码,判断是否需要记录启动信息,如果是,在其启动函数中,加入将启动信息写入存储介质的代码;否则,执行步骤B;
B.对嵌入式系统运行的软件的代码,按照其执行流程,在每完成一个阶段后,判断是否需要记录该阶段已经完成的信息,如果是,则加入将该阶段已完成的信息写入存储介质的代码;否则,继续进行下一个执行阶段的判断;
C.对嵌入式系统运行的软件的代码,判断是否需要记录正常退出信息,如果是,在其正常退出函数中,加入将正常退出信息写入存储介质的代码;否则,执行步骤D;
D.对嵌入式系统运行的软件的代码,判断是否需要记录掉电信息,如果是,增加处理掉电中断的函数,并通过中断连接将其与掉电中断绑定,以使掉电中断产生时,该处理掉电中断的函数被调用;否则,执行步骤F。
E.在处理掉电中断的函数中,将掉电信息写入存储介质。
F.将上述经过更改的代码经过编译链接生成可执行文件,烧入所述的嵌入式系统中。
所述的存储介质在嵌入式系统下电后,其存储的内容不会丢失或改变,在系统重新上电后,能继续读取和写入数据。
所述的外部编译生成的软件能够读取存储介质上的数据,并能将数据写入存储介质。
所述的启动信息可以包括与系统启动阶段相关的任何信息,例如:当前时间、启动是否正常、启动所花费的时间等。
所述的该阶段已完成的信息可以包括表明当前系统所处阶段的任何信息,例如:当前时间、之前阶段系统运行是否正常等。
所述的正常退出信息可以包括与系统正常退出相关的任何信息,例如:当前时间、开始退出的时间、退出完成时间、退出是否正常等。
所述的掉电信息可以包括与掉电时系统状态相关的任何信息,例如:当前时间、系统所处的状态、系统正在进行的操作、掉电将造成的结果等。
本发明的嵌入式系统中具有能够反复读取和写入数据的存储介质,在其中能运行外部编译生成的软件,并且其能够在外部电源断电的情况下,保持一个短暂时间的供电,并在内部产生掉电中断。无论是在正常运行或异常掉电期间,系统都会将包含运行状态的信息写入存储介质。对嵌入式系统中的软件,在软件启动和正常停止的代码中,都加入将记录信息写入存储介质的代码;在软件运行的任一阶段,都可以根据需要加入将该阶段已经完成的信息写入所述的存储介质的代码;在系统因为掉电而异常停止前,通过掉电中断函数的执行将异常退出的信息写入所述的存储介质。
本发明在利用嵌入式系统软件自身的运行记录下系统运行的状态,便于系统设计与开发人员分析系统运行状态,并对系统进行调试和排故,增强了系统的可维护性。
附图说明
图1为本发明对嵌入式系统的软件代码修改流程图;
图2为本发明掉电时记录其状态的流程图。
具体实施方式
下面参照附图1和附图2对本发明中的具体实施方式进行详细的说明。
实施例
参见图1,为对嵌入式系统的软件代码修改流程图,其具体过程描述如下。
首先,判断是否需要记录系统启动时的信息。如果是,在启动函数中加入将启动信息写入存储介质的代码,然后继续浏览后续代码。否则直接浏览后续代码。
接着判断是否已经完成了所有阶段的工作。如果是,则判断是否需要记录系统退出信息。否则,需要判断是否已完成一个特定阶段的工作。如果是,则继续判断是否需要记录该阶段已经完成的信息,否则继续浏览后续代码。如果需要记录该阶段已经完成的信息,则加入将已完成的信息写入存储介质的代码,然后继续浏览后续代码。
判断是否需要记录系统退出信息后,如果是,加入将系统退出信息写入存储介质的代码,否则,直接结束。然后接着判断是否需要记录系统掉电信息。如果是,则在掉电中断处理函数中加入将记录信息写入存储介质的代码,并在启动代码中将掉电中断处理函数与掉电中断绑定。否则,直接结束。
如果系统发生掉电情况,则系统的执行如图2所示。
当系统发生掉电时,系统内部的电源模块会检测到失去外部电源,这时它会产生一个掉电中断,并维持一段短暂时间的供电。系统检测到该掉电中断后,会调用之前软件中实现并注册的掉电中断函数。在该函数执行时,会将此时系统运行状态信息写入存储介质。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种能记录嵌入式系统运行过程的方法,其特征在于,包括如下步骤:
A.对嵌入式系统运行的软件的代码,判断是否需要记录启动信息,如果是,在其启动函数中,加入将启动信息写入存储介质的代码;否则,执行步骤B;
B.对嵌入式系统运行的软件的代码,按照其执行流程,在每完成一个阶段后,判断是否需要记录该阶段已经完成的信息,如果是,则加入将该阶段已完成的信息写入存储介质的代码;否则,继续进行下一个执行阶段的判断;
C.对嵌入式系统运行的软件的代码,判断是否需要记录正常退出信息,如果是,在其正常退出函数中,加入将正常退出信息写入存储介质的代码;否则,执行步骤D;
D.对嵌入式系统运行的软件的代码,判断是否需要记录掉电信息,如果是,增加处理掉电中断的函数,并通过中断连接将其与掉电中断绑定,以使掉电中断产生时,该处理掉电中断的函数被调用;否则,执行步骤F;
E.在处理掉电中断的函数中,将掉电信息写入存储介质;
F.将上述经过更改的代码经过外部编译链接生成可执行文件,写入所述的嵌入式系统中。
2.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的存储介质在嵌入式系统断电后,其存储的内容不会丢失或改变,在系统重新接上电后,能继续读取和写入数据。
3.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的软件能够读取存储介质上的数据,并能将数据写入存储介质。
4.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的启动信息包括当前时间、启动是否正常、启动所花费的时间。
5.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的该阶段已完成的信息包括表明当前系统所处阶段的任何信息。
6.根据权利要求5所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的该阶段已完成的信息包括当前时间以及之前阶段系统运行是否正常。
7.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的正常退出信息包括与系统正常退出相关的任何信息。
8.根据权利要求7所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的正常退出信息包括例当前时间、开始退出的时间、退出完成时间、和退出是否正常。
9.根据权利要求1所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的掉电信息包括与掉电时系统状态相关的任何信息。
10.根据权利要求9所述的一种能记录嵌入式系统运行过程的方法,其特征在于,所述的掉电信息包括当前时间、系统所处的状态、系统正在进行的操作、掉电将造成的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105397687A CN103034497A (zh) | 2012-12-13 | 2012-12-13 | 一种能记录嵌入式系统运行过程的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105397687A CN103034497A (zh) | 2012-12-13 | 2012-12-13 | 一种能记录嵌入式系统运行过程的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103034497A true CN103034497A (zh) | 2013-04-10 |
Family
ID=48021423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105397687A Pending CN103034497A (zh) | 2012-12-13 | 2012-12-13 | 一种能记录嵌入式系统运行过程的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103034497A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250215A (zh) * | 2016-07-20 | 2016-12-21 | 中国航空工业集团公司航空动力控制系统研究所 | 嵌入式控制软件的中断情况图形化展示方法 |
CN109933480A (zh) * | 2019-03-15 | 2019-06-25 | 捷德(中国)信息科技有限公司 | 一种cos嵌入式开发盲调方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式系统多任务并发调试的方法 |
US20050039169A1 (en) * | 2003-08-14 | 2005-02-17 | Yu-Cheng Hsu | Integrated source code debugging apparatus method and system |
CN101135990A (zh) * | 2007-06-19 | 2008-03-05 | 中兴通讯股份有限公司 | 系统故障定位方法 |
CN101551772A (zh) * | 2009-05-08 | 2009-10-07 | 中兴通讯股份有限公司 | 嵌入式通信设备异常信息记录方法及装置 |
CN102307367A (zh) * | 2011-08-18 | 2012-01-04 | 大唐移动通信设备有限公司 | 一种通信设备及掉电告警方法 |
-
2012
- 2012-12-13 CN CN2012105397687A patent/CN103034497A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050039169A1 (en) * | 2003-08-14 | 2005-02-17 | Yu-Cheng Hsu | Integrated source code debugging apparatus method and system |
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式系统多任务并发调试的方法 |
CN101135990A (zh) * | 2007-06-19 | 2008-03-05 | 中兴通讯股份有限公司 | 系统故障定位方法 |
CN101551772A (zh) * | 2009-05-08 | 2009-10-07 | 中兴通讯股份有限公司 | 嵌入式通信设备异常信息记录方法及装置 |
CN102307367A (zh) * | 2011-08-18 | 2012-01-04 | 大唐移动通信设备有限公司 | 一种通信设备及掉电告警方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250215A (zh) * | 2016-07-20 | 2016-12-21 | 中国航空工业集团公司航空动力控制系统研究所 | 嵌入式控制软件的中断情况图形化展示方法 |
CN106250215B (zh) * | 2016-07-20 | 2019-05-31 | 中国航空工业集团公司航空动力控制系统研究所 | 嵌入式控制软件的中断情况图形化展示方法 |
CN109933480A (zh) * | 2019-03-15 | 2019-06-25 | 捷德(中国)信息科技有限公司 | 一种cos嵌入式开发盲调方法、系统、设备及存储介质 |
CN109933480B (zh) * | 2019-03-15 | 2023-04-21 | 捷德(中国)科技有限公司 | 一种cos嵌入式开发盲调方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10394655B2 (en) | Method for detecting abnormal application and mobile terminal | |
CN102819404B (zh) | 基本输入输出系统bios的界面显示方法 | |
CN102981957B (zh) | 虚断点脚本调试方法 | |
CN102279784B (zh) | 一种电子设备及其系统资源使用状态的提示方法、系统 | |
CN103907077A (zh) | 用于改善初始终端用户交互响应的推测性系统启动 | |
CN102693144B (zh) | 一种Android移动终端的电容屏固件升级的方法 | |
CN102339118B (zh) | 一种终端关闭控制方法及系统 | |
CN103729221A (zh) | 一种将bios调试信息放入到硬盘中的方法及装置 | |
CN103853147B (zh) | 一种嵌入式系统的在线调试系统 | |
CN103019899A (zh) | 一种智能终端事件回放的方法、系统和智能终端 | |
TWI232371B (en) | An uninterruptible power supply (UPS) supporting system and method | |
CN105373210A (zh) | 一种省电方法、装置及电子设备 | |
CN103034497A (zh) | 一种能记录嵌入式系统运行过程的方法 | |
CN103873516A (zh) | 提高云计算资源池中物理服务器使用率的ha方法和系统 | |
CN103176808B (zh) | 一体成型桌上型电脑的开机方法 | |
CN105824750A (zh) | 一种在NorFlash程序空间调试的软断点模拟方法 | |
CN103235746B (zh) | 服务器一体机自动恢复方法 | |
CN101866212A (zh) | 一种多模式电源管理装置及管理方法 | |
CN103176813A (zh) | 于休眠机制的方法及其计算机系统 | |
CN109144844B (zh) | 追踪方法、装置、设备和机器可读介质 | |
CN103019694A (zh) | 恢复网络设定参数的系统及方法 | |
CN103257894A (zh) | 一种管理程序的方法及电子终端 | |
CN103123603B (zh) | 调试系统及执行调试系统操作的方法 | |
CN109922014A (zh) | 一种交换机冷热启动判断方法及系统 | |
CN105677407A (zh) | 应用程序关闭方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130410 |