CN1742458A - 在调试过程中用于控制数据处理系统的方法和设备 - Google Patents
在调试过程中用于控制数据处理系统的方法和设备 Download PDFInfo
- Publication number
- CN1742458A CN1742458A CNA2004800026631A CN200480002663A CN1742458A CN 1742458 A CN1742458 A CN 1742458A CN A2004800026631 A CNA2004800026631 A CN A2004800026631A CN 200480002663 A CN200480002663 A CN 200480002663A CN 1742458 A CN1742458 A CN 1742458A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- activation
- subsystems
- control
- data handling
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Power Sources (AREA)
Abstract
一种数据处理系统(10)包括调试单元(14),该调试单元通过控制调试操作所需的多个子系统的全部或者被选择的子集的激活,来为数据处理系统的正常操作提供谨慎的调试能力。例如,通过激活调试操作所需要的被选子系统可节电。此外,在一个实施例中,调试单元能为被选择的子系统提供从去激活到完全激活的激活级别,从而提供数据处理系统的进一步控制。在一个实施例中,调试控制和状态寄存器(40)在调试单元和所述多个子系统之间提供电源管理握手。该握手可用于确保调试操作顺利进行,因为被选子系统能够为调试单元提供状态信息。
Description
技术领域
本发明一般涉及数据处理系统和调试(debugging),更具体地,涉及在调试过程中数据处理系统的控制。
背景技术
调试系统在许多数据处理系统中,例如,在单片系统(system onchips:SoC)中,被应用来提供系统组件的访问和可见性。因此,在数据处理系统中,这些调试系统可用于检测和纠正缺陷。然而,目前可用的许多调试系统都过于强制性(obtrusive),因为它们显著地影响了数据处理系统的系统状态,这将降低准确地调试系统的能力。此外,一些调试系统还需要数据处理系统的完全加电来执行调试操作。然而,在这种完全加电期间,数据处理系统的一些部分可能不必加电,由此不必要地增大功耗。因此,需要一种不那么强制性的、考虑到电源消耗(power-aware)的调试系统。
附图说明
本发明通过举例来示意,而且并不受附图的限制,其中,类似的附图标记指示类似的单元,其中:
图1以方框图形式示意了根据本发明的一个实施例的数据处理系统;
图2示意了根据本发明的一个实施例的图1的数据处理系统的调试控制和状态寄存器;以及
图3以流程图的形式示意了根据本发明的一个实施例,在调试过程中控制图1的数据处理系统的方法。
本领域的技术人员知道在图中的单元是以简洁明了的方式示意的,并且无需按照比例来绘制。例如,可相对于其他单元放大图中的某些单元的尺寸,以便有助于提高对本发明的实施例的理解。
具体实施方式
在此使用的术语“总线”指的是用于传送一种或多种类型的信息(如数据,地址,控制器或状态)的多个信号或导线。在此讨论的导线(或信号)可以关于是单导线、多导线、单向导线或双向导线来示意或描述。然而,不同的实施例可改变导线的实施方式。例如,可能使用分散的单向导线而非双向导线,反之亦然。另外,单导线也可能代替多导线来串行传输,或者以一种时间多路复用的方式来传输多个信号。同样地,携带多个信号的单导线可以分割成携带这些信号的子集的各种不同的导线。因此,传输信号有多种选择。
当涉及把信号、状态位或者类似设备表现成它的逻辑真或逻辑假的状态时,分别使用术语“断言”(assert)、“设置”(set)、“求反”(negate)(或者“取消断言(deassert)”、“清除”(clear))。如果逻辑真状态为逻辑电平1,那么逻辑假状态就是逻辑电平0。如果逻辑真状态为逻辑电平0,那么逻辑假状态就是逻辑电平1。
图1示意了根据本发明的一个实施例的数据处理系统10,数据处理系统10包括处理器12、调试单元14、电源管理和时钟控制电路18、子系统24-27。处理器12、调试单元14、电源管理和时钟控制电路18、子系统24、25通过总线20互为双向连接。另外,调试单元14与处理器12、子系统24-27、电源管理和时钟控制电路18的每一个往返发送和接收调试控制/状态信号22。电源管理和时钟控制电路18分别通过双向导线30、31、32和33给子系统24-27的每一个提供电源管理和时钟/控制信号28。处理器12也通过导线36与电源管理和时钟控制电路18双向连接。
调试单元14提供调试数据处理系统10的能力。调试单元14通过控制调试操作所需要的子系统24-27的全部或者子集的激活级别,能够给数据处理系统10的正常操作提供谨慎的(unobtrusive)调试能力。不像现有技术的系统,本发明的实施例在调试过程中能够控制子系统24-27的激活级别,而不需要数据处理系统10的工作模式的任何改变。这是合乎需要的,因为在调试过程中,为了提供更精确的调试,希望数据处理系统10变化最小。数据处理系统工作模式的变化会导致调试信息不那么精确,因为在数据处理系统10的实际应用中,它不会工作于调试模式。因此,为了得到更精确的调试信息,数据处理系统在调试过程中应该尽可能接近于实际应用中用到的工作模式工作。
在一个实施例中,数据处理系统10是一个低功率SoC,例如,它可以用于手持装置(如无线应用中)。作为选择,数据处理系统10可以是图1示意的有多个子系统的数据处理系统的任何类型之一。数据处理系统包括子系统24-27,其中,子系统24和25是多个子系统中的两个子系统,这两个子系统可以与总线20连接,并且能够与调试单元14相互发送和接收调试控制和状态信号,而子系统26和27也是多个子系统中的两个子系统,这两个子系统可能不和总线20连接,但是仍能够与调试单元14相互发送和接收调试控制和状态信号。尽管只示意了4个子系统,数据处理系统10可以包含诸如子系统24和25的任何数量(包括1或者0)的子系统,也可以包含诸如子系统26和27的任何数量(包括1或者0)的子系统。
通常,子系统24-27中的每一个都是数据处理系统10的一部分。子系统24-27中的每一个都有不同的时钟域或功率域,在这些时钟域或功率域中,例如,为了降低整个系统的功耗,可以独立控制时钟和/或电源(和/或其他属性)。需要注意的是,有一些子系统也共享时钟域或功率域。因此,这些子系统的每一个可能包含数据处理系统10的不同部分,例如,其它控制器,外围设备,输入输出(I/O)设备,I/O接口以及诸如数字信号处理器(DSP)等其它处理器。因此,数据处理系统10可包含各种不同类型的主从设备,能组成不同子系统,这些子系统或者子系统的各部分可能会交迭。进一步需要注意的是,处理器12、调试单元14、以及电源管理和时钟控制电路18的每一个可以认为是一个子系统,或者可以被包括为子系统的一部分。还需要注意的是,在可选的实施例中,数据处理系统10可以有不同的组成。例如,调试单元14可以位于处理器12或者电源管理和时钟控制电路18内,电源管理和时钟控制电路18也可能位于处理器12内,或者分布于处理器12或子系统24-27的一些或全部中。进一步说,调试单元14的全部或一部分可能位于数据处理系统10之外(比如位于芯片外位置)。因此,可以理解,数据处理系统10可以按照各种不同的方式设计和分割成不同的子系统。
需要注意的是,数据处理系统10的正常操作(调试以外)可以像本领域公知的那样运行,因此,只被描述到需要更好地理解图1-3的描述的程度。另外,需要注意的是,图1所描述的功能块可以以各种不同的方式排列,其中一些部分甚至可以位于数据处理系统10之外。再者,图1中所示的每一个功能块,例如,调试单元14和电源管理与时钟控制电路18可以由软件、硬件、固件,或者它们的任意组合来实现。
如上所述,子系统24-27可以以各种不同的方式来控制。例如,子系统24-27中的每一个都可以通过以下方式独立断电:关闭或者禁用它们的时钟、降低或去除电源电压、改变它们的时钟频率。也就是说,各种不同的子系统属性(例如时钟或电源属性或电源使用)可以以不同的方式独立控制。因此,电源管理和时钟控制电路18既可用于给每一个子系统提供控制信号以控制任何这些功能或属性,也可用于给这些子系统的任何一个提供实际的时钟信号。因此,电源管理和时钟/控制信号28可以包括控制信号、时钟,或者子系统24-27的电源管理系统和激活控制(下文所要讨论的)所需要的任何其它类型的信息。
子系统的激活级别可以通过各种不同的方式来控制。在一个实施例中,每一个子系统有两个可能的激活级别,激活和去激活(或者不活动)。在这个实施例中,激活子系统可以指启用它的时钟,提高时钟频率,或者给子系统提供电源电压,而去激活子系统可以指关闭(gate-off)或禁用时钟,完全去除电源电压,或者降低时钟频率。作为选择,每一个子系统可以有更多级别的激活。例如,控制子系统的激活级别包括提供特定的电源电压,或者提供特定的时钟频率,或使子系统处于满功率、功率降低、或低功率以及一些其它的工作模式。因此,调试单元14的各种不同实施例可提供不同的激活控制。
在一个实施例中,调试单元14包含调试寄存器16,如图2所示,调试寄存器16包括调试控制寄存器40和调试状态寄存器46。这些寄存器提供调试单元14和子系统24-27之间的电源管理握手。调试控制寄存器40用于为调试操作控制已选子系统的激活。调试状态寄存器46用于指明子系统24-27的状态。这样,调试单元14可以使用状态信息,以确定什么时候可以继续涉及被选子系统的调试操作。还应注意,在可选实施例中,调试寄存器16可能包含需要的任何数量的寄存器,并且能位于数据处理系统10内的任何位置。
如图2所示,调试控制寄存器40包含分别与每个子系统24-27相对应的字段42-45。因此,子系统24激活字段42与子系统24相对应,子系统25激活字段43与子系统25相对应,子系统26激活字段44与子系统26相对应,以及子系统27激活字段45与子系统27相对应。每个激活字段42-45可以是单个位值,其中,该位的一个状态表示对应的子系统将被激活,而该位的另一状态则表示对应的子系统除非已经被激活,否则不被激活(或者,表示对应的子系统将被去激活)。作为选择,每一个激活字段都可以是一个n位的值,这个值提供相应子系统的激活级别。例如,可以使用一个2位的值,给每个子系统提供多达4个不同级别的激活,例如,其范围可以从去激活到部分激活到完全激活。作为选择,1位的值可以用于表示激活级别的预定增长或减小。进一步需要注意的是,每一个激活字段能与子系统的不同属性相对应。例如,子系统24激活字段42可用于控制一种类型的时钟属性,而子系统25激活字段43可用于控制一种不同类型的时钟属性、功率属性,或者任何其它类型的子系统属性。而且,在一个可选实施例中,多个子系统可以共用单个调试激活字段。
仍然参考图2,调试状态寄存器46包括分别与每个子系统24-27相对应的字段47-50。因此子系统24状态字段47与子系统24对应,子系统25状态字段48与子系统25对应,子系统26状态字段49与子系统26对应,子系统27状态字段50与子系统27对应。每一个状态字段47-50可以是单个位值,其中该位的一个状态表示相应的子系统是活动的,而该位的另一状态则表示相应的子系统不活动。作为选择,每一个状态字段都可以有n位值,表示相应子系统当前的激活级别。而且,在一个可选实施例中,不同子系统可以共用单个调试状态字段。作为选择,一些子系统根本不需要调试状态字段,因为它们并不需要向调试单元14传送状态信息。
图3包括一个流程图60,该流程图示意了在调试操作过程中控制数据处理系统10的方法。流程图60始于开始62,接着是功能块64,在这里启动调试操作。然后流程转入功能块66,在这里调试单元14确定在调试操作过程中将使用哪些子系统。在一个实施例中,调式单元14使用查询表确定这个信息,查询表列出一系列调试操作以及每一个调试操作所需要的相应子系统。还需要注意的是,为了执行特定的调试操作,确定将使用哪些子系统也包括确定每一个子系统需要的激活级别。例如,在一个可选实施例中,对于查询表中的每一个调试操作,可针对相应调试信息为每个所需的子系统存储激活级别。由此,这些激活级别的值会与那些将要存储到调试控制寄存器40中的值对应。因此,在这种方式下,依赖于正在被执行的特定调试操作,不同的子系统能够有不同的激活级别(其中可以控制不同的属性)。作为选择,不同于查询表系统或者除了查询表以外的其它系统可以用于确定将使用哪个子系统。例如,可以使用智能软件确定或者基于状态机的方法。
调试单元14使用来自查询表(或者为被选择的子系统提供适当的激活级别的其它系统)的信息并且向调试控制寄存器40写入适当的值。也就是说,对于每一个被选择的子系统,一个对应于适当激活级别的适当值被存储在相应的激活字段中。例如,在上述的实施例中,确定方法使用为每个调试操作提供所需的子系统的查询表,一个相同的预定值可以被写入到与所需的子系统对应的每个激活字段(在调试控制寄存器40中),以便激活所需的子系统。作为选择,如果该列表也能为每一个需要的子系统提供激活级别,那么这些值就会被写入调试控制寄存器40。(需要注意的是,在一个实施例中,对应于未被选择的子系统的任何保留的激活字段对当前的调试操作仍然不受影响。作为选择,它们可以被清除,或写入一个预定值。)
流程然后转入功能块68,在这里被选择的子系统的激活得到控制。在一个实施例中,调试控制寄存器40中的值被提供给电源管理和时钟控制电路18,使得适当的控制信号或者时钟信号能够根据调试控制寄存器40提供给适当的子系统,以实现期望的激活级别。作为选择,除了或者代替向电源管理和时钟控制电路18发送这些值,调试单元14可以直接为每一个相应的子系统提供存储在调试控制寄存器40的激活字段中的值。
需要注意的是,在一个实施例中,调试单元14可用于只激活那些将要在调试操作过程中使用的子系统。作为选择,调试单元14可以激活更多的子系统,或者还可以去激活或修改任何子系统的激活级别。在一些情况下,需要注意的是,给为了调试操作而被选择的子系统提供的激活级别也许和被选子系统的当前激活级别一样,这意味着不需要改变激活级别。作为选择,如果提供给为了调试操作而被选择的子系统的激活级别低于当前激活级别,那么,在这种情况下,一些实施例可能选择不去改变激活级别。
如上所述,调试单元14可以以各种不同的方式实现,在一个例子中,各部分既位于数据处理系统10之内,也位于数据处理系统10之外。在一个例子中,功能块66的确定能够通过位于数据处理系统10之外的软件或硬件来执行(例如,芯片外硬件或软件),并且,可以将结果写入到数据处理系统10中的硬件(例如调试控制寄存器40)。用这种方式,任何查询表或软件确定方法都可以存储在数据处理系统10之外。
流程接着转入模块70,在这里接收来自被选子系统的状态信息。每一个从调试单元14(和/或从电源管理和时钟控制电路18)接收激活控制信息的被选子系统都能够(通过调制控制/状态信号22)给提供激活控制信息的调试单元14提供调试状态信号。作为选择,每一个被选的子系统都可以给电源管理和时钟控制电路18提供调试状态信号,而不直接提供给调试单元14,或者还直接提供给调试单元14。如果需要,电源管理和时钟控制电路18能够给调试单元14提供调试状态信息。调试状态信号提供状态值,这些值被存储在调试状态寄存器46的相应状态字段中,或者反映为调试状态寄存器46的相应状态字段中的值。在这种方式下,调试单元14就可以知道到被选择的子系统的激活级别。在一个实施例中,调试单元14能够轮询调试状态寄存器46以确定被选子系统的激活级别。作为选择,调试单元14在读取调试状态寄存器46之前会等待一段预定的时间,以虑及传输延迟。
一旦接收到状态信息,流程转入功能块72,在这里用设置到适当的激活级别的适当子系统来执行调试操作。需要注意的是,在一个实施例中,状态信息表明相应的子系统正以正确的激活级别在工作。然而,在一个可选实施例中,状态信息表明相应的子系统正处于进入正确的激活级别的过程中。在这个实施例中,调试单元14可以在执行调试操作之前等待一段预定的时间来确保子系统处于适当的激活级别。而且,调试单元14可以用调试状态寄存器46中的信息来确定任何被选择的子系统进入适当的激活级别是否失败。同样,位于数据处理系统10之内或者之外的软件会从调试状态寄存器46读取状态信息,并把结果和期望的结果相比较来帮助确定激活控制的适当操作。
在调试操作结束后,流程转入功能块74,在这里调试单元14释放被选子系统的激活控制。在一个实施例中,在释放激活控制后,被选子系统返回到它们在调试操作之前的激活级别。例如,如果一个特定的被选子系统在调试操作之前处于低功率模式,但是为了调试操作必须被激活(例如通过提供电源或使其时钟启用),这个特定的被选子系统在调试单元14释放激活控制之后就会自动地返回到低功率模式。在一个实施例中,调试单元14通过清除调试控制寄存器40中的相应字段来释放激活控制。在一个可选实施例中,调试单元14通过恢复调试控制寄存器40的相应字段中的预定值来释放激活控制。作为选择,在释放激活控制之后,被选子系统可以返回到默认的模式或激活级别。流程结束于76。
需要注意的是,在可选实施例中,功能块70和74是任选的。例如,在一个实施例中,不存在功能块70,于是调试单元14不从被选子系统接收关于状态信息的反馈。在这个实施例中,在功能块68控制激活后,调试单元14会在功能块72执行调试操作之前等待预定的时间。类似地,功能块74也是任选的,这样调试电路14就不需要主动释放激活控制。例如,激活控制可以在调试操作结束之后被释放或者用其他方式寻址。
由于在发布调试命令之前已经知道所需的子系统是活动的,因此可以理解在涉及握手控制和状态信息的流程图60中的闭环操作是如何确保调试操作可以顺利进行的。而且,在低功耗模式下,可以通过只激活调试操作所需的子系统的子集来节电,而不必给整个数据处理系统加电。同样,如上所述,流程图60不需要数据处理系统10改变操作模式。也就是说,通过使用子系统激活控制,这里所描述的实施例能提供调试能力,而不需要改变数据处理系统的操作模式,并且在调试过程中能降低功耗,由此实现改进的和更精确的调试。
在前述的说明中,本发明已经通过参考特定的实施例来描述。然而,本领域的一般技术人员知道在不偏离下面的权利要求书所述的本发明的范围的前提下可以进行各种修改和变化。例如,方框图可能有与所述不同的功能块,有或多或少的功能块,也可能有不同的排列方式。另外,流程图也可能有不同的排列,包括或多或少的步骤、排列得不同,或者某些步骤可以拆分成多步、有些步骤可以与其它步骤同时执行。因此,说明书和附图被认为是说明性的而不是约束性的。并且所有这样的修改预定包含在本发明的范围内。
好处,其它优势,和问题解决方案都在上文通过特定的实施例描述了。然而,这些好处、优势、问题解决方案和任何可能引起好处、优势或解决方案发生或变得更明确的元素不被认为是全部或者任何一个权利要求的关键的,需要的或必需的特征或元素。在此使用的术语“包含”、“包括”或它们的任何其它变化都认为是覆盖非唯一的包含,使得包含一系列元素的过程,方法,产品或装置不仅仅包括这些元素,还可能包括没有清楚地列出或者这样的过程、方法、产品或装置所固有的其它元素。
Claims (20)
1.一种用于在调试操作过程中控制数据处理系统(10)的方法,该数据处理系统具有多个子系统,该方法包括:
选择将要在调试操作过程中被激活的所述多个子系统中的被选择子系统;
控制所述多个子系统中的所述被选择子系统的激活,而不改变数据处理系统的工作模式;
从所述多个子系统的所述被选择子系统中提供激活状态信息;以及
执行调试操作。
2.如权利要求1所述的方法,进一步包括:
释放所述多个子系统中的所述被选择子系统的激活控制。
3.如权利要求1所述的方法,进一步包括:
确定为了执行调试操作,所述多个子系统中哪些必须是被选择子系统。
4.如权利要求1所述的方法,进一步包括:
根据激活状态信息,选择性地暂停调试操作。
5.如权利要求1所述的方法,其中所述选择步骤包括:
向调试控制寄存器写入激活控制信息。
6.如权利要求1所述的方法,其中所述控制激活的步骤包括:
改变时钟的属性。
7.如权利要求1所述的方法,其中所述控制激活的步骤包括:
启动功耗的变化。
8.一种数据处理系统,包括:
多个子系统;和
用于执行调试操作的装置,所述装置包括:
用于选择所述多个子系统中的哪些将在调试操作过程中被激活的装置;和
用于在调试操作过程中单独控制所述多个子系统的每一个的激活的装置,其中数据处理系统的工作模式在激活时不改变。
9.如权利要求8所述的数据处理系统,其中用于执行调试操作的装置进一步包括:
用于从所述多个子系统中的至少一个接收激活状态信息的装置。
10.如权利要求9所述的数据处理系统,其中所述接收激活状态信息的装置包括:
用于所述多个子系统的所述至少一个中的每一个的至少一个状态寄存器字段。
11.如权利要求9所述的数据处理系统,其中根据激活状态信息选择性地暂停调试操作。
12.如权利要求8所述的数据处理系统,其中所述选择装置包括:
用于所述多个子系统的至少一个的至少一个控制寄存器字段。
13.如权利要求8所述的数据处理系统,其中用于选择所述多个子系统中的哪些将在调试操作过程中被激活的装置还包括用于确定激活级别的装置。
14.如权利要求8所述的数据处理系统,其中所述单独控制所述多个子系统的每一个的激活的装置包括用于改变提供给所述多个子系统中至少一个的时钟的频率的装置。
15.如权利要求8所述的数据处理系统,其中所述单独控制所述多个子系统的每一个的激活的装置包括用于改变所述多个子系统中至少一个的电源使用的装置。
16.如权利要求8所述的数据处理系统,其中所述单独控制所述多个子系统的每一个的激活的装置只激活所述多个子系统中那些执行调试操作所需的子系统。
17.如权利要求8所述的数据处理系统,其中所述单独控制激活的装置将所述多个子系统的每一个释放到所述多个子系统的每一个在调试操作启动之前所具有的激活状态。
18.一种数据处理系统,包括:
第一子系统;
第二子系统;和
用于执行调试操作的调试单元,所述调试单元包括:
存储用于第一子系统的调试操作的第一激活控制信息的第一控制寄存器字段;
存储用于第二子系统的调试操作的第二激活控制信息的第二控制寄存器字段;
指示用于第一子系统的调试操作的第一激活状态信息的第一状态寄存器字段;以及
指示用于第二子系统的调试操作的第二激活状态信息的第二状态寄存器字段。
19.一种数据处理系统,包括:
第一子系统;
第二子系统;和
电路系统,该电路系统向第一子系统提供调试操作的第一激活控制信息,并向第二子系统提供调试操作的第二激活控制信息,其中第一激活控制信息和第二激活控制信息在第一和第二子系统中产生不同的响应,并且其中第一和第二激活控制信息不请求数据处理系统改变工作模式。
20.一种数据处理系统,包括:
第一子系统;
第二子系统;和
电路系统,该电路系统向第一子系统提供调试操作的第一激活控制信息,并向第二子系统提供调试操作的第二激活控制信息,其中响应提供第一激活控制信息,该电路系统接收第一激活状态信息,并响应提供第二激活控制信息,接收第二激活状态信息,其中第一激活状态信息指示第一子系统的激活级别,而第二激活状态信息指示第二子系统的激活级别。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/350,658 | 2003-01-24 | ||
US10/350,658 US6895530B2 (en) | 2003-01-24 | 2003-01-24 | Method and apparatus for controlling a data processing system during debug |
PCT/US2004/001224 WO2004068279A2 (en) | 2003-01-24 | 2004-01-16 | Method and apparatus for controlling a data processing system during debug |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1742458A true CN1742458A (zh) | 2006-03-01 |
CN1742458B CN1742458B (zh) | 2010-09-29 |
Family
ID=32735615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800026631A Expired - Fee Related CN1742458B (zh) | 2003-01-24 | 2004-01-16 | 在调试过程中用于控制数据处理系统的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6895530B2 (zh) |
EP (1) | EP1590912A2 (zh) |
JP (1) | JP2006516780A (zh) |
KR (1) | KR100993134B1 (zh) |
CN (1) | CN1742458B (zh) |
TW (1) | TWI338835B (zh) |
WO (1) | WO2004068279A2 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
KR100520082B1 (ko) * | 2003-10-06 | 2005-10-11 | 삼성전자주식회사 | 컴퓨터 시스템 |
US7318172B2 (en) * | 2004-08-31 | 2008-01-08 | Broadcom Corporation | Wireless remote firmware debugging for embedded wireless device |
US9304773B2 (en) * | 2006-03-21 | 2016-04-05 | Freescale Semiconductor, Inc. | Data processor having dynamic control of instruction prefetch buffer depth and method therefor |
US7865704B2 (en) | 2006-03-29 | 2011-01-04 | Freescale Semiconductor, Inc. | Selective instruction breakpoint generation based on a count of instruction source events |
US7962786B2 (en) * | 2006-11-17 | 2011-06-14 | Nokia Corporation | Security features in interconnect centric architectures |
US20080141226A1 (en) * | 2006-12-11 | 2008-06-12 | Girouard Janice M | System and method for controlling trace points utilizing source code directory structures |
US7870455B2 (en) * | 2007-12-12 | 2011-01-11 | Infineon Technologies Ag | System-on-chip with master/slave debug interface |
US7870430B2 (en) * | 2008-02-29 | 2011-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for sharing debug resources |
US7870434B2 (en) * | 2008-02-29 | 2011-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for masking debug resources |
US8441298B1 (en) | 2008-07-01 | 2013-05-14 | Cypress Semiconductor Corporation | Analog bus sharing using transmission gates |
US8135884B1 (en) | 2009-05-04 | 2012-03-13 | Cypress Semiconductor Corporation | Programmable interrupt routing system |
US9448964B2 (en) * | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8179161B1 (en) | 2009-05-05 | 2012-05-15 | Cypress Semiconductor Corporation | Programmable input/output circuit |
US8487655B1 (en) | 2009-05-05 | 2013-07-16 | Cypress Semiconductor Corporation | Combined analog architecture and functionality in a mixed-signal array |
US9612987B2 (en) * | 2009-05-09 | 2017-04-04 | Cypress Semiconductor Corporation | Dynamically reconfigurable analog routing circuits and methods for system on a chip |
WO2010150480A1 (ja) * | 2009-06-25 | 2010-12-29 | パナソニック株式会社 | 電力制御支援装置および電力制御支援方法 |
CN102270030B (zh) * | 2010-05-07 | 2015-09-09 | 三星电子株式会社 | 片上系统、具有其的设备以及该片上系统的电力控制方法 |
KR20110124617A (ko) * | 2010-05-11 | 2011-11-17 | 삼성전자주식회사 | 시스템-온-칩 및 그것의 디버깅 방법 |
US8601315B2 (en) * | 2010-11-01 | 2013-12-03 | Freescale Semiconductor, Inc. | Debugger recovery on exit from low power mode |
US9053233B2 (en) * | 2011-08-15 | 2015-06-09 | Freescale Semiconductor, Inc. | Method and device for controlling debug event resources |
US8826079B2 (en) * | 2011-12-16 | 2014-09-02 | Arm Limited | Data processing apparatus and method for identifying debug events |
US9323312B2 (en) | 2012-09-21 | 2016-04-26 | Atmel Corporation | System and methods for delaying interrupts in a microcontroller system |
US9213388B2 (en) | 2012-09-21 | 2015-12-15 | Atmel Corporation | Delaying reset signals in a microcontroller system |
US9507406B2 (en) * | 2012-09-21 | 2016-11-29 | Atmel Corporation | Configuring power domains of a microcontroller system |
US9213397B2 (en) | 2012-09-21 | 2015-12-15 | Atmel Corporation | Changing power modes of a microcontroller system |
KR20150019457A (ko) * | 2013-08-14 | 2015-02-25 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
US9383807B2 (en) | 2013-10-01 | 2016-07-05 | Atmel Corporation | Configuring power domains of a microcontroller system |
US9483373B2 (en) * | 2014-02-14 | 2016-11-01 | Freescale Semiconductor, Inc. | Debug configuration tool with layered graphical user interface |
US9270553B1 (en) | 2014-03-26 | 2016-02-23 | Amazon Technologies, Inc. | Dynamic service debugging in a virtual environment |
KR102210770B1 (ko) | 2014-09-02 | 2021-02-02 | 삼성전자주식회사 | 반도체 장치, 반도체 시스템 및 그 제어 방법 |
US9632137B2 (en) * | 2015-04-22 | 2017-04-25 | Apple Inc. | Serial wire debug bridge |
US9892024B2 (en) | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
CN105549499A (zh) * | 2016-03-03 | 2016-05-04 | 深圳市博巨兴实业发展有限公司 | 一种面向键控类应用的低功耗mcu-soc系统 |
CN115220978B (zh) * | 2022-09-19 | 2023-02-03 | 瀚博半导体(上海)有限公司 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9320052D0 (en) * | 1993-09-29 | 1993-11-17 | Philips Electronics Uk Ltd | Testing and monitoring of programmed devices |
US5889988A (en) * | 1995-01-03 | 1999-03-30 | Intel Corporation | Debugger for debugging tasks in an operating system virtual device driver |
US5680620A (en) * | 1995-06-30 | 1997-10-21 | Dell Usa, L.P. | System and method for detecting access to a peripheral device using a debug register |
US5887146A (en) * | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
US5828824A (en) * | 1996-12-16 | 1998-10-27 | Texas Instruments Incorporated | Method for debugging an integrated circuit using extended operating modes |
US6026503A (en) * | 1997-08-12 | 2000-02-15 | Telrad Communication And Electronic Industries Ltd. | Device and method for debugging systems controlled by microprocessors |
US6279123B1 (en) * | 1997-09-15 | 2001-08-21 | Lucent Technologies, Inc. | System for viewing and monitoring embedded processor operation |
US6446221B1 (en) * | 1999-05-19 | 2002-09-03 | Arm Limited | Debug mechanism for data processing systems |
US6560712B1 (en) | 1999-11-16 | 2003-05-06 | Motorola, Inc. | Bus arbitration in low power system |
US6598180B1 (en) * | 1999-12-30 | 2003-07-22 | International Business Machines Corporation | Method, system and program products for selectively debugging program versions executing with in a computing environment |
US6732311B1 (en) * | 2000-05-04 | 2004-05-04 | Agere Systems Inc. | On-chip debugger |
JP3913470B2 (ja) * | 2000-12-28 | 2007-05-09 | 株式会社東芝 | システムlsi |
US6823224B2 (en) * | 2001-02-21 | 2004-11-23 | Freescale Semiconductor, Inc. | Data processing system having an on-chip background debug system and method therefor |
US20020144235A1 (en) * | 2001-03-30 | 2002-10-03 | Charles Simmers | Debugging embedded systems |
-
2003
- 2003-01-24 US US10/350,658 patent/US6895530B2/en not_active Expired - Lifetime
- 2003-12-16 TW TW092135595A patent/TWI338835B/zh not_active IP Right Cessation
-
2004
- 2004-01-16 EP EP04703014A patent/EP1590912A2/en not_active Withdrawn
- 2004-01-16 WO PCT/US2004/001224 patent/WO2004068279A2/en active Application Filing
- 2004-01-16 JP JP2006502871A patent/JP2006516780A/ja active Pending
- 2004-01-16 CN CN2004800026631A patent/CN1742458B/zh not_active Expired - Fee Related
- 2004-01-16 KR KR1020057013637A patent/KR100993134B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2006516780A (ja) | 2006-07-06 |
WO2004068279B1 (en) | 2004-11-25 |
WO2004068279A3 (en) | 2004-09-30 |
EP1590912A2 (en) | 2005-11-02 |
US20040148548A1 (en) | 2004-07-29 |
US6895530B2 (en) | 2005-05-17 |
KR20050100639A (ko) | 2005-10-19 |
TW200422819A (en) | 2004-11-01 |
KR100993134B1 (ko) | 2010-11-10 |
WO2004068279A2 (en) | 2004-08-12 |
TWI338835B (en) | 2011-03-11 |
CN1742458B (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1742458B (zh) | 在调试过程中用于控制数据处理系统的方法和设备 | |
US6622253B2 (en) | Controlling processor clock rate based on thread priority | |
US20070204270A1 (en) | Apparatus and method for processing operations of nonvolatile memory in order of priority | |
CN1443319A (zh) | 处理器控制电压的系统中提供决定开启电压的方法及装置 | |
EP3759713B1 (en) | Dynamic memory power management | |
US9171619B2 (en) | Method and apparatus for configuring write performance for electrically writable memory devices | |
US8275926B2 (en) | Filtered register architecture to generate actuator signals | |
CN1302400A (zh) | 指令集可以配置的微控制器 | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
US7155631B2 (en) | Information processing unit with a clock control circuit having access to the system bus during system clock changes | |
US20080235428A1 (en) | Method and system for dynamic switching between multiplexed interfaces | |
CN102867158A (zh) | 一种切换内存的方法、装置及具有双系统的终端 | |
CN102105870A (zh) | 具有外部存储器存取控制的处理系统 | |
JP2993466B2 (ja) | 情報処理装置 | |
US20070198757A1 (en) | Data processing system with hardware polling processor | |
CN113867803A (zh) | 一种内存初始化装置、方法及计算机系统 | |
CN110383232B (zh) | 具有序列处理单元的存储器控制系统 | |
EP0783148A2 (en) | Power conserving clocking system | |
JP2000347640A (ja) | 電子機器、表示システム及び方法 | |
US8667319B2 (en) | System and method for clock control for power-state transitions | |
US20060195714A1 (en) | Clock control device, microprocessor, electronic device, clock control method, and clock control program | |
JPH11306074A (ja) | 情報処理装置 | |
US6154820A (en) | Arrangement for storing program instructions and data in a memory device and method therefor | |
CN111694697A (zh) | 半导体装置及调试系统 | |
KR20230127824A (ko) | 시스템 온 칩, 그것의 버스 파워 게이팅 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20200116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |