CN101821719A - 用于数据处理系统的调试指令 - Google Patents

用于数据处理系统的调试指令 Download PDF

Info

Publication number
CN101821719A
CN101821719A CN200880111282A CN200880111282A CN101821719A CN 101821719 A CN101821719 A CN 101821719A CN 200880111282 A CN200880111282 A CN 200880111282A CN 200880111282 A CN200880111282 A CN 200880111282A CN 101821719 A CN101821719 A CN 101821719A
Authority
CN
China
Prior art keywords
control register
debugging
register field
debugging control
debug command
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
CN200880111282A
Other languages
English (en)
Inventor
W·C·莫耶
M·D·辛德
G·L·惠森亨特
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.)
Lanbushi company
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN101821719A publication Critical patent/CN101821719A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification

Landscapes

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

Abstract

一种方法包括提供调试指令和提供调试控制寄存器字段,其中如果调试控制寄存器字段具有第一值,则调试指令执行调试操作,并且其中如果调试控制寄存器字段具有第二值,则调试指令将被作为无操作(NOP)指令执行。一种数据处理系统(10)包括用于接收调试指令的取指令电路(26)、调试控制寄存器字段、和调试执行控制电路(62),如果调试控制寄存器字段具有第一值,则调试执行控制电路控制调试指令以第一方式的执行,并且如果调试控制寄存器字段具有第二值,则调试执行控制电路控制调试指令以第二方式的执行,其中在第一方式下执行调试操作,而在第二方式下不执行调试操作。

Description

用于数据处理系统的调试指令
技术领域
本发明一般地涉及数据处理系统,并且更具体地,涉及用于数据处理系统中的调试指令。
背景技术
通常在软件开发过程中使用调试指令以便允许执行调试操作。一旦开发了软件并且用调试指令进行了检查,则这些调试指令被去除,以便不会引起软件应用中不希望的异常。然而,这些调试指令的去除可能改变系统的执行特性,这可能导致可预测性差的执行。在实时应用中这尤其有问题。
附图说明
以示例方式说明本发明,并且本发明不限于这些附图,其中类似的参考号指示类似的元件。出于简化和清楚的目的示出图中的元件,并且这些元件不必然是按比例绘制的。
图1是根据本发明的一个实施例的数据处理系统的方框图;
图2是根据本发明的一个实施例的与图1的数据处理系统相关联的处理器的方框图;
图3是示出了与图1的数据处理系统相关联的示例调试寄存器的图;
图4是示出了与图1的数据处理系统相关联的示例外部调试寄存器的图;
图5和图6是示出了能够由图2的处理器执行的示例调试指令的图;
图7是根据本发明的一个实施例的与图3的调试寄存器相关联的调试控制寄存器的图;
图8以表格形式示出了根据本发明的一个实施例的图7的调试控制寄存器的一部分的功能;
图9是根据本发明的一个实施例的与图4的外部调试寄存器相关联的外部调试控制寄存器的图;
图10以表格形式示出了根据本发明的一个实施例的图9的外部调试控制寄存器的一部分的功能;
图11示出了用于例示根据本发明的一个实施例图2的处理器的一部分控制电路的方框图;和
图12和13是使用图5和6的调试指令的示例代码段的图。
具体实施方式
当前的调试指令提供了在软件开发处理过程中在软件控制下有条件地进入调试暂停模式(即,调试模式)或引发软件调试异常(即,调试中断)的能力,以便允许进行软件或硬件调试操作。然而,一旦完成了软件开发,仍然嵌入最终代码中的这些调试指令将导致不希望的异常,并且因此必须被去除。然而,这些调试指令的去除改变了系统的执行特性。即,由于在去除调试指令之后,分支目标、页边界和其它指令关系可能发生改变,代码图像(code image)自身可能会改变。为了允许代码图像自身保持不变,并且因此可以提供更可预测的执行,此处讨论的一个实施例提供了允许调试指令作为“无操作”指令(也被称为无操作指令或NOP)操作或被抑制执行的附加控制。这允许在任意调试指令可被视为NOP的情况下、在NOP可以如本领域已知那样操作的情况下、或在可以抑制调试指令的执行的情况下,在应用执行过程中将调试指令保持在原位,其中在该应用执行过程中不执行调试,从而即使这些指令具有与调试有关的执行语义也不执行调试操作。
另外,在一个实施例中,一种类别的调试指令允许将调试指令分组到独立的组中,其中每个组对执行后将会发生的动作具有独立的控制,从而提供了附加的调试灵活性。可以独立地控制这些组,并且可以由硬件或软件调试器动态地修改所发生的动作。
如此处使用的,术语“总线”用于指可用于传输诸如数据、地址、控制或状态的一种或更多种类型的信息的多个信号或导线。可以按照单个导线、多个导线、单向导线或双向导线示出或描述此处讨论的导线。然而,不同的实施例可以改变导线的实现。例如,可以使用分离的单向导线而不是双向导线,反之亦然。另外,可以用串行或以时间复用方式传输多个信号的单个导线取代多个导线。类似地,承载多个信号的单个导线可被分为承载这些信号的子集的各种不同导线。因此,存在用于传输信号的许多选择。
当涉及信号、状态位或类似装置分别被置于其逻辑真或逻辑假状态时,此处使用术语“断言”或“设置”和“求反”(或“解除断言”或“清除”)。如果逻辑真状态是逻辑电平1,则逻辑假状态是逻辑电平0。并且如果逻辑真状态是逻辑电平0,则逻辑假状态是逻辑电平1。
此处描述的每个信号可被指定为正逻辑或负逻辑,其中可以用信号名称上的横条或名称后的星号(*)指示负逻辑。在负逻辑信号的情况下,该信号是低电平有效的,其中逻辑真状态相应于逻辑电平0。在正逻辑信号的情况下,该信号是高电平有效的,其中逻辑真状态相应于逻辑电平1。注意,此处描述的任意信号可被指定为负逻辑信号或正逻辑信号。因此,在替换实施例中,被描述为正逻辑信号的那些信号可被以负逻辑信号实现,并且被描述为负逻辑信号的那些信号可被以正逻辑信号实现。
此处使用括号指示总线的导线或值的位位置。例如,“总线60[7:0]”或“总线60的导线[7:0]”指示总线60的8个低位导线,并且“地址位[7:0]”或“ADDRESS[7:0]”指示地址值的8个低位的位。在数字之前的符号“$”指示该数字被以十六进制或基于16的形式表示。在数字之前的符号“%”指示该数字被以二进制或基于2的形式表示。
图1示出了符合本发明的实施例的数据处理系统10。数据处理系统10可以是芯片级系统。数据处理系统10可被实现在单个集成电路上或多个集成电路上。数据处理系统10包括可被通过总线20连接的处理器12、外部调试电路14、I/O模块16和存储器18。在替换实施例中,存储器18可以是任意类型的存储器,并且可以位于与处理器12相同的集成电路上,或位于与处理器12不同的集成电路上。存储器18可以是任意类型的存储器,诸如例如,只读存储器(ROM)、随机访问存储器(RAM)、非易失存储器(例如,闪存)等。另外,存储器18可以是位于另一个外设或从属设备内或不同集成电路上的存储器或其它数据存储设备。外部调试电路14可被包含在与处理器12相同的集成电路上,或被实现为独立于包含处理器12的集成电路或芯片级系统的单独系统。
图2是与图1的数据处理系统10相关联的处理器12的方框图。处理器12可以包括指令管线22、执行单元24、取指令单元26、控制电路28、通用寄存器30、加载/存储单元32、总线接口单元(BIU)34和内部调试电路40。处理器12可以通过连接到BIU34的总线20与数据处理系统10的其它组件通信。内部调试电路40可被通过图2所示的调试端口连接到外部调试单元,诸如,符合IEEE ISTO-5001的NexusTM调试单元。外部调试单元可以包括图1的外部调试电路14的全部或一部分。NexusTM是位于德克萨斯奥斯汀的FreescaleSemiconductor公司的商标。调试端口可以是串行接口,诸如JTAG,或可被实现为并行端口、串行和并行端口的组合,或被实现为以太网端口。内部调试电路40可以包括调试寄存器42和调试控制电路44。调试寄存器42可以包括为分组为字段的位,这些字段用于控制各种与调试有关的事件,包括指令断点、数据断点、检查点以及与调试相关联的其它消息通信。可以在处理器12和外部调试电路14之间共享这些调试资源。
现在参考图3,还可以规定调试寄存器42中的寄存器存储一个或更多个地址比较值、地址范围和数据匹配值,以便实现指令和/或数据访问断点和检查点事件和其它调试控制准则。这些地址和数据值以及各种控制准则被用于确定何时处理器12出于产生断点或检查点事件的目的而访问一个或更多个预定指令地址或数据地址,当内部调试模式被使能时,这可以引起处理器12开始调试异常的异常处理,或引起处理器12进入调试暂停模式,其中当外部调试模式被使能时,处理器12对通过内部调试电路40的调试端口由外部调试电路14提供的命令做出响应。作为例子,调试寄存器42可以包括各种调试控制寄存器,包括调试寄存器43(DBCRO、DBCR1、DBCR2、DBCR3和DBCR4)。这些调试控制寄存器可用于存储各类调试配置信息。调试寄存器42还可以包括指令地址比较寄存器45(IAC1和IAC2)。指令地址比较寄存器45可以为地址比较目的而存储指令地址。调试寄存器42还可以包括数据地址比较寄存器47(DAC1和DAC2)。数据地址比较寄存器47可以为地址比较目的而存储数据访问地址。调试寄存器42还可以包括调试状态寄存器49、调试计数器51(DBCNT1和DBCNT2)和数据值比较寄存器53(DVC1和DVC2)。调试寄存器42可以是用户软件编程模型的一部分。调试计数器51可被配置为在发生一个或更多个可以计数的事件时进行倒计数。当计数值达到0时,可以发送信号表示调试计数事件,并且如果被使能,则可以产生调试中断。数据值比较寄存器53可以为数据比较目的而存储数据值。
在内部调试模式下,由软件管理这些寄存器资源,并且不需要使用外部调试电路。软件可以通过使用移动到专用寄存器指令和从专用寄存器指令移动的数据移动来配置寄存器,专用寄存器指令是初始化各个调试寄存器以便执行基于软件的调试活动的软件指令,其中被使能的调试事件引起软件调试中断的发生。然后软件中断处理程序可以执行由数据处理系统10的软件程序员确定的各种所希望的活动。
在外部调试模式下,可将对调试寄存器42的共享调试寄存器的所有权分配给外部调试电路14,并且当配置的调试事件发生时,处理器12可以进入暂停状态,并且等待将由外部调试电路14提供的命令。当外部调试模式被使能时,软件不再具有对共享的调试资源的控制。另外,如图4所示,调试寄存器42可以包括各种外部调试控制寄存器50,诸如EDBCR0和EDBCR1。与图3的寄存器不同,图4的寄存器,其可以位于调试寄存器42内或在处理器12内,不是用户软件编程模型的一部分。即,运行在处理器12上的软件看不到外部调试控制寄存器50。外部调试电路14可以通过调试端口(如图2所示)直接访问共享的调试资源和任意专用的外部调试资源(诸如,外部调试控制寄存器50)。图2的调试端口可以,例如,被实现为JTAG TAP端口。在一个实施例中,调试寄存器42和外部调试控制寄存器50可被映射为JTAG数据寄存器,其中用于各种JTAG指令的一个或更多个字段内包含有寄存器选择编码,JTAG指令规定了调试器通过JTAG IR和DR操作对寄存器的读写访问。
共享一组寄存器需要实现较少的处理器12资源,并且这可以为数据处理系统10的用户简化编程模型。内部调试电路40监视处理器12内的活动,并且可以响应于基于当前调试寄存器42内或处理器12内存储的调试配置信息检测到一个或更多个预定状态,产生一个或更多个数据断点事件、指令断点事件、指令执行事件(诸如分支或陷阱捕获事件)、指令完成事件等。以这种操作方式,处理器12可以如同本领域的技术人员能够理解那样工作。
图5和6示出了调试通知暂停指令的两种形式。图5示出了调试通知暂停(dnh)指令,其中dnh指令的执行如适当的调试控制寄存器(如果外部调试模式被使能,其可以是EDBCR0,或如果外部调试模式未被使能,其可以是DBCR4,下面将对这两者进行讨论)的预定控制字段所指示那样操作。图6示出了允许对不同dnh2指令分组的不同类型的调试通知暂停指令(dnh2指令)。即,dnh2指令包括指示组的字段。这种组标识符将调试控制字段(例如,组控制字段)与dnh2指令相关联。例如,在图6的所示实施例中,dnh2的组字段是允许指示8个不同组(组0-7)中的一个的3位字段。dnh2指令的执行如适当的调试控制寄存器(如果外部调试模式被使能,其可以是EDBCR0,或如果外部调试模式未被使能,其可以是DBCR4)的相应组控制字段所指示那样操作。在一个实施例中,如下面参考图10所述,外部调试控制寄存器50中的外部调试模式位字段用于指示处理器12是否操作于外部调试模式下,其中外部调试器诸如外部调试电路14设置或清除这个字段,以便分别使得处理器12操作于或不操作于外部调试模式下。在一个实施例中,当处理器12不操作于外部调试模式下时,认为其操作于内部调试模式下。
注意,图5和6所示的dnh和dnh2指令可以使用任意各种不同的格式,并且除了操作码(例如,dnh和dnh2指令的位0到5),子操作码(例如,dnh和dnh2指令的位21到31),和组标识符(例如,dnh2指令的位18-20)之外,可以包括其它字段。例如,如图5和6所示,dnh和dnh2指令中的每一个还包括dui和duis字段。例如,如果处理器12被响应dnh和dnh2指令暂停,dui字段可被发送到外部调试电路,以便标识暂停原因。同样,duis字段可用于传递关于暂停的附加信息。
图7是与图1的数据处理系统相关联的调试控制寄存器DBCR4的图。可以包括DBCR4作为调试寄存器42的一部分,DBCR4可以位于内部调试电路40内。DBCR4可用于存储调试配置信息。虽然图7示出了使用特定字段的本发明的具体实施例,但本发明的替换实施例可以使用不同的字段,每个字段具有不同数目的位。仅出于说明的目的示出图7所示的特定字段。作为例子,DBCR4可以包括32个位。DBCR4可以包括各种字段,包括2位组字段,诸如GRP7C、GRP6C、GRP5C、GRP4C、GRP3C、GRP2C、GRP1C和GRPOC。这些字段仅是例子,并且DBCR4可以包括更少或附加字段。另外,这些字段可被不同地排列。DBCR4还可以包括可以在将来使用的保留位字段0到15。作为例子,DBCR4可以是可读/可写寄存器,它们可以是用户软件编程模型的一部分。在本发明的替换实施例中,DBCR4可以不是用户软件编程模型中的控制寄存器,而是可以被实现在用户软件编程模型之外。可以使用任意类型的存储电路实现DBCR4。可替换地,一个或更多个其它调试控制寄存器(诸如在调试寄存器42内)可以包括DBCR4的组字段而不是DBCR4。
当处理器12操作于内部调试模式下时,DBCR4的组字段GRP1C-GRP7C中的每个可用于配置具有指示相应组的组标识符的dnh2指令的功能。例如,当在内部调试模式下时,由GRP3C控制指示组3的dnh2指令的操作。另外,当在内部调试模式下时,可以使用GRP0C来配置指示组0的这些dnh2指令和dnh指令两者的功能。即,在一个实施例中,用于指示dnh指令在内部调试模式下如何操作的DBCR4的预定控制字段是GRP0C。在这个例子中,任意dnh指令默认指示组0(由于与dnh2指令不同,dnh指令本身中没有用于指示特定的组的字段)。可替换地,用于指示dnh指令如何操作的DBCR4的预定控制字段可以是GRP0C到GRP7C中的任意一个。
图8以表格形式示出了图7的DBCR4的一部分的功能。根据一个实施例,GRP7C是用于指示组7的dnh2指令(即,指示组7的dnh2指令)应当如何操作的2位字段。例如,00的二进制值可以指示组7的dnh2指令产生调试指令异常(其因此可以引起调试中断处理被启动)。调试指令异常导致软件中断,并且因此作为dnh2指令(或dnh指令)的结果产生的调试指令异常也可被称为软件调试中断。01的二进制值可以指示组7的dnh2指令被视为NOP(其中如本领域已知的,NOP可以各种方式操作或被以各种方式实现)。在示出的实施例中,10和11的二进制值保留用于将来可能的用途。在替换实施例中,GRP7C的单个位可用于指示组7的dnh2指令产生软件中断还是被视为NOP。GRP6C到GRP1C也是2位字段,除了dnh2指令的相应组之外,它们的描述与为GRP7C提供的描述相同。在一个实施例中,GRP0C是2位字段,它用于指示dnh和组0的dnh2指令应当如何操作。例如,00的二进制值可以指示组0的dnh2指令和所有的dnh指令产生调试指令异常(即,软件中断)。01的二进制值可以指示组0的dnh2指令和所有的dnh指令被视为NOP。在示出的实施例中,10和11的二进制值保留用于将来可能的用途。在替换实施例中,GRP0C的单个位可用于指示dnh指令和组0的dnh2指令产生软件中断还是被视为NOP。在一个实施例中,不是作为NOP执行dnh或dnh2指令,可以抑制这些指令的指令执行,从而使它们不表现为将执行,即使它们可被取回并且被部分解码。
图9是根据一个实施例,与图1的数据处理系统相关联的外部调试控制寄存器EDBCRO的图。可以包括EDBCRO作为外部调试控制寄存器50的一部分,外部调试控制寄存器50可以是内部调试电路40内的调试寄存器42的一部分或不是调试寄存器42的一部分,但是不能被运行在处理器12上的软件访问。EDBCRO可用于存储在外部调试模式下使用的调试配置信息。虽然图9示出了使用特定字段的本发明的具体实施例,但本发明的替换实施例可以使用不同的字段,其中每个字段具有不同数目的位。仅出于说明的目的而示出图9所示的特定字段。作为例子,EDBCRO可以包括32个位。EDBCRO可以包括各种字段,包括EDM位字段、DNH EN位字段和2位组字段(诸如GRP7C、GRP6C、GRP5C、GRP4C、GRP3C、GRP2C、GRP1C和GRPOC)。这些字段仅是例子,并且EDBCRO可以包括更少或附加字段。另外,这些字段可被不同地排列。EDBCRO还可以包括可以在将来使用的保留位字段2到15。作为例子,EDBCRO可以是仅可由外部调试电路通过调试端口写的寄存器,其中外部调试电路位于处理器12之外,但是可以在与处理器12相同或不同的集成电路上。作为例子,EDBCRO不是用户软件编程模型中的控制寄存器。可以使用位于处理器12之内或之外的任意类型的存储电路实现EDBCRO。可替换地,一个或更多个其它外部调试控制寄存器(诸如,在外部调试控制寄存器50之内)可以包括EDBCRO的一个或更多个字段而不是EDBCRO。
图10以表格形式示出了根据一个实施例的图9的EDBCRO的一部分的功能。EDM是用于指示使能还是禁止外部调试模式的位字段。在一个实施例中,当禁止外部调试模式时,认为使能内部调试模式。(可替换地,可以使用,诸如例如,DBCR0内的用于内部调试模式的不同的使能字段)。在一个实施例中,当设置了EDM字段时(例如,具有二进制值1),处理器12操作于外部调试模式下,并且当EDM字段被清除时(例如,具有二进制值0),处理器12操作于内部调试模式下。当EDM位52被设置为1时,例如,控制寄存器(诸如DBCR4)被置于外部调试电路14的排它控制之下,并且数据处理系统10软件不能向这些控制寄存器写信息。可替换地,当EDM位52被设置为1时,软件不能写调试控制寄存器的特定部分。DNH_EN是使能字段,它指示使用DBCR4的组字段还是EDBCRO的组字段指示dnh和dnh2指令的操作。即,即使处理器12操作于外部调试模式,可以清除DNH_EN以便指示应使用DBCR4的组设置而不是EDBCRO来指示dnh和dnh2指令的操作(其中,在一个实施例中,DBCR4的GRP0C设置将用于dnh指令,并且与由每个dnh2指令自身指示的组相对应的DBCR4组设置将用于dnh2指令)。然而,如果设置了DNH_EN,则dnh和dnh2指令如EDBCRO的适当组字段所指示那样操作。
仍参考图10,GRP7C是2位字段,它用于指示组7的dnh2指令(即,指示组7的dnh2指令)应如何操作。例如,00的二进制值可以指示组7的dnh2指令被视为NOP(其中如本领域已知的,NOP可以各种方式操作或被以各种方式实现)。01的二进制值可以指示组7的dnh2指令将引起处理器暂停并且进入调试模式。例如,在处理器暂停之后,控制被从处理器12传递给外部调试器(诸如外部调试电路14),以便通过调试端口执行调试操作和访问处理器12。因此,在进入调试模式之后,取指令单元26可以暂停正常的指令获取。10的二进制值可以指示组7的dnh2指令将引起以信号表示检查点。11的二进制值可以指示组7的dnh2指令将引起处理器暂停并且进入调试模式,并且还将引起以信号表示检查点。注意,在替换实施例中,可以使用不同的位值编码表示组7的dnh指令的操作。GRP6C到GRP1C也是2位字段,除了dnh2指令的相应组之外,它们的描述与为GRP7C提供的描述相同。GRP0C是2位字段,用于指示dnh2和dnh指令应当如何操作。即,在一个实施例中,GRP0C是用于指示dnh指令如何操作的EDBCRO的预定控制字段。例如,00的二进制值可以指示组0的dnh2指令和所有的dnh指令被视为NOP。01的二进制值可以指示组0的dnh2指令和所有的dnh指令引起处理器暂停并且进入调试模式。10的二进制值可以指示组7的dnh2指令和所有的dnh指令引起以信号表示检查点。11的二进制值可以指示组7的dnh2指令和所有的dnh指令将引起处理器暂停,并且引起以信号表示检查点。可替换地,用于指示dnh指令如何操作的EDBCRO的预定控制字段可以是GRP0C到GRP7C中的任意一个。
因此,当在外部调试模式下并且设置了DNH_EN时,EDBCRO的组字段GRPOC-GRP7C中的每个可用于配置指示相应组的那些dnh2指令的功能。例如,当在外部调试模式下并且设置了DNH_EN时,由EDBCRO的GRP3C控制指示组3的dnh2指令的操作(注意,当在外部调试模式下并且清除了DNH_EN时,由DBCR4的GRP3C控制指示组3的dnh2指令的操作)。另外,当在外部调试模式下并且设置了DNH_EN时,EDBCRO的GRP0C可用于配置指示组0的dnh2指令和dnh指令两者的功能。即,在一个实施例中,用于指示在外部调试模式下当设置了DNH_EN时dnh指令如何操作的EDBCRO的预定控制字段是GRP0C。在这个例子中,任意dnh指令默认指示组0(由于与dnh2指令不同,dnh指令本身中没有用于指示特定的组的字段)。然而,当在外部调试模式下并且清除了DNH_EN时,可以取而代之使用DBCR4的GRPOC配置指示组0的dnh2指令和dnh指令两者的功能。因此,注意用于指示在外部调试模式期间dnh指令如何操作的预定控制字段可以依赖于DNH_EN,其中取决于DNH_EN的值,DBCR4或EDBCRO的GRPOC设置可用做预定的控制字段。然而,在替换实施例中,可以不使用或可以不存在DNH_EN。在这种实施例中,当在外部调试模式下时,仅有EDBCRO(而不是DBCR4)的适当组字段指示如何操作dnh和dnh2指令。
因此,注意dnh和dnh2指令中的每一个能够执行调试操作或被视为其中不执行调试操作的NOP。在一个实施例中,不是作为NOP执行dnh或dnh2指令,可以抑制这些指令的指令执行,从而它们表现为不执行(并且因此不执行调试操作),即使它们可被取回并且被部分解码。如此处使用的,调试操作包括,诸如例如,引起处理器暂停并且进入调试模式,引起以信号表示检查点,产生软件调试中断等。在一个实施例中,以信号表示检查点允许处理器12以信号表示处理器12之外或之内的一个或更多个检查点状态的发生,而不是引起断点或调试暂停状态。在上述的例子中,诸如引起处理器暂停并且进入调试操作以及引起以信号表示检查点的调试操作发生在外部调试模式期间,而产生软件调试中断可以基于例如DNH_EN发生在外部或内部调试模式期间。可替换地,可以通过DBCR4和EDBCRO的组字段定义内部或外部调试模式的其它调试操作。然而,取决于适当调试控制寄存器的组字段的设置(诸如例如,DBCR4或EDBCRO),dnh或dnh2指令可被视为NOP(或可被抑制执行),而不是执行调试操作。即,取决于适当调试控制寄存器的组字段的设置,dnh或dnh2指令可被作为dnh或dnh2指令执行(并且从而执行调试操作),或可被作为NOP执行。如上面讨论的,NOP可以如本领域已知那样执行。然而,注意,如此处使用的,NOP不执行调试操作。即,NOP不导致执行调试操作。另外,注意作为NOP而不是调试指令(其执行调试操作)执行调试指令的能力或对调试指令分组的能力可应用于任意类型的调试指令,而不仅限于调试通知暂停指令(诸如dnh和dnh2)。在一个实施例中,可以不执行指令的执行,而是取而代之,取决于适当调试控制寄存器的组字段的设置(诸如例如,DBCR4或EDBCRO),可以抑制dnh或dnh2指令的执行,而不是进入处理器12的执行阶段。
在一个实施例中,将诸如dnh和dnh2指令的调试指令视为NOP的能力允许抑制调试操作的能力。因此,这可以允许将调试指令保留在最终代码内,而不会引起中断或其它调试操作的发生。以这种方式,代码图像可以保持不变。例如,图12示出了包括指示组0的dnh2指令和dnh指令(它的默认值为组0)的代码段70。这些指令可能是调试代码段70所必需的;然而,在完成代码段70之后,去除这些指令可能会不希望地改变代码段70的代码图像,其中例如,相对于剩余指令,页边界(以水平虚线示出)、分支和分支目标指令位置(诸如以带有指向其目标位置的箭头的分支指令示出)将会改变。通过将DBCR4的GRPOC字段设置为01,代码段70的dnh和dnh2指令将作为NOP操作,因此不引起调试指令异常(不引起中断)。另外,可能希望在调试图13所示的新代码段72的同时完成代码段70。因此,注意新代码段72包括指示组1和2的dnh2指令。注意,由于它们不指示组0,这些dnh2指令不受GRPOC的设置的影响。以这种方式,dnh2指令可被独立地控制,并且因此与代码段70的dnh2和dnh指令不同地操作。因此,可以各种不同方式使用dnh2指令的分组。另外,此处讨论的“分组”(即,对一个或更多个调试控制寄存器中的组字段的使用)可被用于任意调试指令,而不仅仅限于调试通知暂停指令。
图11示出了根据本发明的一个实施例的处理器12内的控制电路28的一部分。控制电路28包括解码电路60和调试执行控制电路62。解码电路60耦接为从取指令单元26接收信息,并且耦接为向调试执行控制电路62提供信息。调试执行控制电路62还从调试寄存器42接收信息,并且(在需要时)向处理器12的各部分提供控制信号。
在操作中,从取指令单元26向解码电路60提供关于当前正在执行的指令或将被执行的指令的信息。该信息可以包括,例如,将被执行的dnh2指令的指示。解码电路60然后解码该指令以便向调试执行控制电路62提供适当信息。例如,解码电路60可以将dnh2指令的组字段传递到调试执行控制电路,调试执行控制电路使用该组字段的值来访问调试寄存器42的适当调试控制寄存器(例如,取决于EDM和DNH_EN的值,DBCR4或EDBCR0)的相应组控制字段。基于该结果,(在需要时)调试执行控制电路62可以向处理器12的各部分提供适当的控制信号,以便实现由来自调试寄存器42的信息所指示的dnh2指令的适当功能。例如,如果指出了调试操作,则相应地提供本领域已知的适当的控制信号,或如果指出了NOP,则相应地提供本领域已知的适当的控制信号。另外,如果将要抑制指令的执行,则相应地提供本领域已知的适当的控制信号。因此,注意调试执行控制电路62可以基于存储在适当调试控制寄存器的相应组控制字段内的值,以第一方式或第二方式控制调试指令诸如dnh或dnh2指令的执行。在一个例子中,在第一方式中执行调试操作,而在第二方式中不执行调试操作。
因此,现在应当理解可以如何抑制相应于调试指令的调试操作。例如,在执行过程中调试指令可被视为NOP,而不引起执行调试操作。以这种方式,如果需要,调试指令可被保留在代码段内,而不会引起软件中断,因此允许正确地执行代码。即,通常一旦完成了代码,dnh指令,如果被保留在代码内,将总是产生调试中断。因此,这些dnh指令必须被去除以便代码正确工作。然而,通过包括允许调试指令执行调试操作或执行非调试操作(诸如,被视为NOP或被抑制执行)的附加控制,此处描述的至少一个实施例允许在代码执行过程中抑制调试中断。
在一个实施例中,一种方法包括提供调试指令和提供调试控制寄存器字段,其中如果调试控制寄存器字段具有第一值,则调试指令执行调试操作,并且其中如果调试控制寄存器字段具有第二值,则调试指令将被作为无操作(NOP)指令执行。
在另一个实施例中,如果调试控制寄存器字段具有第二值,则取代调试中断执行NOP指令。
在另一个实施例中,如果调试控制寄存器字段具有第一值,则调试指令的执行引起进入调试模式。
在另一个实施例中,如果调试控制寄存器字段具有第一值,则调试指令的执行引起处理器暂停。
在另一个实施例中,集成电路之外的调试器具有对调试控制寄存器字段的写访问,并且所述集成电路上的处理器不具有对调试控制寄存器字段的写访问。
在另一个实施例中,集成电路之外的调试器不具有对调试控制寄存器字段的写访问,并且所述集成电路上的处理器具有对调试控制寄存器字段的写访问。
在另一个实施例中,集成电路上的处理器之外的调试器具有对调试控制寄存器字段的写访问,并且所述集成电路上的处理器不具有对调试控制寄存器字段的写访问。
在另一个实施例中,调试指令包括指示多个调试指令组中的一个的组字段。在另一个实施例中,调试控制寄存器字段包括多个调试控制寄存器字段部分,其中每个调试控制寄存器字段部分与所述多个调试指令组中的一个相对应。
在另一个实施例中,一种方法包括提供第一调试指令,提供第一调试指令中的指示组号的字段,并且提供多个调试控制寄存器字段,其中所述组号将所述多个调试控制寄存器字段中的第一个调试控制寄存器字段与第一调试指令相关联,其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则作为第一调试指令执行第一调试指令,并且其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第二值,则作为无操作(NOP)指令执行第一调试指令。该方法还包括提供第二调试指令,其中第二调试指令不具有指示组号的字段,其中所述多个调试控制寄存器字段中的第二个调试控制寄存器字段与第二调试指令相关联,其中如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则作为第二调试指令执行第二调试指令,并且其中如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第二值,则作为NOP操作指令执行第二调试指令。
在另一个实施例的另一个实施例中,第一调试指令不同于第二调试指令。
在另一个实施例的另一个实施例中,所述多个调试控制寄存器字段中的第一个调试控制寄存器字段和所述多个调试控制寄存器字段中的第二个调试控制寄存器字段是所述多个调试控制寄存器字段中的同一个调试控制寄存器字段。
在另一个实施例的另一个实施例中,所述多个调试控制寄存器字段中的第一个调试控制寄存器字段和所述多个调试控制寄存器字段中的第二个调试控制寄存器字段是所述多个调试控制寄存器字段中的不同的调试控制寄存器字段。
在另一个实施例的另一个实施例中,如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则第一调试指令的执行引起进入调试模式,并且如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则第二调试指令的执行引起进入调试模式。
在另一个实施例的另一个实施例中,其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则第一调试指令的执行引起处理器暂停,并且如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则第二调试指令的执行引起处理器暂停。
根据一个实施例的数据处理系统包括用于接收调试指令的取指令电路,调试控制寄存器字段和耦接到取指令电路并且耦接到调试控制寄存器字段的调试执行控制电路。如果调试控制寄存器字段具有第一值,则调试执行控制电路控制调试指令以第一方式的执行,并且如果调试控制寄存器字段具有第二值,则调试执行控制电路控制调试指令以第二方式的执行,其中在第一方式下执行调试操作,并且其中在第二方式下不执行调试操作。
在数据处理系统的另一个实施例中,如果调试控制寄存器字段具有第一值,则调试指令的执行引起进入调试模式。
在数据处理系统的另一个实施例中,如果调试控制寄存器字段具有第一值,则调试指令的执行引起启动调试中断处理。
在数据处理系统的另一个实施例中,如果调试控制寄存器字段具有第一值,则调试指令的执行引起取指令电路暂停正常指令获取。
在数据处理系统的另一个实施例中,调试指令包括指示多个调试指令组中的一个的组字段,并且其中所述多个调试指令组中的所述一个从多个调试控制寄存器字段中选择所述调试控制寄存器字段。
由于实现本发明的装置大部分由本领域的技术人员已知的电子组件和电路构成,为了理解和明了本发明的底层概念,并且为了不模糊或分散本发明的教导,不再给出关于电路细节的比上面给出的被认为是必需内容的更详细的解释。
如此处使用的,术语“程序”被定义为指定为在计算机系统上执行的一系列指令。程序或计算机程序可以包括子例程、函数、过程、对象方法、对象实现、可执行应用、小程序、小服务程序、源码、目标码、共享库/动态加载库和/或指定为在计算机系统上执行的其它指令序列。
上述某些实施例,在适当时,可被使用各种不同的信息处理系统实现。例如,虽然图1和2以及对它们的讨论描述了示例的信息处理体系结构,但仅给出这种示例的体系结构以便在讨论本发明的各个方面时提供有用的参考。当然,已经出于讨论的目的简化了对该体系结构的描述,并且它仅是可以根据本发明使用的许多不同类型的适合体系结构之一。本领域的技术人员将认识到逻辑块之间的界线仅是说明性的,并且替换实施例可以合并逻辑块或电路元件,或对各种逻辑块或电路元件进行替换性的功能分解。
因此,应当理解,此处示出的体系结构仅是例子,并且实际上可以实现许多其它实现相同功能的体系结构。在抽象但仍然明确的意义上,实现相同功能的组件的任意布置有效地“关联”,从而实现所希望的功能。因此,此处组合以便实现特定功能的两个组件可被视为彼此“关联”从而实现所希望的功能,而不论体系结构或中间组件如何。类似地,如此关联的任意两个组件可被视为被彼此“可操作地连接”,或“可操作地耦接”,以便实现所希望的功能。
另外例如在一个实施例中,系统10的示出的元件是位于单个集成电路上或相同设备内的电路。可替换地,系统10可以包括彼此互连的任意数目的分立的集成电路或分立的设备。另外例如系统10或其一部分可以是物理电路或可被转换为物理电路的逻辑表示的软件或代码表示。从而,系统10可被以任意适合类型的硬件描述语言表示。
另外,本领域的技术人员将认识到上述操作的功能之间的界线仅是说明性的。多个操作的功能可被组合到单个操作中,和/或单个操作的功能可被分散在附加操作中。另外,替换实施例可以包括特定操作的多个实例,并且在各种其它实施例中,操作的顺序可以改变。
此处描述的所有或某些软件可以是,例如,来自计算机可读介质诸如存储器18或计算机系统上的其它介质的数据处理系统10的接收元件。这种计算机可读介质可以永久地、可移动地或远程地连接到诸如数据处理系统10的信息处理系统。计算机可读介质可以包括,例如(而限制性的),下列中的任意计算机可读介质:包括磁盘和磁带存储介质的磁存储介质;诸如压缩盘介质的光存储介质(例如,CD-ROM、CD-R等)和数字视频盘存储介质;非易失存储器存储介质,包括基于半导体的存储器单元,诸如FLASH存储器、EEPROM、EPROM、ROM;铁磁数字存储器;MRAM;易失存储介质,包括寄存器、缓冲器或高速缓存、主存储器、RAM等;和数据传输介质,包括计算机网络、点到点电信设备和载波传输介质,仅仅列举了一些。
虽然此处参考具体实施例描述了本发明,但可以做出各种修改和改变而不脱离在下面的权利要求书中提出的本发明的范围。因此,说明书和附图被认为是说明性的而不是限制性的,并且所有这些修改旨在包括在本发明的范围内。此处以具体实施例描述的任何益处、优点或问题的解决方案不旨在被认为是任意或所有权利要求的关键的、所需要的或必要的特征或元素。
如此处使用的,术语“耦接”不旨在局限于直接耦接或机械耦接。
另外,如此处使用的,术语“一个”定义为一个或多于一个。另外,权利要求中诸如“至少一个”和“一个或更多个”引出短语的使用不应被认为暗示着由“一个”引出的另一个权利要求元素将包含这种引出的权利要求元素的任意特定权利要求局限于仅包含一个这种元素的发明,即使当相同的权利要求包括引出短语“一个或更多个”或“至少一个”和“一个”时也是如此。
除非另外说明,此处使用诸如“第一”和“第二”的术语任意区分这些术语描述的元素。因此,这些术语不必旨在指示这些元素的时间上的或其它的优先次序。

Claims (20)

1.一种方法,包括以下步骤:
提供调试指令;
提供调试控制寄存器字段,
其中如果所述调试控制寄存器字段具有第一值,则所述调试指令执行调试操作,并且
其中如果所述调试控制寄存器字段具有第二值,则所述调试指令将被作为无操作NOP指令执行。
2.如权利要求1的方法,其中如果所述调试控制寄存器字段具有第二值,则取代调试中断执行所述NOP指令。
3.如权利要求1的方法,其中如果所述调试控制寄存器字段具有第一值,则所述调试指令的执行引起进入调试模式。
4.如权利要求1的方法,其中如果所述调试控制寄存器字段具有第一值,则所述调试指令的执行引起处理器暂停。
5.如权利要求1的方法,其中集成电路之外的调试器具有对所述调试控制寄存器字段的写访问,并且所述集成电路上的处理器不具有对所述调试控制寄存器字段的写访问。
6.如权利要求1的方法,其中集成电路之外的调试器不具有对所述调试控制寄存器字段的写访问,并且所述集成电路上的处理器具有对所述调试控制寄存器字段的写访问。
7.如权利要求1的方法,其中集成电路上的处理器之外的调试器具有对所述调试控制寄存器字段的写访问,并且所述集成电路上的所述处理器不具有对所述调试控制寄存器字段的写访问。
8.如权利要求1的方法,其中所述调试指令包括指示多个调试指令组中的一个的组字段。
9.如权利要求8的方法,其中所述调试控制寄存器字段包括多个调试控制寄存器字段部分,其中每个调试控制寄存器字段部分与所述多个调试指令组中的一个相对应。
10.一种方法,包括以下步骤:
提供第一调试指令;
提供第一调试指令中的指示组号的字段;
提供多个调试控制寄存器字段,其中所述组号将所述多个调试控制寄存器字段中的第一个调试控制寄存器字段与第一调试指令相关联,其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则作为第一调试指令执行第一调试指令,并且其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第二值,则作为无操作NOP指令执行第一调试指令;和
提供第二调试指令,其中第二调试指令不具有指示所述组号的字段,其中所述多个调试控制寄存器字段中的第二个调试控制寄存器字段与第二调试指令相关联,
其中如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则作为第二调试指令执行第二调试指令,并且
其中如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第二值,则作为所述NOP操作指令执行第二调试指令。
11.如权利要求10的方法,其中第一调试指令不同于第二调试指令。
12.如权利要求10的方法,其中所述多个调试控制寄存器字段中的第一个调试控制寄存器字段和所述多个调试控制寄存器字段中的第二个调试控制寄存器字段是所述多个调试控制寄存器字段中的同一个调试控制寄存器字段。
13.如权利要求10的方法,其中所述多个调试控制寄存器字段中的第一个调试控制寄存器字段和所述多个调试控制寄存器字段中的第二个调试控制寄存器字段是所述多个调试控制寄存器字段中的不同的调试控制寄存器字段。
14.如权利要求10的方法,其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则第一调试指令的执行引起进入调试模式,并且如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则第二调试指令的执行引起进入调试模式。
15.如权利要求10的方法,其中如果所述多个调试控制寄存器字段中的第一个调试控制寄存器字段具有第一值,则第一调试指令的执行引起所述处理器暂停,并且如果所述多个调试控制寄存器字段中的第二个调试控制寄存器字段具有第一值,则第二调试指令的执行引起所述处理器暂停。
16.一种数据处理系统,包括:
用于接收调试指令的取指令电路;
调试控制寄存器字段;和
耦接到所述取指令电路并且耦接到所述调试控制寄存器字段的调试执行控制电路,如果所述调试控制寄存器字段具有第一值,则所述调试执行控制电路控制所述调试指令以第一方式的执行,并且如果所述调试控制寄存器字段具有第二值,则所述调试执行控制电路控制所述调试指令以第二方式的执行,其中在第一方式下执行调试操作,并且其中在第二方式下不执行调试操作。
17.如权利要求16的数据处理系统,其中如果所述调试控制寄存器字段具有第一值,则所述调试指令的执行引起进入调试模式。
18.如权利要求16的数据处理系统,其中如果所述调试控制寄存器字段具有第一值,则所述调试指令的执行引起启动调试中断处理。
19.如权利要求16的数据处理系统,其中如果所述调试控制寄存器字段具有第一值,则所述调试指令的执行引起所述取指令电路暂停正常指令获取。
20.如权利要求16的数据处理系统,其中所述调试指令包括指示多个调试指令组中的一个的组字段,并且其中所述多个调试指令组中的所述一个从多个调试控制寄存器字段中选择所述调试控制寄存器字段。
CN200880111282A 2007-10-12 2008-09-08 用于数据处理系统的调试指令 Pending CN101821719A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/871,847 US7689815B2 (en) 2007-10-12 2007-10-12 Debug instruction for use in a data processing system
US11/871,847 2007-10-12
PCT/US2008/075581 WO2009051912A1 (en) 2007-10-12 2008-09-08 Debug instruction for use in a data processing system

Publications (1)

Publication Number Publication Date
CN101821719A true CN101821719A (zh) 2010-09-01

Family

ID=40535345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880111282A Pending CN101821719A (zh) 2007-10-12 2008-09-08 用于数据处理系统的调试指令

Country Status (5)

Country Link
US (1) US7689815B2 (zh)
JP (1) JP2011501265A (zh)
CN (1) CN101821719A (zh)
TW (1) TW200921505A (zh)
WO (1) WO2009051912A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346282A (zh) * 2016-05-04 2017-11-14 世意法(北京)半导体研发有限责任公司 用于微处理器的调试支持单元

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2526897T3 (es) * 2010-06-09 2015-01-16 Chanel Parfums Beauté Inhibidores de varios microARN para usar en la prevención y/o atenuación del envejecimiento cutáneo y/o para hidratar la piel
CN102063367B (zh) * 2010-10-29 2013-07-17 凌阳科技股份有限公司 针对当机程序的离线分析方法及装置
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US8700955B2 (en) * 2011-09-22 2014-04-15 Freescale Semiconductor, Inc. Multi-processor data processing system having synchronized exit from debug mode and method therefor
JP5840014B2 (ja) * 2012-02-01 2016-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンパイル方法、プログラムおよび情報処理装置
US8925077B2 (en) * 2013-03-11 2014-12-30 Bluebox Security, Inc. Mobile devices with inhibited application debugging and methods of operation
US10485706B2 (en) 2016-08-29 2019-11-26 3M Innovative Properties Company Electronic hearing protector with switchable electrical contacts
US11132283B2 (en) * 2019-10-08 2021-09-28 Renesas Electronics America Inc. Device and method for evaluating internal and external system processors by internal and external debugger devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111756A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Instruction control system
JPH02220145A (ja) * 1989-02-22 1990-09-03 Nec Corp プログラムトレース方式
JPH06187195A (ja) * 1991-12-26 1994-07-08 Nec Corp 設定制御システム
US5491793A (en) * 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
JPH09218801A (ja) * 1995-08-30 1997-08-19 Motorola Inc データプロセッサ
US6289300B1 (en) * 1998-02-06 2001-09-11 Analog Devices, Inc. Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
US6587967B1 (en) * 1999-02-22 2003-07-01 International Business Machines Corporation Debugger thread monitor
JP3767276B2 (ja) * 1999-09-30 2006-04-19 富士通株式会社 システムコール情報の記録方法および記録装置
GB2365546B (en) * 1999-12-23 2004-02-18 St Microelectronics Sa A computer system with two debug watch modes
US6865663B2 (en) * 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
US7444547B2 (en) * 2003-06-19 2008-10-28 International Business Machines Corproation Method, system, and product for programming in a simultaneous multi-threaded processor environment
US20050240820A1 (en) * 2004-03-31 2005-10-27 Vannerson Eric F Method and apparatus for multiprocessor debug support
JP2007026084A (ja) * 2005-07-15 2007-02-01 Renesas Technology Corp マイクロプロセッサ
JP2007058731A (ja) * 2005-08-26 2007-03-08 Matsushita Electric Ind Co Ltd プロセッサ、及び並列命令実行対応デバッグ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346282A (zh) * 2016-05-04 2017-11-14 世意法(北京)半导体研发有限责任公司 用于微处理器的调试支持单元
CN107346282B (zh) * 2016-05-04 2024-03-12 世意法(北京)半导体研发有限责任公司 用于微处理器的调试支持单元

Also Published As

Publication number Publication date
TW200921505A (en) 2009-05-16
US7689815B2 (en) 2010-03-30
JP2011501265A (ja) 2011-01-06
US20090100254A1 (en) 2009-04-16
WO2009051912A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
CN101821719A (zh) 用于数据处理系统的调试指令
CN101809542B (zh) 用于监视调试事件的系统和方法
US7681078B2 (en) Debugging a processor through a reset event
US9053233B2 (en) Method and device for controlling debug event resources
CN102124442B (zh) 用于在多线程数据处理系统中使用的调试指令
CN101946232B (zh) 基于地址的条件调试指令的认定
US6378064B1 (en) Microcomputer
KR101126820B1 (ko) 스레드 통신 및 동기화 기법
CN104205064A (zh) 将程序事件记录事件向运行时间检测事件的变换
US20120079459A1 (en) Tracing multiple threads via breakpoints
EP2324419B1 (en) Debug message generation using a selected address type
CN104380264A (zh) 运行时间检测报告
CN101946236A (zh) 用于共享调试资源的方法和装置
US20090222693A1 (en) Method and apparatus for masking debug resources
CN104731572A (zh) 履行硬件线程的硬件权利的方法和系统
US9164813B2 (en) Using a debug engine to identify threads that wait for a mutex
CN108345534B (zh) 生成和处理跟踪流的装置和方法
US20130054988A1 (en) Integrated circuit device, signal processing system and method for managing power resources of a signal processing system
US20100049956A1 (en) Debug instruction for use in a multi-threaded data processing system
CN114253816A (zh) 确定崩溃日志记录的结构的设备、系统和方法
CN1016905B (zh) 在非微码数据处理系统上提供扩展的处理环境的装置和方法
CN114780283B (zh) 一种故障处理的方法及装置
EP0297890B1 (en) Apparatus and method for data induced condition signaling
Calude The complexity of Goldbach's conjecture and Riemann's hypothesis
CN104380265A (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
ASS Succession or assignment of patent right

Owner name: LANBUSHI INC.

Free format text: FORMER OWNER: FREESCALE SEMICONDUCTOR, INC.

Effective date: 20120823

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120823

Address after: American California

Applicant after: Lanbushi company

Address before: Texas in the United States

Applicant before: Fisical Semiconductor Inc.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100901