CN109800172A - 基于ejtag接口定位嵌入式处理器死机的系统和方法 - Google Patents

基于ejtag接口定位嵌入式处理器死机的系统和方法 Download PDF

Info

Publication number
CN109800172A
CN109800172A CN201910074234.3A CN201910074234A CN109800172A CN 109800172 A CN109800172 A CN 109800172A CN 201910074234 A CN201910074234 A CN 201910074234A CN 109800172 A CN109800172 A CN 109800172A
Authority
CN
China
Prior art keywords
ejtag
sampling
sampled data
interface position
processor
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
CN201910074234.3A
Other languages
English (en)
Other versions
CN109800172B (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.)
Shanghai Chuangjing Information Technology Co ltd
Original Assignee
Shanghai Chuangkin Mdt Infotech Ltd
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 Chuangkin Mdt Infotech Ltd filed Critical Shanghai Chuangkin Mdt Infotech Ltd
Priority to CN201910074234.3A priority Critical patent/CN109800172B/zh
Publication of CN109800172A publication Critical patent/CN109800172A/zh
Application granted granted Critical
Publication of CN109800172B publication Critical patent/CN109800172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于EJTAG接口定位嵌入式处理器死机的系统和方法,配置采样参数,采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;识别采样数据中的异常数据后终止采样,定位嵌入式处理器死机的代码位置。本发明借助于嵌入式硬件的EJTAG接口,采用PC采样的方式采集嵌入式程序的执行轨迹,并记录程序死机时的代码位置,方便开发者快速有效地定位异常代码,分析代码异常的原因,不需要源码插桩,不需要嵌入日志信息,不改变源代码程序结构,目标代码不会产生膨胀。

Description

基于EJTAG接口定位嵌入式处理器死机的系统和方法
技术领域
本发明涉及嵌入式软件开发领域,具体地,涉及基于EJTAG接口定位嵌入式处理器死机的系统和方法。
背景技术
嵌入式程序往往具有高可靠性和稳定性的特点,对于规模较大的嵌入式系统,由于嵌入式系统的调试方式相对单一,一旦出现死机的情况很难定位异常代码的位置,开发者定位并解决问题变得异常艰难。
目前定位系统死机的方法一般是通过修改嵌入式程序源代码的方式,在源代码中嵌入众多的日志信息,重新编译并执行嵌入式程序,然后通过分析日志信息的方式大致确定程序中的异常代码,然后再在异常代码附近增加更详细的日志代码,逐步定位到真正的异常代码。对于复杂的嵌入式系统,这种定位方式往往效率不高,同时由于代码中存在大量的日志信息,可能无法反映嵌入式系统的真实执行情况,且极易引入新的代码错误和引入冗余代码。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于EJTAG接口定位嵌入式处理器死机的系统和方法。
根据本发明提供的一种基于EJTAG接口定位嵌入式处理器死机的系统,包括以下模块,配置采样数据模块:配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;PC采样模块:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;异常判定模块:识别采样数据中的异常数据,发送警告提示信息;异常定位模块:终止采样,定位嵌入式处理器死机的代码位置。
根据本发明提供的一种基于EJTAG接口定位嵌入式处理器死机的方法,包括以下步骤,配置采样数据步骤:通过采样控制器配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;PC采样步骤:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;异常判定步骤:识别采样数据中的异常数据,发送警告提示信息;异常定位步骤:终止采样,定位嵌入式处理器死机的代码位置。
优选地,所述采样参数通过采样控制器的控制命令进行配置。
优选地,所述对处理器核进行采样,形成采样临时数据暂存在设定的寄存器中,采样器持续从寄存器中读取采样临时数据,存储在设定的内存空间。
优选地,不进行程序插桩、不在嵌入式程序中嵌入日志信息,或者不改变嵌入式程序的程序逻辑和程序结构。
优选地,配置采样参数的采样控制器主要由操作界面、命令通道组成,所述操作界面设置采样参数、采样开始、采样停止、数据存储、数据上传中的任一项或任多项,所述命令通道采用网络或者非网络通信方式。
优选地,所述识别采样数据依据设定规则进行识别。
优选地,EJTAG的PC采样能够在运行时自启动,若EJTAG的PC采样已经启动,则从当前位置进行PC采样,若EJTAG的PC采样未启动,则先启动EJTAG的PC采样。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时上述方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、借助于嵌入式硬件的EJTAG接口,采用PC采样的方式采集嵌入式程序的执行轨迹,并记录程序死机时的代码位置,方便开发者快速有效地定位异常代码,分析代码异常的原因;
2、本发明基于嵌入式系统的EJTAG接口,不需要对嵌入式程序的源码进行插桩,不需要嵌入日志信息,不改变被测程序的源代码的程序结构,目标代码不会产生膨胀。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的系统架构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于EJTAG接口定位嵌入式处理器死机的方法,包括以下步骤,配置采样数据步骤:通过采样控制器配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;PC采样步骤:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;异常判定步骤:识别采样数据中的异常数据,发送警告提示信息;异常定位步骤:终止采样,定位嵌入式处理器死机的代码位置。
具体地,所述采样参数通过采样控制器的控制命令进行配置。
具体地,所述对处理器核进行采样,形成采样临时数据暂存在设定的寄存器中,采样器持续从寄存器中读取采样临时数据,存储在设定的内存空间。优选地,采样器以高速通信频率读取采样临时数据。
具体地,不进行程序插桩、不在嵌入式程序中嵌入日志信息,或者不改变嵌入式程序的程序逻辑和程序结构。
具体地,配置采样参数的采样控制器主要由操作界面、命令通道组成,所述操作界面设置采样参数、采样开始、采样停止、数据存储、数据上传中的任一项或任多项,所述命令通道采用网络或者非网络通信方式。
具体地,所述识别采样数据依据设定规则进行识别。
具体地,EJTAG的PC采样能够在运行时自启动,若EJTAG的PC采样已经启动,则从当前位置进行PC采样,若EJTAG的PC采样未启动,则先启动EJTAG的PC采样。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述方法的步骤。
根据本发明提供的一种基于EJTAG接口定位嵌入式处理器死机的系统,包括以下模块,配置采样数据模块:配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;PC采样模块:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;异常判定模块:识别采样数据中的异常数据,发送警告提示信息;异常定位模块:终止采样,定位嵌入式处理器死机的代码位置。
本发明提供的基于EJTAG接口定位嵌入式处理器死机的系统,可以通过基于EJTAG接口定位嵌入式处理器死机的方法的步骤流程实现。本领域技术人员可以将基于EJTAG接口定位嵌入式处理器死机的方法理解为所述基于EJTAG接口定位嵌入式处理器死机的系统的优选例。
以下阐述本发明的系统的另一个优选例,本发明提供的通过EJTAG接口定位嵌入式系统死机的系统,主要包括三个模块:PC采样模块、采样控制模块和数据分析模块。
PC采样模块:本模块根据采样控制模块的控制命令配置采样数据、进行PC采样和快速存储数据。配置采样数据包括配置EJTAG链的长度、EJTAG链上核的个数、被采样核的位置、采样数据的宽度、采样数据格式和采样频率。采样模块使能EJTAG模块的PC采样功能之后,EJTAG模块将以预设的频率对cpu进行高速采样并将采样到的数据放入指定的寄存器中。采样模块以当前EJTAG模块所支持的最高通信频率不间断地从EJTAG寄存器上取得当前最新的PC采样数据,并将采样数据临时存储于预先分配的内存空间中。为了提高采样速度,采样数据的格式采用精简数据格式,采样到的数据不做任何处理直接写内存。
采样控制模块:本模块主要由用户操作界面和相关的命令通道组成。用户通过用户界面向采样模块设置采样数据、控制采样的开始和停止、控制数据的存储和上传。命令通道可以采用网络或其它通信方式,连接用户界面和采样模块,传递命令和数据。
数据分析模块:本模块用于对采样模块上传的采样数据进行分析。根据特定的分析规则,研判嵌入式系统是否运行异常,若判定嵌入式系统运行异常则分析出最可能的代码位置,同时提示用户。
以下阐述本发明的方法的另一个优选例,基于EJTAG接口定位嵌入式系统死机的方法,包括以下步骤,步骤1:配置采样数据,包括并不局限于配置EJTAG链的长度、采样的处理器核的位置、采样数据宽度和采样频率;步骤2:使能EJTAG的PC采样功能,采样模块连续不间断的从EJTAG上取得最新的采样数据并快速地进行存储操作;步骤3:数据分析模块通过某种数据通道定时地从采样模块取得采样数据,对采样数据进行分析并研判嵌入式系统运行是否异常,如果发现嵌入式系统死机则进行警告提示;步骤4:用户终止PC采样并根据分析模块的分析结果定位嵌入式系统死机的代码位置。其中步骤2包括两种情况,2.1:被测试的嵌入式系统在运行时自动打开了EJTAG模块的PC采样功能,采样模块直接开始从当前位置进行PC采样。2.2:被测试的嵌入式系统在运行时没有打开EJTAG模块的PC采样功能,采样模块需要通过相应的EJTAG操作使能EJTAG的PC采样功能。
本发明采用不插桩,不在嵌入式程序中嵌入日志信息。不改变嵌入式程序的程序逻辑和程序结构,被测嵌入式程序不会产生代码膨胀,同时可以更真实地反映被测程序在被测设备上的运行情况;通过嵌入式硬件的EJTAG接口进行PC采样,不需要进行硬件飞线,不需要改变嵌入式系统的硬件环境,直接定位到系统死机时的PC位置,易于分析系统异常的原因。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (9)

1.一种基于EJTAG接口定位嵌入式处理器死机的系统,其特征在于,包括以下模块:
配置采样数据模块:配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;
PC采样模块:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;
异常判定模块:识别采样数据中的异常数据,发送警告提示信息;
异常定位模块:终止采样,定位嵌入式处理器死机的代码位置。
2.一种基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,包括以下步骤:
配置采样数据步骤:通过采样控制器配置采样参数,所述采样参数包括EJTAG的链长度、处理器核的位置、采样数据宽度、采样频率中的任一项或任多项;
PC采样步骤:使能EJTAG的PC采样,EJTAG以设定的采样频率对处理器核进行采样,得到采样数据,存储采样数据;
异常判定步骤:识别采样数据中的异常数据,发送警告提示信息;
异常定位步骤:终止采样,定位嵌入式处理器死机的代码位置。
3.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,所述采样参数通过采样控制器的控制命令进行配置。
4.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,所述对处理器核进行采样,形成采样临时数据暂存在设定的寄存器中,采样器持续从寄存器中读取采样临时数据,存储在设定的内存空间。
5.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,不进行程序插桩、不在嵌入式程序中嵌入日志信息,或者不改变嵌入式程序的程序逻辑和程序结构。
6.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,配置采样参数的采样控制器主要由操作界面、命令通道组成,所述操作界面设置采样参数、采样开始、采样停止、数据存储、数据上传中的任一项或任多项,所述命令通道采用网络或者非网络通信方式。
7.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,所述识别采样数据依据设定规则进行识别。
8.根据权利要求1所述的基于EJTAG接口定位嵌入式处理器死机的系统或者根据权利要求2所述的基于EJTAG接口定位嵌入式处理器死机的方法,其特征在于,EJTAG的PC采样能够在运行时自启动,若EJTAG的PC采样已经启动,则从当前位置进行PC采样,若EJTAG的PC采样未启动,则先启动EJTAG的PC采样。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求2至8中任一项所述的方法的步骤。
CN201910074234.3A 2019-01-25 2019-01-25 基于ejtag接口定位嵌入式处理器死机的系统和方法 Active CN109800172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910074234.3A CN109800172B (zh) 2019-01-25 2019-01-25 基于ejtag接口定位嵌入式处理器死机的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910074234.3A CN109800172B (zh) 2019-01-25 2019-01-25 基于ejtag接口定位嵌入式处理器死机的系统和方法

Publications (2)

Publication Number Publication Date
CN109800172A true CN109800172A (zh) 2019-05-24
CN109800172B CN109800172B (zh) 2022-05-24

Family

ID=66560447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910074234.3A Active CN109800172B (zh) 2019-01-25 2019-01-25 基于ejtag接口定位嵌入式处理器死机的系统和方法

Country Status (1)

Country Link
CN (1) CN109800172B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888756A (zh) * 2019-11-19 2020-03-17 支付宝(杭州)信息技术有限公司 一种诊断日志生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013394A (zh) * 2007-02-12 2007-08-08 北京中星微电子有限公司 一种采用硬件逻辑对ic设计进行验证的方法
EP2608102A1 (en) * 2011-12-23 2013-06-26 Electronics and Telecommunications Research Institute Appparatus for protecting against external attack for processor based on arm core and method using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013394A (zh) * 2007-02-12 2007-08-08 北京中星微电子有限公司 一种采用硬件逻辑对ic设计进行验证的方法
EP2608102A1 (en) * 2011-12-23 2013-06-26 Electronics and Telecommunications Research Institute Appparatus for protecting against external attack for processor based on arm core and method using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888756A (zh) * 2019-11-19 2020-03-17 支付宝(杭州)信息技术有限公司 一种诊断日志生成方法及装置

Also Published As

Publication number Publication date
CN109800172B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN102360329B (zh) 总线监控与调试控制装置及进行总线监控与总线调试的方法
JP2002189611A (ja) エミュレーション装置及びその方法
US8996928B2 (en) Devices for indicating a physical layer error
CN113407393B (zh) 芯片验证方法、终端设备、验证平台以及存储介质
US8402446B2 (en) Associating probes with test cases
CN104978262A (zh) 一种终端测试方法和装置
CN104320793B (zh) 一种手机短信自动化测试方法及系统
CN110659197B (zh) 应用程序的测试用例生成方法、装置和软件测试系统
CN112559372A (zh) 界面测试用例的生成方法、系统以及存储介质
CN109491883A (zh) 一种安卓平台下多应用间性能同时检测对比方法与系统
CN109800172A (zh) 基于ejtag接口定位嵌入式处理器死机的系统和方法
CN114664369A (zh) 一种存储芯片测试方法及装置
CN202267954U (zh) 总线监控与调试控制装置
CN109684152A (zh) 一种risc-v处理器指令下载方法及其装置
CN112181444B (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN116663490A (zh) 一种异步存储芯片的验证方法、平台、装置及介质
CN101714114B (zh) 一种支持处理器硅后调试的装置和方法
CN104461796A (zh) 用于嵌入式8051cpu的jtag调试模块及调试方法
EP1209567B1 (en) Method and system for real time debugging a source program, particularly for DSP
CN103077097B (zh) 一种基于tcp方式下可校验的flash数据烧写方法
CN111462805B (zh) 一种全面快速测试NVME SSD Trim功能的方法及装置
CN111651309B (zh) 计算机系统的可靠性测试方法及其系统
CN106933723A (zh) 一种应用于网络分析仪的测量结果存储方法
CN105868092A (zh) 一种日志文件的处理方法及装置
CN111414299A (zh) 基于hdparm的SSD扩展信息获取方法和装置

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
CP03 Change of name, title or address

Address after: Block 22301-985, Building 14, No. 498 Guo Shoujing Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee after: Shanghai Chuangjing Information Technology Co.,Ltd.

Country or region after: China

Address before: 200135 block 22301-985, building 14, No. 498, GuoShouJing Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: VISION MICROSYSTEMS (SHANGHAI) Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address