CN102265262A - 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制 - Google Patents

用于使用微控制器中的内部存储器来存储和提取追踪信息的机制 Download PDF

Info

Publication number
CN102265262A
CN102265262A CN2006800274382A CN200680027438A CN102265262A CN 102265262 A CN102265262 A CN 102265262A CN 2006800274382 A CN2006800274382 A CN 2006800274382A CN 200680027438 A CN200680027438 A CN 200680027438A CN 102265262 A CN102265262 A CN 102265262A
Authority
CN
China
Prior art keywords
register
debug
trace buffer
bus
microcontroller
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
Application number
CN2006800274382A
Other languages
English (en)
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of CN102265262A publication Critical patent/CN102265262A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的目的是提供一种用于在微控制器的芯片上系统存储器中存储和检索追踪信息的机制。微控制器包括微处理器,以及可通过耦合到所述微处理器的数据总线和地址总线进行存取的存储器装置。所述微控制器包含耦合到所述微处理器的芯片上调试逻辑。所述芯片上调试逻辑包含低速调试端口和用于将追踪数据临时存储在所述存储器上的机制,其中可通过调试工具经由所述低速调试端口来检索所述追踪数据。根据本发明的方法和系统将降低在微控制器中实施追踪部件的成本,并大大减小在调试工具中支持所述部件的成本。

Description

用于使用微控制器中的内部存储器来存储和提取追踪信息的机制
技术领域
本发明大体上涉及含有芯片上存储器的微控制器和微处理器中的芯片上调试功能性,且更明确地说涉及将追踪信息存储在芯片上存储器中以及从芯片上存储器中提取所述信息。
背景技术
图1展示具有直接存储器存取和追踪支持的常规调试系统10。调试系统10包括主机计算机12、调试工具14、低速调试接口16、高速追踪俘获和处理单元18、低速调试端口15、高速追踪端口17、微控制器装置20和系统存储器36。微控制器装置20包含芯片上调试逻辑22、帧缓冲器24、芯片上调试控制26、总线监视器28、存储器接口30、CPU 32和总线矩阵34。传统上,具有先进控制或数据处理要求的电子系统将含有单独的CPU 32和存储器装置,其焊接到同一印刷电路板上。在开发和调试嵌入式软件期间,因此可能使用逻辑分析器来探测系统总线以识别并俘获对软件调试有用的事件。随着具有芯片上存储器的功能强大的微控制器的出现,系统总线驻存在装置内,且总线事件不再可用于直接俘获。随着微控制器变得更加复杂而相应地增加软件复杂性,问题变得尤其明显。由于许多嵌入式系统涉及实时通信、控制或数据处理,所以调试任务变得更加复杂,因为有较多的调试部件必须为非侵入性的,即不会扰乱实时软件执行。
为了避免软件开发时间按指数规律增加,需要芯片上调试(OCD)逻辑22来辅助通过一组调试部件进行观察和控制嵌入式处理器。调试工具14通过调试端口15(例如,JTAG)和追踪端口17而介接在主机计算机12上的开发软件与OCD逻辑22之间。
最基本的调试部件涉及对CPU 32操作的侵入性控制。此包含用于基于特定条件选择性地暂停CPU 32的断点,和用于检查CPU 32寄存器并重新启动CPU 32使其正常操作的方法。这些调试部件通常由可通过调试接口(例如,JTAG)存取的一组调试寄存器控制。由于所有实时事件均由OCD逻辑22处理,所以调试工具14不必含有高速逻辑,且可以简单低成本方式设计。
基本的调试部件允许通过暂停CPU 32并发布指令以检查或改变系统存储器36而对系统存储器36进行侵入性调试存取。然而,随着嵌入式实时系统的复杂性不断增加,对系统存储器36的非侵入性直接存储器存取已成为必要(例如,Nexus 2.0标准,IEEEISTO5001TM-2003,第3级)。这使调试工具14能够使用低速调试端口15来观察和改变存储器,而不需要暂停CPU 32。
较先进的是追踪部件,其取代传统的逻辑分析器,且因此构成复杂微控制器应用中的芯片上调试的重要部分。此涉及重建嵌入式软件的程序或数据流以识别不正确的软件执行点。这通过记录软件执行期间的一系列特征调试事件(统称为追踪信息,例如程序分支和系统总线存取)来实现。为每一事件供应数据以使事件与执行相关,从而允许重建准确的执行序列。
将追踪信息格式化为对应于装置的追踪端口17上的一组数据的消息,其由帧组成。追踪信息以突发形式产生,从而导致非常高的峰值帧速率。平均帧速率通常低得多,且因此将所产生的帧保存在帧缓冲器24中并通过追踪端口17以较接近平均帧速率的帧速率来传输所述帧,是较经济的。追踪信息接着可由调试工具14俘获、存储并分析。
然而,追踪部件带宽非常密集。帧缓冲器24和专门的追踪端口17增加了微控制器20的成本。高带宽还大大增加了调试工具14的成本,调试工具14需要复杂且昂贵的硬件来俘获和处理大量高速追踪信息。
追踪帧通常存储在调试工具14内的大缓冲器内,从而允许俘获相对较长的实时追踪序列。然而,许多软件调试情形不需要整个追踪序列,仅需要最初消息(例如,离开中断处理器的)或最后消息(例如,非法进入捕集器的)。因此,利用有限追踪缓冲器的追踪实施方案仍将非常有价值。
因此,需要一种用于针对微控制器和调试工具两者降低实施追踪部件的成本的系统和方法。本发明解决了此需要。
发明内容
本发明的目的是提供一种用于在微控制器的芯片上系统存储器中存储和检索追踪信息的机制。微控制器包括微处理器,以及可通过耦合到所述微处理器的数据总线和地址总线进行存取的存储器装置。所述微控制器包含耦合到所述微处理器的芯片上调试逻辑。所述芯片上调试逻辑包含低速调试端口和用于将追踪数据临时存储在所述存储器上的机制,其中可通过调试工具经由所述低速调试端口来检索所述追踪数据。
根据本发明的方法和系统将降低在微控制器中实施追踪部件的成本,并大大减小在调试工具中支持此类部件的成本。
附图说明
图1展示具有直接存储器存取和追踪支持的常规调试系统。
图2说明根据本发明的调试系统。
图3以追踪提取器模块和系统存储器的展开图说明所述调试系统。
图4展示RWD寄存器组织。
图5展示重建来自追踪缓冲器的消息。
具体实施方式
本发明大体上涉及含有芯片上存储器的微控制器和微处理器中的芯片上调试功能性,且更明确地说涉及将追踪信息存储在芯片上存储器中以及从芯片上存储器中提取所述信息。提供以下描述以使所属领域的一般技术人员能够制造和使用本发明,且以下描述是在专利申请案及其要求的上下文中提供的。所属领域的技术人员将易于了解对优选实施例的各种修改以及本文描述的一般原理和特征。因此,本发明不希望限于所展示的实施例,而是应符合与本文描述的原理和特征一致的最广泛范围。
本发明提供一种用于将追踪事件存储在系统存储器中并允许通过装置中的低速调试端口来提取所述追踪事件的机制。
本发明包含芯片上追踪缓冲器和帧缓冲器以及用于非侵入性存储器存取的存储器接口的实施方案。从缓冲器中提取帧并将其路由到存储器接口,以存储在系统存储器中的循环追踪缓冲器中,而不是在追踪端口上传输。系统存储器中的追踪缓冲器的位置和尺寸由可由调试工具存取的调试寄存器配置。在优选实施例中,高速追踪端口被去除,且帧缓冲器的尺寸可得以减小,因为存储器接口的带宽接近峰值帧速率。
当使用外部调试工具进行追踪俘获时可俘获的追踪序列小得多,因为追踪缓冲器受限于可分配的内部存储器的尺寸。然而,如上文所陈述,如果用户可控制俘获哪一序列,那么许多调试情形就不需要大追踪序列。在根据本发明的系统和方法中,当追踪缓冲器变满时为用户提供若干选择:
1.在缓冲器开始处持续写入,覆写最旧的帧。
2.停止写入,丢弃所产生的任何另外的帧。
3.自动暂停CPU,以免产生另外的消息。
在任何情况下,调试工具可在任何时间明确地暂停CPU,这防止产生另外的追踪信息。调试工具随后可通过读出来自系统存储器的追踪缓冲器来提取先前追踪信息,而没有任何特定带宽要求。并且,可使用常规调试端口来提取信息,从而排除对专门的追踪端口的需要。另外,提供用于识别缓冲器的含有有效帧的部分并用于提取尚未写入到缓冲器的剩余帧的机制。最后,还提供用于保护CPU使其免于存取为追踪缓冲器保留的系统存储器区域以防止不正确的追踪重建的机制。
为了更详细地描述本发明的特征,现结合附图参看以下描述。图2说明根据本发明的调试系统100。调试系统100包括主机计算机12′、调试工具114、微控制器装置120和系统存储器36′。微控制器装置120包含芯片上调试逻辑12、CPU 32′和总线矩阵34。尽管此处系统存储器36′展示为在芯片上,但所述存储器可驻存在芯片上或芯片外,这取决于微控制器装置的实施方案。芯片上调试逻辑121包括追踪提取器模块122、追踪缓冲器保护模块129、帧缓冲器124、芯片上调试控制126、总线监视器128和存储器接口130。在此结构中,追踪提取器模块122被添加到芯片上调试逻辑121,提供一种用于在不显著增加微控制器装置120的成本的情况下存储追踪事件的机制。追踪提取器模块122是存储器接口的扩展,且含有多个调试寄存器,所述调试寄存器可由调试工具114写入且配置芯片上存储器追踪机制的行为。为了更详细地描述追踪提取器模块122的功能,现结合附图参看以下描述。
图3以追踪提取器模块122和系统存储器36′的展开视图形式说明调试系统100。图3包括帧缓冲器124、芯片上调试控制126、总线监视器128、CPU 32′、总线矩阵34′、存储器接口130和追踪提取器模块122。追踪提取器模块122包括追踪缓冲器122、RWD寄存器202、CNT寄存器204、追踪缓冲器存取保护206、RWA寄存器208、状态寄存器210和多个控制寄存器212。
如上文所提及,追踪提取器模块122包含可由调试工具114写入的多个调试寄存器。所述寄存器可概述如下:
RWA寄存器208:自动递增的寄存器,其反映待写入的下一系统存储器地址。
RWD寄存器202:将帧收集到总线大小的单元中的寄存器。
CNT寄存器204:追踪缓冲器的对数大小。
控制寄存器212:指示当追踪缓冲器已满时所采取的行动的控制寄存器。有效状态为覆盖(WRAP)、停止(STOP)和中断(BREAK)。
状态寄存器210:指示追踪缓冲器206的状态的多个单位只读寄存器。
以下定义描述追踪缓冲器206的状态:
被覆盖(WRAPPED):追踪缓冲器206已被覆写,且旧的消息已被丢弃。
NTBF:由于追踪缓冲器206为满而导致的已发布断点。
NTAE:由于CPU 32′试图存取追踪缓冲器206而已发布断点。
进一步参看图3,调试工具114通过以下操作而保留系统存储器36′的一部分用于追踪缓冲器206:将RWA寄存器208写入到START_ADDRESS,且用对数缓冲器大小写入CNT寄存器204,创建缓冲器END_ADDRESS=(START_ADDRESS+2CNT-1)。所使用的隐含地址单位是系统总线存取宽度,例如字=32位。
追踪提取器模块122将来自帧缓冲器124的帧聚集到RWD寄存器202中,RWD寄存器202的宽度与系统数据总线相同。此寄存器202收集帧直到满为止,例如,如果帧大小为8位且数据总线32位,那么RWD寄存器202可保存4个帧。
当RWD 202为满时,通过存储器接口130将寄存器的内容写入到由RWA寄存器208所指向的系统存储器36′地址。此操作之后,RWA寄存器208自动递增以指向缓冲器中的下一位置。RWD寄存器202被清除,即仅填充有空帧。
当RWA 208递增超过END_ADDRESS时,模式(MODE)寄存器界定引起的行为:
在=覆盖(WRAP)模式中:RWA寄存器208重设为START_ADDRESS,且追踪缓冲器206被覆写而不暂停CPU 32′。设定被覆盖(WRAPPED)状态位。调试工具114在可开始重建追踪数据之前必须暂停CPU 32′。所俘获的追踪数据将含有CPU 32′被暂停之前最后的帧。
在=停止(STOP)模式中:不将更多的追踪帧写入到系统存储器36′,但不暂停CPU32′。调试工具在可开始重建追踪数据之前必须暂停CPU 32′。所俘获的追踪数据将含有开始俘获序列之后最初的帧。
在=中断(BREAK)模式中:不将更多的追踪帧写入到系统存储器36′,且暂停CPU32′。设定NTBF状态以识别此断点。可立即开始重建追踪帧。所俘获的追踪数据将含有开始俘获序列之后所有的帧。
一旦暂停CPU 32′,不管断点的原因是什么,调试器可使用低速调试端口15和存储器接口130从系统存储器36′中读出有效的追踪帧。
追踪缓冲器206中有效帧的位置取决于系统存储器36′中的循环追踪缓冲器是否被覆写,这由被覆盖(WRAPPED)状态位指示。覆盖(WRAP)状态位具有以下状态:
被覆盖(WRAPPED)=0:追踪缓冲器206含有从START_ADDRESS到(RWA-1)的有效追踪帧。
被覆盖(WRAPPED)=1:追踪缓冲器206含有从END_ADDRESS加上START_ADDRESS到(RWA-1)的有效追踪帧。
实例
假定使用8位Nexus兼容帧(2位MSEO控制和6位MDO数据)和大端32位系统总线的实施方案,RWD寄存器202将组织为如图4所示。因此,此寄存器将帧收集到总线大小的单元中。
图5展示重建来自追踪缓冲器206(图3)的消息。在此实例中,展示在已暂停CPU32′之后来自追踪缓冲器206的消息,其中RWA寄存器208开始于0x1000处且CNT寄存器=10(即,缓冲器大小为1024个字,或4096个帧)。当追踪停止时,设定被覆盖(WRAPPED)状态位,且RWA寄存器208=0x1234,因此写入到存储器的帧数据的最后的字位于0x1230处。消息的最后两个帧仍驻存在RWD寄存器202中,RWD寄存器202仅部分被填充。
如果断点出现时RWD寄存器202未满,那么这些帧不写入到追踪缓冲器206。如果调试工具希望读出追踪缓冲器206,那么最后的帧在读出到追踪缓冲器206之后可通过读取RWD寄存器202而被找到。
如果调试工具114(例如)由于非追踪相关断点的缘故而不希望读出追踪缓冲器206,那么其可使CPU 32′恢复正常操作,且追踪操作将以对调试工具114透明的方式继续。上文描述的机制假定系统存储器36′是CPU与OCD逻辑之间的共享资源。这意味着CPU32′中的软件错误可能通过意外地写入到系统存储器36′中的追踪缓冲器206而潜在地破坏追踪数据。这尤其不利,因为追踪数据的损失会增加定位此软件错误的难度。为了防止这种情况,含有比较器单元的追踪缓冲器保护模块129(图2)监视对系统存储器36′的CPU存取,从而确保START_ADDRESS与END_ADDRESS之间的任何存取将导致在设定NTAE状态位的情况下通过断点而暂停CPU 32′。
根据本发明的系统和方法通过提供一种机制而降低针对微控制器和调试工具实施追踪部件的成本,所述机制将数据临时存储在芯片上存储器中,并允许由调试工具在稍后的时间经由低速调试端口以任意低带宽来检索此数据。根据本发明的系统和方法排除对装置中专门的追踪端口的需要,减小了帧缓冲器的大小,并且排除了对调试工具中的高速逻辑的需要。
根据本发明的系统和方法允许在微控制器中实施功能更强大的追踪部件,而不会增加调试部件的插脚成本。其还允许大大改进对于具有追踪能力的第三方调试工具的支持,从而允许更多的客户利用具有芯片上追踪部件的微控制器。
尽管已根据所展示的实施例描述了本发明,但所属领域的一般技术人员将容易了解,可能存在对所述实施例的变化,且那些变化将在本发明的精神和范围内。因此,所属领域的一般技术人员可在不脱离所附权利要求书的精神和范围的情况下作出许多修改。

Claims (16)

1. 一种微控制器,其包括:
微处理器;
存储器装置,其可通过耦合到所述微处理器的数据总线和地址总线进行存取;
芯片上调试逻辑,其耦合到所述微处理器;所述芯片上调试逻辑包含低速调试端口;以及用于将追踪数据临时存储在所述存储器上的机制,其中可通过调试工具经由所述调试端口来检索所述追踪数据。
2. 根据权利要求1所述的微控制器,其中所述存储器装置可驻存在芯片上或芯片外。
3. 根据权利要求1所述的微控制器,其中所述机制包含追踪提取器模块。
4. 根据权利要求3所述的微控制器,其中所述追踪提取器模块包含多个调试寄存器,所述调试寄存器可经配置以确定所述机制的行为。
5. 根据权利要求4所述的微控制器,其中所述多个寄存器包含:第一寄存器(RWA),其反映待写入的下一系统存储器地址;第二寄存器,其将帧收集到总线大小的单元中;第三寄存器(CNT),其用于存储追踪缓冲器的大小;第四寄存器(控制),其用于指示当所述追踪缓冲器为满时所采取的行动;以及多个状态寄存器,其中所述多个状态寄存器中的每一者是指示所述追踪缓冲器的状态的单位只读寄存器。
6. 根据权利要求1所述的微控制器,其进一步包含:
芯片上调试控制,其与所述低速调试端口和所述微控制器通信;
总线监视器,其耦合到所述芯片上调试控制、所述地址总线和数据总线;
帧缓冲器,其与所述总线监视器通信;
追踪提取器模块,其与所述帧缓冲器、芯片上调试控制和总线监视器通信;
存储器接口,其与所述追踪提取器模块通信;以及
总线矩阵,其耦合到所述存储器接口并用于与系统存储器通信;
追踪缓冲器保护模块,其与所述芯片上调试控制、追踪提取器模块和所述总线矩阵通信。
7. 根据权利要求6所述的微控制器,其中所述追踪提取器模块包括:
第一寄存器(RWD),其用于从总线大小的单元中的所述帧缓冲器接收数据;并将数据提供到所述存储器接口;
第二寄存器(CNT),其提供所述追踪缓冲器的大小并将所述数据传送到所述追踪缓冲器;
第三寄存器,其用于提供所述待写入的下一存储器地址;
第四寄存器,其用于指示当所述追踪缓冲器为满时应采取的行动;以及
多个状态寄存器。
8. 根据权利要求6所述的微控制器,其中所述比较器模块包括:
比较器,其识别对所述追踪缓冲器内的系统存储器位置的非法CPU存取;以及
断点产生器,其用于在检测到非法存取时暂停所述CPU。
9. 根据权利要求8所述的微控制器,其中状态位识别由于对所述追踪缓冲器的非法存取而导致的断点。
10. 一种在微控制器中存储和提取追踪信息的方法,所述微控制器包括微处理器、可通过耦合到所述微处理器的数据总线和地址总线进行存取的存储器装置、耦合到所述微处理器的芯片上调试逻辑,所述方法包括:
将追踪帧聚集到第一寄存器中直到所述第一寄存器为满为止;
在所述第一寄存器为满之后,将所述第一寄存器的内容提供到所述存储器装置;以及
使用调试端口从所述存储器装置中读出有效的追踪帧。
11. 根据权利要求10所述的方法,其中所述有效的追踪帧在追踪缓冲器内。
12. 根据权利要求11所述的方法,其中追踪缓冲器实施为循环缓冲器,因此被新的追踪帧反复覆写直到追踪俘获序列结束为止。
13. 根据权利要求11所述的方法,其中状态寄存器指示所述追踪缓冲器已被覆写至少一次。
14. 根据权利要求11所述的方法,其中当所述追踪缓冲器为满时,所述追踪俘获序列结束。
15. 根据权利要求14所述的方法,其中当所述追踪俘获序列结束时,所述CPU接收断点。
16. 根据权利要求15所述的方法,其中状态位识别由于所述追踪缓冲器为满而发布的断点。
CN2006800274382A 2005-06-07 2006-06-07 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制 Pending CN102265262A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/148,049 US20060277435A1 (en) 2005-06-07 2005-06-07 Mechanism for storing and extracting trace information using internal memory in microcontrollers
PCT/US2006/022306 WO2006133362A2 (en) 2005-06-07 2006-06-07 Mechanism for storing and extracting trace information using internal memory in microcontrollers

Publications (1)

Publication Number Publication Date
CN102265262A true CN102265262A (zh) 2011-11-30

Family

ID=37495520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800274382A Pending CN102265262A (zh) 2005-06-07 2006-06-07 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制

Country Status (5)

Country Link
US (3) US20060277435A1 (zh)
EP (1) EP1896946A2 (zh)
KR (1) KR20080022181A (zh)
CN (1) CN102265262A (zh)
WO (1) WO2006133362A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026600A1 (zh) * 2012-08-13 2014-02-20 中兴通讯股份有限公司 一种片上系统芯片追踪调试的方法及装置
CN112767473A (zh) * 2020-12-18 2021-05-07 深圳市普汇智联科技有限公司 一种投影式台球提示方法及装置
CN114745257A (zh) * 2022-03-28 2022-07-12 杭州义益钛迪信息技术有限公司 数据帧调试方法、装置、设备及存储介质

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277435A1 (en) 2005-06-07 2006-12-07 Pedersen Frode M Mechanism for storing and extracting trace information using internal memory in microcontrollers
US9092570B2 (en) * 2007-07-28 2015-07-28 Sam Michael Memory management for remote software debuggers and methods
WO2009127902A1 (en) * 2008-04-15 2009-10-22 Freescale Semiconductor, Inc. Microcontroller device, microcontroller debugging device, method of debugging a microcontroller device, microcontroller kit.
US20100077472A1 (en) * 2008-09-23 2010-03-25 Atmel Corporation Secure Communication Interface for Secure Multi-Processor System
GB0818239D0 (en) * 2008-10-06 2008-11-12 Omiino Ltd System for internally monitoring an intergrated circuit
US8464032B2 (en) * 2009-07-10 2013-06-11 Via Technologies, Inc. Microprocessor integrated circuit with first processor that outputs debug information in response to reset by second processor of the integrated circuit
US8490060B2 (en) * 2009-09-23 2013-07-16 International Business Machines Corporation Tracing memory updates and accesses for debugging computer programs
US8495344B2 (en) * 2010-01-22 2013-07-23 Via Technologies, Inc. Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US8762779B2 (en) * 2010-01-22 2014-06-24 Via Technologies, Inc. Multi-core processor with external instruction execution rate heartbeat
US8276018B2 (en) * 2010-04-30 2012-09-25 International Business Machines Corporation Non-volatile memory based reliability and availability mechanisms for a computing device
US8386859B2 (en) 2010-04-30 2013-02-26 International Business Machines Corporation On-chip non-volatile storage of a test-time profile for efficiency and performance control
US20120036501A1 (en) * 2010-08-03 2012-02-09 Tomas Evensen Method and System for Capturing System and User Events Using Hardware Trace Devices
US8639919B2 (en) 2011-01-18 2014-01-28 Via Technologies, Inc. Tracer configuration and enablement by reset microcode
US8713369B2 (en) * 2011-05-08 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Hardware/software debugging using memory access parameters
DE102011107936B4 (de) * 2011-07-19 2015-07-23 Texas Instruments Deutschland Gmbh Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung
KR20130066402A (ko) * 2011-12-12 2013-06-20 삼성전자주식회사 트레이스 데이터 저장 장치 및 방법
KR20130101927A (ko) * 2012-03-06 2013-09-16 한국전자통신연구원 디버깅 기능을 가지는 멀티코어 SoC
US9069896B2 (en) 2012-08-29 2015-06-30 Freescale Semiconductor, Inc. Data processor device for handling a watchpoint and method thereof
US9047400B2 (en) 2012-08-29 2015-06-02 Freescale Semiconductor, Inc. Data processor device for handling a watchpoint and method thereof
US9164868B2 (en) * 2012-12-27 2015-10-20 Infineon Technologies Ag Multi-tier trace
US20140281375A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Run-time instrumentation handling in a superscalar processor
US9223678B2 (en) 2013-07-31 2015-12-29 Freescale Semiconductor, Inc. Data processor device having a debug control module which selectively modifies trace messages
TWI524080B (zh) 2014-01-29 2016-03-01 新唐科技股份有限公司 應用於積體電路的運作記錄電路及其運作方法
US9329884B2 (en) * 2014-07-11 2016-05-03 Intel Corporation Managing generated trace data for a virtual machine
US9568547B2 (en) * 2015-03-17 2017-02-14 Intel Corporation Method, apparatus and system for dynamic bandwidth management in systems
US9965375B2 (en) 2016-06-28 2018-05-08 Intel Corporation Virtualizing precise event based sampling
KR101816866B1 (ko) 2016-08-10 2018-01-10 한국전자통신연구원 감시 대상 시스템의 기밀성 및 무결성 감시 장치 및 방법
KR20180054364A (ko) 2016-11-15 2018-05-24 삼성전자주식회사 트레이스 데이터를 생성하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10901871B2 (en) 2019-03-05 2021-01-26 Intel Corporation System, apparatus and method for dynamic multi-source tracing in a system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175914B1 (en) * 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
CN1424659A (zh) * 2002-12-31 2003-06-18 清华大学 实现开放式"软"串行实时通讯系统的硬件接口卡
US20060075310A1 (en) * 2004-09-21 2006-04-06 Fujitsu Limited Microcomputer and trace control method capable of tracing desired task

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2752592B2 (ja) * 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5958061A (en) * 1996-07-24 1999-09-28 Transmeta Corporation Host microprocessor with apparatus for temporarily holding target processor state
US6167536A (en) * 1997-04-08 2000-12-26 Advanced Micro Devices, Inc. Trace cache for a microprocessor-based device
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US5944841A (en) * 1997-04-15 1999-08-31 Advanced Micro Devices, Inc. Microprocessor with built-in instruction tracing capability
GB9805485D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
JP3684831B2 (ja) * 1998-03-31 2005-08-17 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びデバッグシステム
JP3277900B2 (ja) * 1998-09-30 2002-04-22 日本電気株式会社 プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6813731B2 (en) * 2001-02-26 2004-11-02 Emc Corporation Methods and apparatus for accessing trace data
US6769054B1 (en) * 2001-02-26 2004-07-27 Emc Corporation System and method for preparation of workload data for replaying in a data storage environment
US7401257B2 (en) * 2003-08-28 2008-07-15 Renesas Technology Corp. Microcomputer and method for developing system program
US20050120337A1 (en) * 2003-12-01 2005-06-02 Serrano Mauricio J. Memory trace buffer
JP2008523456A (ja) * 2004-05-12 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ トレースコプロセッサを備えたデータ処理システム
US7447946B2 (en) * 2004-11-05 2008-11-04 Arm Limited Storage of trace data within a data processing apparatus
US20060277435A1 (en) * 2005-06-07 2006-12-07 Pedersen Frode M Mechanism for storing and extracting trace information using internal memory in microcontrollers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175914B1 (en) * 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
CN1424659A (zh) * 2002-12-31 2003-06-18 清华大学 实现开放式"软"串行实时通讯系统的硬件接口卡
US20060075310A1 (en) * 2004-09-21 2006-04-06 Fujitsu Limited Microcomputer and trace control method capable of tracing desired task

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026600A1 (zh) * 2012-08-13 2014-02-20 中兴通讯股份有限公司 一种片上系统芯片追踪调试的方法及装置
CN112767473A (zh) * 2020-12-18 2021-05-07 深圳市普汇智联科技有限公司 一种投影式台球提示方法及装置
CN112767473B (zh) * 2020-12-18 2023-12-15 深圳市普汇智联科技有限公司 一种投影式台球提示方法及装置
CN114745257A (zh) * 2022-03-28 2022-07-12 杭州义益钛迪信息技术有限公司 数据帧调试方法、装置、设备及存储介质
CN114745257B (zh) * 2022-03-28 2024-01-09 杭州义益钛迪信息技术有限公司 数据帧调试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20100064173A1 (en) 2010-03-11
US8370687B2 (en) 2013-02-05
WO2006133362A2 (en) 2006-12-14
US8219855B2 (en) 2012-07-10
US20120254668A1 (en) 2012-10-04
WO2006133362A3 (en) 2011-05-26
KR20080022181A (ko) 2008-03-10
US20060277435A1 (en) 2006-12-07
EP1896946A2 (en) 2008-03-12

Similar Documents

Publication Publication Date Title
CN102265262A (zh) 用于使用微控制器中的内部存储器来存储和提取追踪信息的机制
US6944796B2 (en) Method and system to implement a system event log for system manageability
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US7739668B2 (en) Method and system of profiling applications that use virtual memory
US20030033559A1 (en) System and method for exposing hidden events on system buses
US20080082720A1 (en) Data processing system having cache memory debugging support and method therefor
CN109254883B (zh) 一种片上存储器的调试装置及方法
US20060294343A1 (en) Realtime compression of microprocessor execution history
US20040153813A1 (en) Apparatus and method for synchronization of trace streams from multiple processors
US20110023052A1 (en) Compressed data managing system and method for circular buffer
US20190138421A1 (en) Real-time hierarchical protocol decoding
CN107809349B (zh) 一种监测服务器信号波形的装置及方法
US7325169B2 (en) Apparatus and method for trace stream identification of multiple target processor events
US20060259826A1 (en) Method and system of identifying overlays
US20040210804A1 (en) Diagnostic data capture within an integrated circuit
US9348723B2 (en) Method, system, and computer program product
EP1125200B1 (en) Maintaining object size information concurrent with data optimization for debugging
US20120054376A1 (en) Real-time usb class level decoding
CN103853551A (zh) 检测未初始化的存储器读取的方法
JP2002529851A5 (zh)
US20030037257A1 (en) Debugging device
CN101369238A (zh) Usb设备中异常监控复位处理方法
US7606999B2 (en) Merging branch information with sync points
CN115269309A (zh) 一种处理器微架构监测方法及装置
WO2023091377A1 (en) Logging burst error information of a dynamic random access memory (dram) using a buffer structure and signaling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111130