CN106250215A - 嵌入式控制软件的中断情况图形化展示方法 - Google Patents
嵌入式控制软件的中断情况图形化展示方法 Download PDFInfo
- Publication number
- CN106250215A CN106250215A CN201610577118.XA CN201610577118A CN106250215A CN 106250215 A CN106250215 A CN 106250215A CN 201610577118 A CN201610577118 A CN 201610577118A CN 106250215 A CN106250215 A CN 106250215A
- Authority
- CN
- China
- Prior art keywords
- point
- event
- interrupt event
- interrupt
- coordinate
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种嵌入式控制软件中的中断情况图形化展示方法,其包括如下步骤:步骤a、将所有中断事件的中断时间信息存储形成数据文件;步骤b、读取上述的数据文件,在得到中断事件坐标点Point后,得到中断事件补点坐标点Point_add,所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;数据文件中所有中断事件的坐标点组构成中断事件坐标点集;步骤c、读取上述的中断事件坐标点集,并将所述中断事件坐标点集绘制在展示坐标系中,通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形。本发明操作方便,能有效实现中断情况的展示,便于直观分析控制软件的中断情况,适应范围广。
Description
技术领域
本发明涉及一种方法,尤其是一种嵌入式控制软件中的中断情况图形化展示方法,属于中断监测的技术领域。
背景技术
嵌入式控制软件领域中一个复杂的问题是多中断,该问题影响控制软件的可靠性(如共享变量异常问题、丢失数据问题)和安全性。因此需要对嵌入式控制软件的中断情况进行分析,以支持软件设计改进。
目前,主要通过示波器来监视中断情况,但该方法受到监视数量限制、时间限制、应用环境限制,导致中断情况分析不能深入。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种嵌入式控制软件的中断情况图形化展示方法,其操作方便,能有效实现中断情况的展示,便于直观分析控制软件的中断情况,适应范围广,安全可靠。
按照本发明提供的技术方案,一种嵌入式控制软件的中断情况图形化展示方法,所述中断图形化展示方法包括如下步骤:
步骤a、提供所需的嵌入式控制软件,在所述嵌入式控制软件运行并触发中断时,采集并存储每次中断事件的中断事件信息,将所有中断事件的中断时间信息存储形成数据文件;
步骤b、读取上述的数据文件,对数据文件中每个中断事件的中断事件信息,将中断事件信息中的当前时间time作为中断事件坐标点Point的横坐标、中断标识号id作为中断事件坐标点Point的纵坐标;
在得到中断事件坐标点Point后,根据每个中断事件的事件标志,对所述中断事件坐标点Point进行补点,得到中断事件补点坐标点Point_add,所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;
数据文件中所有中断事件的坐标点组构成中断事件坐标点集;
步骤c、读取上述的中断事件坐标点集,并将所述中断事件坐标点集绘制在展示坐标系中,其中,展示坐标系的横坐标为时间轴,展示坐标系的纵坐标为中断标识号轴;通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形。
所述每次中断事件的中断事件信息包括中断标识号id、嵌套的中断标识号idPV、进入标志EVENT_IN或退出标志EVENT_OUT、嵌套的层次nesting以及当前事件time。
中断事件补点坐标点Point_add的横坐标与中断时间点坐标点Point的横坐标相同,中断事件补点坐标点Point_add的纵坐标为嵌套的中断标识号idPV;当所述中断事件的事件标志为进入标志EVENT_IN时,所述中断事件补点坐标点Point_add位于中断事件坐标点Point前,当中断事件的事件标志为退出标志EVENT_OUT时,中断事件补点坐标点Point_add位于中断事件坐标点Point后。
本发明的优点:采集存储每次中断事件的中断事件信息,将中断事件信息中的当前时间time作为中断事件坐标点Point的横坐标、中断标识号id作为中断事件坐标点Point的纵坐标;所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;数据文件中所有中断事件的坐标点组构成中断事件坐标点集;通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形,利用中断事件图形能有效实现中断情况的展示,便于直观分析控制软件的中断情况,从而降低了时间测量对环境的依赖(如控制器无须开箱、无须逻辑分析仪);能够较为方便的显示多中断执行序列、中断优先级、中断任务执行时间;展示的中断执行序列可以辅助项目分析软件架构设计的合理性,帮助分析中断是否可能会存在阻塞的可能,操作方便,安全可靠。
附图说明
图1为本发明对中断事件坐标点进行补点后的示意图。
图2为本发明将所有的中断事件坐标点、中断事件坐标补点依次连接形成中断事件图形后的示意图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能有效实现中断情况的展示,便于直观分析控制软件的中断情况,本发明中断图形化展示方法包括如下步骤:
步骤a、提供所需的嵌入式控制软件,在所述嵌入式控制软件运行并触发中断时,采集并存储每次中断事件的中断事件信息,将所有中断事件的中断时间信息存储形成数据文件;
本发明实施例中,为了能够采集并存储中断事件的中断事件信息,需要将嵌入式控制软件进入测试状态,并在触发中断时,能够采集以及存储每次中断事件的中断事件信息,可以采用本技术领域常用技术手段使得嵌入式控制软件进入测试状态、以及采集、存储中断事件的中断事件信息,具体过程为本技术领域人员所熟知,此处不再赘述。
所述每次中断事件的中断事件信息包括中断标识号id、嵌套的中断标识号idPV、进入标志EVENT_IN或退出标志EVENT_OUT、嵌套的层次nesting以及当前事件time。在具体实施时,中断事件的中断事件信息可以存储在所需的存储空间中,采集中断事件的数量可以根据存储空间的大小或其他条件确定,具体为本技术领域人员所熟知,此处不再赘述。
具体实施时,触发中断后,在每个中断任务开始时,进行如下处理:
1)、嵌套的层次nesting增1;
2)、保存当前的中断标识号id为当前层次记录thisNestId[nesting]中;
3)、获取嵌套的中断标识号idPV:若嵌套层次为0,则idPV = 0;否则,idPV =thisNestId[nesting-1];
4)、记录当前的中断标识号id;
5)、记录嵌套的中断标识号idPV;
6)、记录事件标志为进入EVENT_IN;
7)、记录嵌套的层次nesting;
8)、当前时间time。
在每个中断任务结束时,进行如下处理:
1)、获取嵌套的中断标识号idPV:若嵌套层次为0,则idPV = 0;否则,idPV =thisNestId[nesting-1];
2)、嵌套的层次nesting减1;
3)、记录当前的中断标识号id;
3)、记录嵌套的中断标识号idPV;
4)、记录事件标志为进入EVENT_OUT;
5)、记录嵌套的层次nesting;
6)、当前时间time。
为了能够实现上述操作,一般可以进行如下的操作,具体地:
S1、根据项目实际情况,定义嵌入式控制软件中各中断的中断标识号id。根据中断优先级从低到高,对应的中断标识号id值由小到大。方便绘图时直观观察到数值高(对应中断标识号大)的线段中断数组低(对应中断标识号小)的线段。为绘图美观,中断标识号id宜在0-32中选择,将后台任务的标号设计为0。
S2、设计数据结构体EVENT,具体包括:中断服务模块的中断标识号id、被嵌套的中断标识号idPV、中断进入退出标志flag、嵌套的层次nesting、当前时间time。定义所述数据结构体类型的数组记录信息缓冲区ERDPool[ERD_POINT_MAX],长度为需要记录的个数ERD_POINT_MAX,用于存储ERD_POINT_MAX个中断事件信息。所述缓冲区占用大量的RAM空间,存储个数ERD_POINT_MAX受空闲RAM空间限制,建议存放的外挂RAM中。也可存放的数据Flash中,需考虑写数据Flash时间。
S3、设计获取时间函数,当调用所述时间函数时,获取时间信息。本发明实施例中,采用32位计数。为方便绘图,采用保持递增的方式,且最小单位设计为us。
S4、设计记录统计数据机构体,具体包括:写位置wRIdx,用于控制对记录信息缓冲区ERDPool写操作位置;读位置rRIdx,用于控制对记录信息缓冲区ERDPool读操作位置;记录使能标志enable,用于控制是否允许对记录信息缓冲区ERDPool写操作;获取时间函数指针,用于获取时间。定义记录统计数据thisER,用于控制对记录信息缓冲区ERDPool读写操作信息。
S5、设计记录被嵌套的中断标识号数组thisNestId[ERD_NESTING_MAX],用于存储到当前时刻已产生,且未退出(被嵌套)的中段的中断标识号id,以记录当前产生的中断事件。
S6、设计数据初始化操作接口:void eventIf_dataInit(void);将记录信息缓冲区ERDPool清0;将统计数据thisER的写位置wRIdx、读位置rRIdx均置为0,将记录使能标志置为假;将嵌套中断标识号数组thisNestId清0。
S7、设计允许记录事件操作接口:void eventIf_SetRecord(BOOL enable);当允许记录时,如果统计数据thisER的写位置wRIdx为0,则将统计数据thisER的记录使能标志设置为真,并将统计数据thisER的读位置rRIdx和写位置wRIdx均置为0,重新开始在ERDPool记录,相当于重置。当不允许记录时,将统计数据thisER的记录使能标志enable设置为假。
S8、设计记录事件操作接口:void eventIf_record(EVENTID id,EVENTIN_OUTflag);当thisER的写位置wRIdx小于最大记录个数ERD_POINT_MAX时按如下方式记录信息:
S8-1、若中断进入退出标志flag是进入标志EVENT_IN,且当前嵌套层次小于最大嵌套层次,那么嵌套的层次nesting增1;且将当前的中断标识号id记录到thisNestId中;
S8-2、记录嵌套前的中断标识号idPV,若嵌套的层次nesting为0,则嵌套前的中断标识号idPV为0;否则,idPV = thisNestId[nesting-1];
S8-3、若中断进入退出标志flag是退出标志EVENT_OUT,且嵌套的层次nesting大于0,则嵌套的层次减1;
S8-4、如果统计数据thisER的记录使能为真,那么将当前的中断标识号id、嵌套前的中断标识号idPV、中断进入退出标志flag、嵌套的层次nesting和当前时间time,记录到记录信息缓冲区ERDPool中与统计数据thisER的写位置wRIdx对应的位置,然后统计数据thisER的写位置wRIdx增1;
S9、设计获取记录信息操作接口:INT16S eventIf_getRecord(void);按如下方式获取:
S9-1、如果统计数据thisER的记录使能为真,且统计数据thisER的写位置wRIdx大于等于最大记录数目ERD_POINT_MAX,即缓冲区已经写满,则将统计数据thisER的记录使能enable置为假,即不再存储数据;
S9-2、如果统计数据thisER的记录使能enable为假,即没有在写数据时,才能进行读操作,以避免数据异常。如果统计数据thisER的读位置rRIdx小于统计数据thisER的写位置wRIdx,即还有数据未读完,则返回thisER的读位置rRIdx,且读位置rRIdx增1;否则,读取完成,将统计数据thisER的写位置wRIdx和读位置rRIdx均置为0,为下一次记录做准备。
S10、设计数据打包操作接口:STATUS eventIf_getData(INT8U *pBuf);调用获取记录信息操作接口eventIf_getRecord,得到返回的读位置readIdx,若读位置readIdx在[0, ERD_POINT_MAX)范围内,则根据该读位置readIdx,在记录信息缓冲区ERDPool中取数据,按照需要的数据协议进行打包。
上述操作过程的具体实现为本技术领域人员所熟知,此处不再赘述。具体实施时,数据文件为isrEvent.dat。
步骤b、读取上述的数据文件,对数据文件中每个中断事件的中断事件信息,将中断事件信息中的当前时间time作为中断事件坐标点Point的横坐标、中断标识号id作为中断事件坐标点Point的纵坐标;
在得到中断事件坐标点Point后,根据每个中断事件的事件标志,对所述中断事件坐标点Point进行补点,得到中断事件补点坐标点Point_add,所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;
数据文件中所有中断事件的坐标点组构成中断事件坐标点集;
如图2所示,中断事件补点坐标点Point_add的横坐标与中断时间点坐标点Point的横坐标相同,中断事件补点坐标点Point_add的纵坐标为嵌套的中断标识号idPV;当所述中断事件的事件标志为进入标志EVENT_IN时,所述中断事件补点坐标点Point_add位于中断事件坐标点Point前,当中断事件的事件标志为退出标志EVENT_OUT时,中断事件补点坐标点Point_add位于中断事件坐标点Point后。
步骤c、读取上述的中断事件坐标点集,并将所述中断事件坐标点集绘制在展示坐标系中,其中,展示坐标系的横坐标为时间轴,展示坐标系的纵坐标为中断标识号轴;通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形。
本发明实施例中,通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形,利用中断事件图形能有效实现中断情况的展示,便于直观分析控制软件的中断情况。
本发明采集存储每次中断事件的中断事件信息,将中断事件信息中的当前时间time作为中断事件坐标点Point的横坐标、中断标识号id作为中断事件坐标点Point的纵坐标;所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;数据文件中所有中断事件的坐标点组构成中断事件坐标点集;通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形,利用中断事件图形能有效实现中断情况的展示,便于直观分析控制软件的中断情况,从而降低了时间测量对环境的依赖(如控制器无须开箱、无须逻辑分析仪);能够较为方便的显示多中断执行序列、中断优先级、中断任务执行时间;展示的中断执行序列可以辅助项目分析软件架构设计的合理性,帮助分析中断是否可能会存在阻塞的可能,操作方便,安全可靠。
Claims (3)
1.一种嵌入式控制软件的中断情况图形化展示方法,其特征是,所述中断图形化展示方法包括如下步骤:
步骤a、提供所需的嵌入式控制软件,在所述嵌入式控制软件运行并触发中断时,采集并存储每次中断事件的中断事件信息,将所有中断事件的中断时间信息存储形成数据文件;
步骤b、读取上述的数据文件,对数据文件中每个中断事件的中断事件信息,将中断事件信息中的当前时间time作为中断事件坐标点Point的横坐标、中断标识号id作为中断事件坐标点Point的纵坐标;
在得到中断事件坐标点Point后,根据每个中断事件的事件标志,对所述中断事件坐标点Point进行补点,得到中断事件补点坐标点Point_add,所述中断事件坐标点Point、中断事件补点坐标点Point_add构成当前中断事件的坐标点组;
数据文件中所有中断事件的坐标点组构成中断事件坐标点集;
步骤c、读取上述的中断事件坐标点集,并将所述中断事件坐标点集绘制在展示坐标系中,其中,展示坐标系的横坐标为时间轴,展示坐标系的纵坐标为中断标识号轴;通过直线依次将展示坐标系内的中断事件坐标点Point、中断事件补点坐标点Point_add进线连接,从而得到中断事件图形。
2.根据权利要求1所述的嵌入式控制软件的中断情况图形化展示方法,其特征是:所述每次中断事件的中断事件信息包括中断标识号id、嵌套的中断标识号idPV、进入标志EVENT_IN或退出标志EVENT_OUT、嵌套的层次nesting以及当前事件time。
3.根据权利要求2所述的嵌入式控制软件的中断情况图形化展示方法,其特征是,中断事件补点坐标点Point_add的横坐标与中断时间点坐标点Point的横坐标相同,中断事件补点坐标点Point_add的纵坐标为嵌套的中断标识号idPV;当所述中断事件的事件标志为进入标志EVENT_IN时,所述中断事件补点坐标点Point_add位于中断事件坐标点Point前,当中断事件的事件标志为退出标志EVENT_OUT时,中断事件补点坐标点Point_add位于中断事件坐标点Point后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610577118.XA CN106250215B (zh) | 2016-07-20 | 2016-07-20 | 嵌入式控制软件的中断情况图形化展示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610577118.XA CN106250215B (zh) | 2016-07-20 | 2016-07-20 | 嵌入式控制软件的中断情况图形化展示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106250215A true CN106250215A (zh) | 2016-12-21 |
CN106250215B CN106250215B (zh) | 2019-05-31 |
Family
ID=57614028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610577118.XA Active CN106250215B (zh) | 2016-07-20 | 2016-07-20 | 嵌入式控制软件的中断情况图形化展示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250215B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140530A (zh) * | 2006-09-07 | 2008-03-12 | 环隆电气股份有限公司 | 应用程序截获与监控系统控制中断的方法 |
CN103034497A (zh) * | 2012-12-13 | 2013-04-10 | 中国航空无线电电子研究所 | 一种能记录嵌入式系统运行过程的方法 |
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN104636175A (zh) * | 2013-11-06 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种嵌入式实时系统arm平台网络化方法 |
-
2016
- 2016-07-20 CN CN201610577118.XA patent/CN106250215B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140530A (zh) * | 2006-09-07 | 2008-03-12 | 环隆电气股份有限公司 | 应用程序截获与监控系统控制中断的方法 |
CN103838899A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 针对硬核mcu的中断控制器的仿真验证系统及方法 |
CN103034497A (zh) * | 2012-12-13 | 2013-04-10 | 中国航空无线电电子研究所 | 一种能记录嵌入式系统运行过程的方法 |
CN104636175A (zh) * | 2013-11-06 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种嵌入式实时系统arm平台网络化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106250215B (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103109276B (zh) | 系统测试方法 | |
CN101794224B (zh) | 一种基于性质规约模式的软件运行时性质监测方法 | |
CN106294084A (zh) | 一种硬盘状态监测系统 | |
US8769497B2 (en) | System and method for use in indicating execution of application code | |
CN106598800A (zh) | 一种硬件故障分析系统和方法 | |
CN206515814U (zh) | 一种硬盘状态监测装置 | |
US8831834B2 (en) | Vehicle information management system | |
CN106997316B (zh) | 内存异常增长的检测系统及方法 | |
CN104823118A (zh) | 成套设备监视装置、成套设备监视程序及成套设备监视方法 | |
CN104035429A (zh) | 场设备 | |
CN108345787B (zh) | 确定处理器安全性的方法、检测装置及系统 | |
CN108955951A (zh) | 一种温度传感器故障判断方法及装置 | |
CN109918260A (zh) | 一种项目代码的监控方法和装置 | |
CN113806183B (zh) | 应用卡顿处理方法、装置、设备、存储介质和程序产品 | |
CN105429792A (zh) | 用户行为流量获取方法及装置、用户行为分析方法及系统 | |
CN106250215A (zh) | 嵌入式控制软件的中断情况图形化展示方法 | |
CN109542341A (zh) | 一种读写io监测方法、装置、终端及计算机可读存储介质 | |
CN116737515B (zh) | 闪存参数可视化方法、系统及存储介质 | |
CN103839009B (zh) | 一种终端检测方法和装置 | |
CN102339238B (zh) | 具备回写式高速缓存的信息处理装置及主存储器诊断方法 | |
CN108170375A (zh) | 一种分布式存储系统中的超限保护方法和装置 | |
CN110457133A (zh) | 一种操作系统资源异常的处理方法及系统 | |
US20120023483A1 (en) | System and method for use in indicating execution of application code | |
CN110532139A (zh) | 预警方法及装置 | |
CN110562296A (zh) | 一种基于lkj列控运行文件数据连续波动异常识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No. 104, Liangxi Road, Binhu District, Wuxi City, Jiangsu Province Patentee after: AECC AERO ENGINE CONTROL SYSTEM INSTITUTE Address before: 214063 Jiangsu province Binhu District of Wuxi City Liangxi Road No. 792 Patentee before: AVIC AVIATION MOTOR CONTROL SYSTEM INSTITUTE |