CN101395584B - Jtag功率降级调试 - Google Patents
Jtag功率降级调试 Download PDFInfo
- Publication number
- CN101395584B CN101395584B CN2007800075951A CN200780007595A CN101395584B CN 101395584 B CN101395584 B CN 101395584B CN 2007800075951 A CN2007800075951 A CN 2007800075951A CN 200780007595 A CN200780007595 A CN 200780007595A CN 101395584 B CN101395584 B CN 101395584B
- Authority
- CN
- China
- Prior art keywords
- processor
- debugging
- debug
- power
- idle state
- 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.)
- Expired - Fee Related
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
-
- 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/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Abstract
提供一种在功率降级之后对处理器执行调试操作的方法。在所述处理器的执行模式期间检测所述处理器的闲置状态。确定所述闲置状态与功率降级事件相关联。在所述执行模式期间,通过在所述处理器内加载调试寄存器来恢复所述处理器的调试状态。
Description
技术领域
本发明大体上涉及对在处理器上运行的软件的调试操作。更明确地说,本发明涉及通过功率降级事件对在处理器上运行的软件执行调试操作的系统和方法。
背景技术
技术的发展已经形成了更小且更强大的个人计算装置。举例来说,目前存在多种便携式个人计算装置,包含无线计算装置,例如便携式无线电话、个人数字助理(PDA)和寻呼装置,所述装置小巧、轻便且用户容易携带。更具体地说,便携式无线电话(例如蜂窝式电话和IP电话)可通过无线网络传送语音和数据包。另外,许多此类无线电话里面并入有其它类型的装置。举例来说,无线电话还可包含数字静物摄像机、数字视频摄像机、数字记录器和音频文件播放器。而且,此类无线电话可包含web接口,其可用于接入因特网。由此,这些无线电话包含显著的计算能力。
通常,随着这些装置包含更大的功能性,支持所述装置的各种功能可能需要的各种内部组件所消耗的功率就越多。因此,为了节省非使用周期期间的功率,移动装置已经并入有各种功率节省技术。高级RISC机器(ARM)处理器可进入将挂起或阻止调试通信的三种不同的模式以保存功率:闲置模式、休眠模式和功率降级模式。在闲置模式期间,ARM处理器时钟停止,但芯片的其余部分保持有功率。在休眠模式期间,ARM处理器时钟关闭,参考时钟关闭,且电压电平减小。在功率降级期间,ARM处理器断电。
在这三种功率节省模式中的任一种模式下,处理器都可能是不可存取的,因为ARM时钟并不双态切换。然而,仍有必要在功率降级之前和/或之后,对在装置的处理器和核心上操作的软件进行调试。
一种可能的方法是重启芯片,且恢复寄存器数据,作为重启过程的一部分。然而,这种方法不允许调试管理程序代码,因为重启过程需要管理程序代码。此外,在重启过程期间,所述寄存器中的一者或一者以上可能不可存取以进行恢复。举例来说,可在重启过程期间使调试配置寄存器复位,且使此寄存器可存取可能会提供安全漏洞。通常,调试配置寄存器不能容易地被恢复。
因此,提供一种用于调试核心和处理器的经改进的系统和方法将是有利的。
发明内容
在一个特定实施例中,提供一种在功率降级之后对处理器执行调试操作的方法。在处理器的执行模式期间检测处理器的闲置状态。确定所述闲置状态与功率降级事件相关联。通过在执行模式期间,在处理器内加载调试寄存器来恢复处理器的调试状态。
在特定实施例中,在检测到处理器的闲置状态之后,查询处理器的状态。另外,在特定实施例中,执行调试操作,其使用所恢复的调试寄存器中的至少一者。在另一特定实施例中,所述调试操作是断点和观察点调试操作中的一者。
在特定实施例中,处理器包含ARM类型的微处理器核心。在另一特定实施例中,当处理器的处理器时钟不活动时,检测闲置状态。另外,在特定实施例中,当处理器处于闲置状态达至少500毫秒时,确定闲置状态与功率降级事件相关联。在另一特定实施例中,使用联合测试行动小组(Joint Test Action Group,JTAG)调试器来执行寄存器扫描,以检测处理器的闲置状态。在又一特定实施例中,所述调试寄存器中的至少一者是调试配置寄存器,在处理器在管理程序模式下执行时,所述调制配置寄存器是可测试的。
在又一特定实施例中,结合检测到闲置状态或结合检测到功率降级事件的结束而估计经再同步的定时时钟(RTCK)信号。在特定实施例中,在恢复调试状态之前,检测功率降级事件的结束。
在另一特定实施例中,提供一种对具有处理器核心的处理器执行调试操作的方法。在处理器的执行模式期间,检测处理器核心的闲置状态。当处理器处于闲置状态时,提供对调试操作的请求。通过在处理器被暂停时查询处理器的状态,来确定闲置状态与功率降级事件相关联。所述方法进一步包含:进入联合测试行动小组(JTAG)等待模式;检测功率降级事件的结束;通过加载调试寄存器来恢复处理器的调试状态;检测调试确认信号;以及执行所请求的调试操作。
在特定实施例中,在进入JTAG等待模式之前,切断与供应给处理器的功率相关联的功率信号。在另一特定实施例中,所述方法包含在检测闲置状态之前,检测时钟定时器的期满。在另一特定实施例中,在功率降级事件的结束之前,处理器核心的输入/输出接口处于冻结条件下。
在又一特定实施例中,处理器核心的JTAG输入/输出接口在功率降级事件期间被冻结,且在检测到功率降级事件的结束之后被解冻。在另一特定实施例中,调试操作是断点和观察点调试操作中的一者。在另一特定实施例中,处理器处于闲置状态达至少500毫秒。在又一特定实施例中,所述方法包含使用JTAG调试系统来执行寄存器扫描,以检测处理器的闲置状态。
在另一特定实施例中,揭示一种处理器调试装置,且所述处理器调试装置包含:用于检测处理器的闲置状态的装置;用于在处理器处于闲置状态时提供对调试操作的请求的装置;用于确定闲置状态与功率降级事件相关联的装置;用于检测功率降级事件的结束且用于恢复处理器的调试状态的装置;以及用于执行所请求的调试操作的装置。
在另一特定实施例中,一种集成电路包含调试接口、调试寄存器、调制解调器功率管理器和处理器。所述调试接口适合于接收与调试操作有关的指令。所述调试寄存器适合于存储与调试操作有关的数据。所述调制解调器功率管理器适合于控制数字电压电平,以在处理器不活动周期期间使数字电压电平降级以保存功率,且在处理器不活动周期结束时恢复数字电压电平。处理器对调试接口且对调制解调器功率管理器响应,且适合响应于数字电压电平的恢复而将功率退出引脚驱动到指定的逻辑电平。
在特定实施例中,在数字电压电平恢复时,将数据恢复到调试寄存器。在另一特定实施例中,联合测试行动小组(JTAG)接口适合于连接到调试系统。处理器适合于响应于数字电压电平的降级而冻结JTAG接口的至少一个引脚的逻辑电平。另外,在特定实施例中,所述处理器适合于在数字电压电平恢复时对所述至少一个引脚的逻辑电平进行解冻。
在另一特定实施例中,调试系统包含调试接口、处理器可读指令和处理器。所述调试接口适合于连接到目标处理器。所述处理器可读指令界定调试操作,且界定供用户交互的用户界面。所述处理器适合于基于处理器可读指令而产生用户界面,且响应于处理器可读指令而控制调试操作。所述处理器适合于基于调试接口的引脚的状态变化而检测处理器的功率降级状态。
在特定实施例中,处理器适合于在调试操作期间将调试寄存器的状态存储在存储器中。调试系统适合于响应于状态变化而从存储器恢复调试寄存器的状态。在另一特定实施例中,引脚包含时钟引脚,且状态变化包含不活动周期之后时钟引脚上的上升时钟沿。
在特定实施例中,一种便携式通信装置包含数字信号处理器和控制器。所述控制器包含调制解调器功率管理器和处理器。所述调制解调器功率管理器适合于控制数字电压电平,以在处理器不活动周期期间使数字电压电平降级以保存功率,且在处理器不活动周期结束时恢复数字电压电平。处理器对调制解调器功率管理器响应,且适合于控制通信装置的一部分的操作。所述处理器包含调试功能性,以响应于数字电压电平从经降级功率状态的恢复而提供功率降级恢复指示。
在特定实施例中,在具有测试引脚的集成电路上提供控制器和数字信号处理器。另外,在另一特定实施例中,便携式通信装置包含模拟基带处理器、立体声音频编码器/解码器(CODEC)、射频(RF)收发器、RF开关和RF天线。所述模拟基带处理器耦合到数字信号处理器。所述立体声音频编码器/解码器(CODEC)耦合到模拟基带处理器。所述射频(RF)收发器耦合到模拟基带处理器。所述RF开关耦合到RF收发器。所述RF天线耦合到RF开关。
在特定实施例中,提供实施可执行指令的处理器可读媒体,以对处理器执行调试操作。所述可执行指令包含:用以在处理器的执行模式期间检测处理器的闲置状态的指令;用以确定与功率降级事件相关联的闲置状态的指令;以及用以通过在执行模式期间加载处理器的调试寄存器来恢复处理器的调试状态的指令。
在另一特定实施例中,所述处理器可读媒体进一步包含用于在检测到处理器的闲置状态之后查询处理器的状态的指令。在又一特定实施例中,所述处理器可读媒体进一步包含用以执行调试操作的指令,所述调试操作使用所述调试寄存器中的至少一者。在另一特定实施例中,所述调试操作包含用以执行断点和观察点调试操作中的一者的指令。在又一特定实施例中,当处理器的处理器时钟不活动时,检测闲置状态。在又一特定实施例中,所述处理器可读媒体进一步包含用以使用联合测试行动小组(JTAG)调试系统来执行寄存器扫描以检测处理器的闲置状态的指令。在又一特定实施例中,处理器可读媒体进一步包含用以执行管理程序模式以测试所述调试寄存器的调试配置寄存器的指令。在又一特定实施例中,处理器可读媒体进一步包含用以在恢复调试状态之前检测功率降级事件的结束的指令。
本文所揭示的一个或一个以上实施例的优点可包含允许在功率降级事件期间和之后执行调试操作。
本文所揭示的一个或一个以上实施例的另一优点可包含在不添加边带信号的情况下,通过功率降级和功率恢复过程来执行调试操作。
在审阅整个申请案之后,本发明的其它方面、优点和特征将变得明显,本申请案包含以下部分:附图说明、具体实施方式和权利要求书。
附图说明
当结合附图考虑时,参考具体实施方式,本文所描述的实施例的方面和附加优点将变得更显而易见,在附图中:
图1是说明具有调试功能性的高级RISC机器(ARM)处理器的调试结构的框图;
图2是具有调制解调器功率管理器的处理器的框图;
图3是相对于处理器时钟、参考时钟和电源而说明闲置状态、休眠状态和功率降级状态的时序图的一部分;
图4是说明在功率降级之后恢复调试寄存器的方法的流程图;
图5是说明检测处理器的功率降级且在对处理器恢复功率之后恢复调试数据的方法的流程图;
图6是说明处理器的若干操作模式期间的一组信号的时序图的一部分;
图7是处理器、联合测试行动小组(JTAG)接口和调制解调器功率管理器(MPM)之间的调试互连的框图;
图8是说明用于诊断功率降级状态且在对处理器的电源的恢复时恢复调试寄存器的一组信号的时序图的一部分;
图9是并入有具有调试功能性的处理器以及控制器的便携式通信装置的总图,所述控制器包含具有根据图1到图8中的任一者所述的调试功能性的处理器;
图10是并入有若干控制器的示范性蜂窝式电话的总图,所述控制器中的每一者可含有具有根据图1到图8中的任一者所述的调试功能性的ARM处理器;
图11是并入有若干控制器的示范性无线因特网协议电话的总图,所述控制器包含具有根据图1到图8中的任一者所述的调试功能性的处理器;
图12是并入有若干控制器的示范性便携式数字助理的总图,所述控制器包含具有根据图1到图8中的任一者所述的调试功能性的处理器;以及
图13是并入有控制器的示范性音频文件播放器的总图,所述控制器包含具有根据图1到图8中的任一者所述的调试功能性的处理器。
具体实施方式
图1是说明处理器(例如,高级RISC机器(ARM)处理器106)的调试结构100的框图。调试结构100包含主机计算机102、接口协议转换器104和处理器106。处理器可以是ARM型微处理器核心或具有处理器核心的处理器。将主机计算机102说明为计算机工作站或桌上型计算机,但应理解,计算机102可以是任何基于处理器的装置,包含便携式计算机、手持型计算装置、窗口PC、升阳工作站(sun workstation)等。主机计算机102通过合适的接口112(例如RS232接口、并行接口或任何其它合适接口)连接到接口协议转换器104。接口协议转换器104经由合适的接口114连接到处理器106。具有TAP控制器110的联合测试行动小组(JTAG)接口108经由接口114将处理器106连接到接口协议转换器104。从主机计算机102经由接口112发送的指令由接口协议转换器104转换成处理器106的接口信号,并经由接口114提供给处理器106。
一般来说,将接口协议转换器104展示为单独的元件,但其可并入主机计算机102中,视实施方案而定。接口协议转换器104允许在主机计算机102上运行的调试软件与处理器106通信。一般来说,主机计算机102包含一处理器,其执行调试软件应用程序或调试系统,以发出高级命令(例如断点、观察点等),且检查处理器106的存储器的内容。调试软件可使用接口协议转换器104来接入扫描链,以对处理器106进行调试。扫描链允许主机计算机102的调试软件将指令直接插入处理器106中。指令在处理器106上执行,且视指令的类型而定,可检查、保存或改变处理器106的状态。一般来说,调试结构提供用于控制指令在处理器106上执行的速度的手段,使得指令可以较慢的调试速度、以系统速度或以其它速度执行。另外,调试结构100允许用户/操作者监视处理器内的处理器可读指令的执行,以对处理器、处理器可读指令或其任一组合进行调试。
处理器106的JTAG接口108提供主机计算机102对扫描链的接入,以对处理器106进行调试操作。另外,JTAG接口108提供主机计算机102对系统状态数据和对处理器106的调试数据的存取。一般来说,处理器106不需要处于运行中以开始调试操作。在暂停调试模式下,调试扩展允许主机计算机102将处理器106置入调试状态中,从而允许检查处理器106的内部状态,同时可允许其它系统活动继续进行。在监视调试模式下,可在断点或观察点上产生指令终止,以在不进入暂停调试模式的情况下对处理器106进行调试。当结合在主机计算机102上运行的调试监视软件应用程序而利用时,有可能在允许执行重要的中断服务例行程序的同时对处理器106进行调试。
主机计算机102包含存储器120、界定软件调试系统的处理器可读指令122以及处理器124。处理器124适合于存取存储器120且执行处理器可读指令122以产生具有图形调试器用户界面126的调试软件应用程序。用户可与图形用户界面126交互以起始对处理器106的调试操作,界定用于调试操作的设定值,且监视调试操作的进展。在调试操作期间,当功率降级发生时,存储器120可用于存储调试设定值、处理器状态数据和调试寄存器数据。在主机计算机102上运行的调试软件应用程序可利用存储在存储器120中的数据在功率被恢复时恢复处理器106的调试寄存器和其它调试设定值。在一个实施例中,所述调试寄存器中的一者是调试配置寄存器,所述调试配置寄存器在处理器在管理程序模式下执行时是可测试的,且在处理器在用户模式下执行时是不可测试的。
图2是具有调制解调器功率管理器210的代表性处理器106的框图200。处理器106包含JTAG接口108、TAP控制器110、主处理器逻辑202、嵌入式逻辑204、扫描链206和208、调制解调器功率管理器(MPM)210以及调试寄存器212。一般来说,JTAG接口108适合于经由接口协议转换器104连接到主机调试器系统(例如,图1中的主机计算机102)。JTAG接口108接收指令并向TAP控制器110提供指令,TAP控制器110控制处理器106内的调试操作。明确地说,主机调试器系统可通过接入扫描链206和208,经由TAP控制器110,将指令插入处理器106中。
MPM210适合于控制功率节省特征(例如,功率降级模式)的进入和退出。功率降级是其中控制数字逻辑域的电压(VDD_DIG)的功率调节器被关闭的功率相关事件。通过关闭功率调节器,处理器(以及相关联的电路)的静态或备用电流消耗减少。尽管在功率降级模式期间对MPM210进行供电,但在功率降级之后,MPM210外的任何寄存器的状态可能都是未知的。因此,在功率降级之后,MPM210断言复位信号以初始化内部处理器核心,例如主处理器逻辑202和嵌入式逻辑204。复位包含复位调试逻辑(TRST_n)信号的断言以使调试逻辑复位。
由于处理器106的调试寄存器212驻存在功率已降级的域中,所以调试寄存器212丢失状态,且需要在功率被恢复时恢复。为了恢复调试寄存器212的状态,将主处理器逻辑202和嵌入式逻辑204置入调试模式,且主机计算机102上的调试器应用程序(例如)从存储器120恢复调试寄存器212,并重新启动处理器106。
图3是相对于处理器时钟、参考时钟和电源而说明闲置状态、休眠状态和功率降级状态的时序图300的一部分。一般来说,闲置状态、休眠状态和功率降级状态代表处理器106可进入的且防止或挂起JTAG通信的三种不同的低功率或功率节省模式。在所述三种状态的任一种状态下,对JTAG寄存器的扫描失败,因为ARM时钟被冻结(例如,不双态切换)。举例来说,在ARM9-S核心中,调试寄存器扫描由ARM时钟驱动,所述ARM时钟由参考时钟(TCK)选通。在主机计算机102上运行的调试器应用程序适合于区分所述三种功率节省状态。
如图3中所示,在闲置状态期间,电源电压(VDD_DIG)为高,参考时钟(TCXO)双态切换,且处理器时钟(ARM_CLK)闲置。当处理器无工作要执行时,闲置状态节省功率。在大多数情况下,闲置状态持续相对较短的时间周期,直到接收到中断为止。所述中断在几个时钟周期内启用或重新激活处理器时钟。视实施方案而定,可以不同方式来处理对处理器的调试指令。在一个实施方案中,处理器进入闲置状态,不管调试指令是否存在。在另一实施方案中,处理器结束当前扫描,且在进入闲置状态之前等待,直到调试指令被解除断言为止。当在闲置状态下时,一些处理器将在接收到调试指令时启用处理器时钟。
在休眠状态或模式期间,电源电压(VDD_DIG)为高,参考时钟(TXCO)在几个时钟循环之后变成闲置,且处理器时钟(ARM_CLK)闲置。在较长的处理器不活动周期期间,休眠模式或状态节省处理器和总线功率。举例来说,在数字无线电话(蜂窝式、PCS或其它类型的无线电话)内的处理器中,当电话打开但并不在被使用时,可能存在较长的不活动周期。在大多数情况下,休眠模式比闲置模式持续更长的时间周期。在休眠模式期问,忽略接收到的调试指令,直到接收到下一个中断为止,此时处理器决定服务所述中断和/或响应接收到的调试指令。
在功率降级状态期间,电源电压(VDD_DIG)为低,参考时钟(TXCO)在几个时钟循环之后变成闲置,且处理器时钟(ARM_CLK)闲置。功率降级状态通过在较长的不活动周期期间关闭数字电源电压(VDD_DIG)来节省功率。为了进入功率降级状态,处理器停用所有的时钟体制(clock regime),断开所有的锁相回路(PLL),将SDRAM置于自刷新模式,停用处理器和总线时钟,停用参考时钟(TXCO),冻结芯片的输入/输出(I/O)且断开电源电压调节器。
功率降级模式持续的时间长于一秒,除非接收到高优先权中断。如果当处理器处于功率降级状态时接收到调试指令,那么忽略所述调试指令,直到接收到下一个中断为止。一旦接收到中断,就启用参考时钟(TXCO),对电源电压调节器(VDD_DIG)加电,断言复位,且重新启动ARM和总线时钟。重新启动经再同步的定时时钟(RTCK),且在芯片的输入/输出(I/O)被释放之前大约4毫秒内,主机计算机的调试器软件恢复调试寄存器。
一般来说,经再同步定时时钟(RTCK)是定时时钟(TCK)的经再同步的延迟版本。调试器可经配置以利用RTCK。当处理器暂停时,RTCK信号被冻结在高电平或低电平,不管处理器处于哪一低功率模式。RTCK超时可被配置或用户编程。在特定实施例中,RTCK超时设定值被配置成足够长,使得大多数闲置周期不会触发超时,且使得标准休眠周期不会触发超时。
一般来说,如果功率降级持续时间比RTCK超时周期短,那么当前扫描可能被破坏。然而,由于假定调试器只扫描状态寄存器,所以扫描破坏不应成为问题。如果闲置状态持续时间导致RTCK超时,那么在时钟被重新激活之后,一些无用信息可能遗留在移位寄存器中。然而,调试器可安全地终止扫描并继续进行,因为假定扫描是状态寄存器读取操作。
当最后的参考时钟沿没有在超时周期内出现在处理器的经再同步的时序时钟(RTCK)引脚上时,可终止调试器的当前扫描,且调试器将TAP控制器设置到调试逻辑复位状态。一般来说,可基于时钟定时器的期满而确定RTCK超时。在一个实施例中,可通过使核心复位引脚上的电压电平保持为高持续五个参考时钟循环,来设置调试逻辑复位状态。当检测到下一个经再同步的定时时钟(RTCK)信号时,处理器已经重新开始操作。如果RTCK超时出现在向调试逻辑复位状态的过渡期间的任何一个时间点,那么重新开始所述过程。
一旦TAP控制器处于调试逻辑复位状态,调试系统就可执行状态寄存器的扫描。状态寄存器值将确定处理器的当前状态。如果状态寄存器所指示的当前状态指示处理器正在运行,那么处理器可能处于休眠或闲置模式,且调试器不采取进一步行动。如果状态寄存器指示处理器被暂停,那么暂停的操作可能是由于用户断点(闲置模式或休眠模式)引起的,在此情况下,调试器响应于用户断点而执行常见步骤。如果处理器由于来自调制解调器功率管理器(MPM)内的功率降级恢复逻辑的调试指令(EDBGRQ)而暂停,那么调试器在4毫秒内恢复调试寄存器、ETM寄存器、ETB寄存器或其任一组合。一旦调试寄存器被恢复,那么调试器就释放调试确认(DBGACK)以重新启动处理器。
图4是说明在功率降级之后恢复调试寄存器的方法的流程图。在处理器的执行模式期间,检测处理器的闲置状态(框400)。确定闲置状态与功率降级事件相关联(框402)。在执行模式期间,通过在处理器内重新加载调试寄存器来恢复处理器的调试状态(框406)。在一个实施例中,在处理器检测到闲置状态之前,处理器处于闲置状态达至少500毫秒。
图5是说明检测处理器的功率降级且在对处理器恢复功率之后恢复调试数据的方法的流程图。使用调试器来扫描处理器的状态寄存器(框500)。当参考时钟的时钟沿在某一时间周期内未能出现在JTAG接口的经再同步的定时时钟(RTCK)引脚上时,检测超时条件(框502)。调试器进入调试逻辑复位状态(框504)。调试器检测下一个RTCK信号边缘(框506),其指示处理器已再次变为活动。调试器扫描状态寄存器以确定处理器的当前状态(框508)。如果调试器确定处理器由于功率降级而暂停,那么调试器通常在4毫秒内恢复调试寄存器、ETM寄存器、ETB寄存器或其任一组合(框510)。一旦所述寄存器被恢复,调试器就重新启动处理器(框512)。
一般来说,调制解调器功率管理器(MPM)可与集成电路集成,例如具有功率降级调试功能性的移动通信装置内的电路。MPM的寄存器位(DEBUG_SELECT)启用功率降级调试功能性。在特定实施例中,所有JTAG输入/输出(I/O)在功率降级期间被冻结,且在数字电源电压(VDD_DIG)稳定且复位被释放时被解冻。
MPM向处理器核心断言复位调试逻辑信号(TRST_N)。在功率降级恢复期间,MPM断言外部调试请求(MPM_EDBGRQ)。在特定实施例中,在五个参考时钟循环内接收到外部调试请求后,处理器暂停。当检测到外部调试请求且处理器暂停时,断言调试确认(DBGACK)。通过使时钟循环的数目保持较低,在检测调试请求和暂停之前,处理器执行较少的指令。
图6说明展示处理器的若干操作模式期问的一组信号的时序图600的一部分。明确地说,所述时序图说明20引脚联合测试行动小组(JTAG)接口的各个引脚上的信号。一般来说,可利用这些引脚来检测功率降级状态且执行功率降级恢复,以恢复调试寄存器。如图所示,在602处指示处理器的ARM状态。
在运行状态期间,到达处理器的数字电源电压(VDD_DIG)为高,复位保持在逻辑低,且复位调试逻辑(TRST_N)保持在逻辑高。外部调试请求(EDBGRQ)引脚和调试确认引脚(DBGACK)保持在逻辑低。参考时钟(TCXO)和处理器时钟(ARM_CLK)双态切换。定时时钟(TCK)和经再同步的定时时钟(RTCK)双态切换。
当处理器改变到闲置状态时,到达处理器的数字电源电压(VDD_DIG)下降到运行状态的电平以下。复位保持在逻辑低,且复位调试逻辑(TRST_N)保持在逻辑高。外部调试请求(EDBGRQ)引脚和调试确认引脚(DBGACK)保持在逻辑低。参考时钟(TCXO)双态切换。然而,处理器时钟(ARM_CLK)暂停。定时时钟(TCK)暂停,且再同步定时时钟(RTCK)保持被冻结。
当处理器改变到功率降级状态时,到达处理器的数字电源电压(VDD_DIG)被关闭(下降到近似零伏)。复位保持在逻辑低,且复位调试逻辑(TRST_N)被冻结在逻辑高。外部调试请求(EDBGRQ)引脚和调试确认引脚(DBGACK)被冻结在逻辑低。参考时钟(TCXO)双态切换持续几个时钟循环,且接着暂停。处理器时钟(ARM_CLK)保持暂停。定时时钟(TCK)暂停,且再同步定时时钟(RTCK)保持被冻结。
当数字电源电压(VDD_DIG)被恢复时,处理器进入功率降级恢复状态或复位状态。核心复位引脚被驱动到逻辑高,且复位调试逻辑引脚被驱动到逻辑低。外部调试请求(EDBGRQ)被驱动到逻辑高,同时调试确认引脚(DBGACK)保持在逻辑低。参考时钟(TCXO)开始双态切换,同时处理器时钟(ARM_CLK)保持暂停。定时时钟(TCK)保持暂停,且再同步定时时钟(RTCK)保持被冻结。
在简短的时间周期之后,数字电源电压(VDD_DIG)被恢复到稳定的高电压电平,其通常对应于处理器的运行状态。然而,处理器仍处于复位状态。此时,处理器时钟(ARM_CLK)开始双态切换。核心复位引脚被驱动到逻辑低,且复位调试逻辑引脚(TRST_N)被驱动到逻辑高。
此时,处理器进入运行状态。经再同步的定时时钟(RTCK)变为被解冻。JTAG调试系统可利用经再同步定时时钟(RTCK)的下降沿来进入JTAG等待模式,以监视定时时钟(TCK)引脚的状态,以检测处理器何时已经退出闲置、休眠或功率降级状态。
在几个时钟循环之后,处理器进入调试暂停状态(在处理器检测到外部调试请求引脚(EDBGRQ)的逻辑高状态之后)。JTAG调试系统监视定时时钟(TCK)的上升沿。一旦检测到定时时钟(TCK)的上升沿,JTAG调试系统就使处理器暂停,且查询或扫描状态寄存器,以确定处理器的状态。调试确认引脚(DBGACK)被驱动到逻辑高,且外部调试请求引脚(EDBGRQ)被驱动到逻辑低。此时,如果JTAG调试系统确定处理器正从功率降级恢复,那么JTAG调试系统从存储器恢复调试状态,包含调试寄存器的状态(包含断点和观察点)。当调试确认引脚(DBGACK)保持在逻辑高时,恢复操作发生。优选的是,在近似四毫秒内完成恢复操作。
一旦处理器的调试寄存器和预功率降级状态已经由JTAG调试系统恢复,JTAG调试系统就释放调试确认引脚(DBGACK)的逻辑电平,从而根据调试设定值,重新启动调试模式下的正常处理器执行。JTAG调试系统可接着使用所恢复的调试寄存器中的至少一者对处理器执行调试操作。举例来说,如果调试操作经配置以用于较慢的处理器执行,那么处理器将重新开始较慢的执行。
通过使用静态再同步定时时钟(RTCK)来检测处理器的状态变化,且触发JTAG调试系统对处理器状态的扫描,可使用现存的20引脚JTAG接口(例如,图1和图2中所示)来在不添加边带信号的情况下,通过功率降级和功率恢复过程来执行调试操作。
图7是处理器704、JTAG接口108和调制解调器功率管理器(MPM)702之间的调试互连的框图700。展示JTAG接口108具有到达处理器704的三个连接引脚。应理解,JTAG接口包含用于与处理器704互连的20个引脚;然而,为了简化论述,结合功率降级和恢复过程的调试只展示所述连接中的三者。JTAG接口108允许主机调试系统扫描定时时钟引脚(TCK)和经再同步的定时时钟引脚(RTCK)。另外,JTAG接口108经由逻辑708连接到复位调试逻辑引脚(TRST_N)。
一般来说,MPM702控制处理器704的核心复位引脚和外部调试请求引脚(EDBGRQ)的逻辑电平。由于MPM702关闭功率调节器,且控制数字逻辑域的电压,所以MPM702知道何时将复位调试逻辑(TRST_N)断言到处理器704中。另外,在功率降级恢复期间,MPM702将外部调试请求(EDBGRQ)断言到处理器704,以起始调试暂停。一旦从处理器704接收到调试确认(DBGACK),MPM702就解除外部调试请求(EDGBRQ)的断言,且JTAG调试系统可恢复处理器702的状态和选定调试寄存器的状态,包含代码内的断点和观察点。
在图7的实施例中,处理器704可适合于在调试确认引脚(DBGACK)上提供功率退出信号。明确地说,MPM702向多路复用器706提供调试启用。当功率退出信号处于高逻辑电平时,处理器704在退出功率降级时暂停在调试模式。接着,可经由多路复用器706将功率退出信号路由到JTAG20引脚连接器的引脚11(经再同步的时钟RTCK)。在功率降级模式下,正常的经再同步定时时钟(RTCK)可在处理器704中停用。用户可配置JTAG调试系统来使用固定定时时钟(TCK),代替经再同步定时时钟(RTCK)。
当处理器704进入功率降级状态时,JTAG信号被冻结在当前电平。在通过JTAG接口702耦合到处理器的主机处理器上运行的JTAG调试软件应用程序可并入有算法以检测定时时钟(TCK)/TDK/TD0引脚上的位序列,以推断功率降级已经发生。接着可终止JTAG调试系统的任何部分扫描,且调试器可进入JTAG等待模式,以等待经再同步定时时钟(RTCK)引脚上的有效高电平,其指示处理器704已经退出功率降级,且暂停在调试模式。JTAG调试系统接着可恢复处理器704的调试和ETM寄存器设定值。应理解,JTAG调试系统将写入到调试寄存器和ETM寄存器的值的本地副本保存在存储器中,以便实施恢复操作。在调试和ETM寄存器被恢复之后,JTAG调试系统可扫描指令,以致使处理器704重新启动程序执行。
一般来说,JTAG调试系统应保留与在功率降级之前正在进行中的任何ETM轨迹有关的数据。一般来说,当处理器704断电时,JTAG调试系统不应在经再同步的定时时钟(RTCK)被冻结时产生重大错误。JTAG调试系统可适合于向调试器图形用户界面提供可配置的超时设定值。
应理解,经再同步的定时时钟(RTCK)可在功率降级之前或在功率退出信号已经被解除断言之后双态切换。这可在以下情况下发生:处理器702经再同步定时时钟(RTCK)与功率退出信号的动态多路复用,但不具有静态多路复用(例如,当监视经再同步定时时钟信号的冻结状态以检测冻结状态且响应于冻结状态而进入JTAG等待模式时)。如果使用MUX706来多路复用来自调试确认(DBGACK)或来自单独的功率退出引脚(未图示)的功率退出信号,那么JTAG调试系统适合于忽略此双态切换。
由于功率退出信号代表来自处理器704的调试确认(DBGACK)的经延迟版本,所以当处理器704处于调试模式时,功率退出信号应保持在高逻辑电平。一般来说,将功率退出信号视为电平敏感状态位。因此,其应保持在逻辑高,持续足够长的时间以由JTAG调试系统取样。在特定实施例中,功率退出信号应保持在逻辑高,持续至少二十微秒。如果处理器704在调试模式下时解除调试确认(DBGACK)的断言,持续较短的时间周期,那么可能需要在处理器的JTAG扫描链(例如,图2中的扫描链206和208)中提供控制位,以当在调试模式下时,迫使调试确认(DBGACK)到达逻辑高。
图8是说明用于诊断功率降级状态且在对图7的处理器的电源的恢复之后恢复调试寄存器的一组信号的时序图800的一部分。在从功率降级恢复之后,数字电源电压(VDD_DIG)升高。核心复位引脚被驱动到逻辑高,且复位调试逻辑(TRST_N)被驱动到逻辑低。调制解调器功率管理器将外部调试请求引脚(EDBGRQ)驱动到逻辑高。
在数字电源电压稳定在高状态之后,核心复位引脚被驱动到逻辑低,且复位调试逻辑引脚被驱动到逻辑高。对于复位信号的下降沿,处理器检测到外部调试请求(EDBGRQ)引脚处于逻辑高。处理器将调试确认信号驱动到逻辑高电平。此时,调制解调器功率管理器将外部调试请求引脚(EDBGRQ)驱动到逻辑低电平,且处理器将功率退出引脚驱动到逻辑高。JTAG调试系统可在(例如)经再同步定时时钟(RTCK)引脚上检测功率退出的逻辑高状态。多路复用器706(图7中)可将功率退出信号多路复用到RTCK引脚上。RTCK引脚的状态变化因此可用于检测功率降级,且JTAG调试系统可恢复调试和ETM寄存器的状态。
图9说明大体上表示为900的便携式通信装置的示范性非限制实施例。如图9中所说明,便携式通信装置包含芯片上系统922,其包含数字信号处理器910。图9还展示显示器控制器926,其耦合到数字信号处理器910和显示器928。此外,输入装置930耦合到数字信号处理器910。如图所示,存储器932耦合到数字信号处理器910。另外,编码器/解码器(CODEC)934可耦合到数字信号处理器910。扬声器936和麦克风938可耦合到CODEC930。
图9还指示无线控制器940可耦合到数字信号处理器910和无线天线942。在特定实施例中,电源944耦合到芯片上系统922。此外,在特定实施例中,如图9中所说明,显示器928、输入装置930、扬声器936、麦克风938、无线天线942和电源944在芯片上系统922外部。然而,每一者都耦合到芯片上系统922的组件。
可将代表用户的语音的电子信号发送到CODEC934以进行编码。数字信号处理器910适合于执行用于CODEC934的数据处理操作,以对来自麦克风的电子信号进行编码。另外,可通过无线控制器940将经由无线天线942接收到的传入信号发送到CODEC934,以进行解码并发送到扬声器936。数字信号处理器910还适合于在对经由无线天线942接收到的信号进行解码时,执行用于CODEC934的数据处理。
另外,数字信号处理器910可在无线通信会话之前、在无线通信会话期间、在无线通信会话之后或其任一组合,处理从输入装置930接收到的输入。举例来说,在无线通信会话期间,用户可利用输入装置930和显示器928来经由嵌入便携式通信装置900的存储器932内的web浏览器应用程序来上网。
一般来说,便携式通信装置900包含具有调试功能性(例如图1到图8中所描述)的ARM处理器106。ARM处理器106可控制便携式通信装置900的操作。另外,显示器控制器926和无线控制器940每一者可包含具有调试功能性(例如上文在图1到图8中所描述)的处理器。芯片上系统922可包含测试引脚(未图示),用于耦合到联合测试行动小组(JTAG)调试器,以对处理器(例如处理器106,且例如显示器控制器926内和无线控制器940内的处理器)的操作进行调试。
参看图10,展示大体上表示为1000的蜂窝式电话的示范性非限制实施例。如图所示,蜂窝式电话1000包含芯片上系统1022,其包含耦合在一起的数字基带处理器1010和模拟基带处理器1026。如图10中所说明,显示器控制器1028和触摸屏控制器1030耦合到数字基带处理器1010。又,在芯片上系统1022外部的触摸屏显示器1032耦合到显示器控制器1028和触摸屏控制器1030。
图10进一步指示视频编码器1034,例如逐行倒相(phase alternating line,PAL)编码器、循序色彩与存储(sequential couleur a memoire,SECAM)编码器或国家电视系统委员会(national television system(s)committee,NTSC)编码器,耦合到数字基带处理器1010。另外,视频放大器1036耦合到视频编码器1034和触摸屏显示器1032。而且,视频端口1038耦合到视频放大器1036。如图10中所描绘,通用串行总线(USB)控制器1040耦合到数字基带处理器1010。而且,USB端口1042耦合到USB控制器1040。存储器1044和订户身份模块(SIM)卡1046也可耦合到数字基带处理器1010。另外,如图10中所示,数码相机1048可耦合到数字基带处理器1010。在示范性实施例中,数码相机1048是电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图10中进一步所说明,立体声音频CODEC1080可耦合到模拟基带处理器1026。此外,音频放大器1082可耦合到立体声音频CODEC1080。在示范性实施例中,第一立体声扬声器1084和第二立体声扬声器1086耦合到音频放大器1082。图10展示麦克风放大器1088也可耦合到立体声音频CODEC1080。另外,麦克风1060可耦合到麦克风放大器1088。在特定实施例中,频率调制(FM)无线电调谐器1062可耦合到立体声音频CODEC1080。而且,FM天线1064耦合到FM无线电调谐器1062。另外,立体声头戴式耳机1066可耦合到立体声音频CODEC1080。
图10进一步指示射频(RF)收发器1068可耦合到模拟基带处理器1026。RF开关1070可耦合到RF收发器1068和RF天线1072。如图10中所示,小键盘1074可耦合到模拟基带处理器1026。而且,具有麦克风1076的单声道耳机可耦合到模拟基带处理器1026。另外,振动器装置1078可耦合到模拟基带处理器1026。图10还展示电源1080可耦合到芯片上系统1022。在特定实施例中,电源1080是直流(DC)电源,其向蜂窝式电话1000的需要功率的各个组件提供功率。另外,在特定实施例中,电源是可再充电的DC电池或从连接到AC电源的交流(AC)到DC变压器导出的DC电源。
在特定实施例中,如图10中所描绘,触摸屏显示器1032、视频端口1038、USB端口1042、相机1048、第一立体声扬声器1084、第二立体声扬声器1086、麦克风1060、FM天线1064、立体声头戴式耳机1066、RF开关1070、RF天线1072、小键盘1074、单声道耳机1076、振动器1078和电源1080在芯片上系统1022外部。
一般来说,蜂窝式电话1000的芯片上系统1022可包含具有根据图1到图8中的任一者所述的调试功能性的一个或一个以上处理器。举例来说,显示器控制器1028、触摸屏控制器1030和USB控制器1040可包含具有调试功能性的处理器,例如ARM处理器106。另外,单独的控制处理器(未图示)可包含在芯片上系统1022中,以控制蜂窝式电话1000的操作。芯片上系统1022可包含测试引脚(未图示),用于耦合到联合测试行动小组(JTAG)调试器,以调试各种处理器的操作。
参看图11,其展示大体上表示为1100的无线因特网协议(IP)电话的示范性非限制实施例。如图所示,无线IP电话1100包含芯片上系统1102,其包含数字信号处理器(DSP)1104。如图11中所说明,显示器控制器1106耦合到DSP1104,且显示器1108耦合到显示器控制器1106。在示范性实施例中,显示器1108为液晶显示器(LCD)。图11进一步展示小键盘1110可耦合到DSP1104。
如图11中进一步描绘,快闪存储器1112可耦合到DSP1104。同步动态随机存取存储器(SDRAM)1114、静态随机存取存储器(SRAM)1116和电可擦除可编程只读存储器(EEPROM)1118也可耦合到DSP1104。图11还展示发光二极管(LED)1120可耦合到DSP1104。另外,在特定实施例中,语音CODEC1122可耦合到DSP1104。放大器1124可耦合到语音CODEC1122,且单声道扬声器1126可耦合到放大器1124。图11进一步指示单声道耳机1128也可耦合到语音CODEC1122。在特定实施例中,单声道耳机1128包含麦克风。
图11还说明无线局域网(WLAN)基带处理器1130可耦合到DSP1104。RF收发器1132可耦合到WLAN基带处理器1130,且RF天线1134可耦合到RF收发器1132。在特定实施例中,蓝牙控制器1136也可耦合到DSP1104,且蓝牙天线1138可耦合到控制器1136。图11还展示USB端口1140也可耦合到DSP1104。此外,电源1142耦合到芯片上系统1102,且经由芯片上系统1102向无线IP电话1100的各个组件提供功率。
在特定实施例中,如图11中所指示,显示器1108、小键盘1110、LED1120、单声道扬声器1126、单声道耳机1128、RF天线1134、蓝牙天线1138、USB端口1140和电源1142在芯片上系统1102外部。然而,这些组件中的每一者都耦合到芯片上系统的一个或一个以上组件。
一般来说,无线IP电话1100可包含具有上文根据图1到图8中的任一者所述的调试功能性的ARM处理器。在一个实施例中,无线IP电话1100包含控制处理器(未图示),以控制无线IP电话1100的操作。另外,显示器控制器1106和蓝牙控制器1136可包含具有根据图1到图8中的任一者所述的调试功能性的处理器,例如ARM处理器106。芯片上系统1102可包含测试引脚(未图示),用于与联合测试行动小组(JTAG)调试器系统连接以调试各种处理器。
图12说明大体上表示为1200的便携式数字助理(PDA)的示范性非限制实施例。如图所示,PDA1200包含芯片上系统1202,其包含数字信号处理器(DSP)1204。如图12中所描绘,触摸屏控制器1206和显示器控制器1208耦合到DSP1204。另外,触摸屏显示器耦合到触摸屏控制器1206,且耦合到显示器控制器1208。图12还指示小键盘1212可耦合到DSP1204。
如图12中进一步描绘,快闪存储器1214可耦合到DSP1204。而且,只读存储器(ROM)1216、动态随机存取存储器(DRAM)1218和电可擦除可编程只读存储器(EEPROM)1220可耦合到DSP1204。图12还展示红外数据协会(infrared data association,IrDA)端口1222可耦合到DSP1204。另外,在特定实施例中,数码相机1224可耦合到DSP1204。
如图12中所示,在特定实施例中,立体声音频CODEC1226可耦合到DSP1204。第一立体声放大器1228可耦合到立体声音频CODEC1226,且第一立体声扬声器1230可耦合到第一立体声放大器1228。另外,麦克风放大器1232可耦合到立体声音频CODEC1226,且麦克风1234可耦合到麦克风放大器1232。图12进一步展示第二立体声放大器1236可耦合到立体声音频CODEC1226,且第二立体声扬声器1238可耦合到第二立体声放大器1236。在特定实施例中,立体声头戴式耳机1240也可耦合到立体声音频CODEC1226。
图12还说明802.11控制器1242可耦合到DSP1204,且1102.11天线1244可耦合到1102.11控制器1242。此外,蓝牙控制器1246可耦合到DSP1204,且蓝牙天线1248可耦合到蓝牙控制器1246。如图12中所描绘,USB控制器1280可耦合到DSP1204,且USB端口1282可耦合到USB控制器1280。另外,智能卡1284(例如,多媒体卡(MMC)或安全数字卡(SD))可耦合到DSP1204。另外,如图12中所示,电源1286可耦合到芯片上系统1202,且可经由芯片上系统1202向PDA1200的各个组件提供功率。
在特定实施例中,如图12中所描绘,显示器1210、小键盘1212、IrDA端口1222、数码相机1224、第一立体声扬声器1230、麦克风1234、第二立体声扬声器1238、立体声头戴式耳机1240、1102.11天线1244、蓝牙天线1248、USB端口1282和电源1280均在芯片上系统1202外部。然而,这些组件中的每一者耦合到芯片上系统1202的一个或一个以上组件。
一般来说,PDA1200可包含具有调试功能性的一个或一个以上处理器,例如相对于图1到图8所描述的ARM处理器。PDA1200包含显示器控制器1208、触摸屏控制器1206、802.11控制器1042、蓝牙控制器1246和USB控制器1250,其每一者可包含具有调试功能性的处理器,例如上文相对于图1到图8所述的处理器。另外,PDA1200可包含具有调试功能性的ARM处理器,以控制PDA1200的操作。芯片上系统1202可包含测试引脚(未图示),所述测试引脚可由JTAG调试系统接入以接入各种处理器的扫描链,以执行调试操作。
参看图13,其展示大体上表示为1300的音频文件播放器(例如移动图片专家组音频层3(moving pictures experts group audio layer-3,MP3)播放器)的示范性非限制实施例。如图所示,音频文件播放器1300包含芯片上系统1302,其包含数字信号处理器(DSP)1304。如图13中所说明,显示器控制器1306耦合到DSP1304,且显示器1308耦合到显示器控制器1306。在示范性实施例中,显示器1308是液晶显示器(LCD)。图13进一步展示小键盘1310可耦合到DSP1304。
如图13中进一步描绘,快闪存储器1312和只读存储器(ROM)1314可耦合到DSP1304。另外,在特定实施例中,音频CODEC1316可耦合到DSP1304。放大器1318可耦合到音频CODEC1316,且单声道扬声器1320可耦合到放大器1318。图13进一步指示麦克风输入1322和立体声输入1324也可耦合到音频CODEC1316。在特定实施例中,立体声头戴式耳机1326也可耦合到音频CODEC1316。
图13还指示USB端口1328和智能卡1330可耦合到DSP1304。另外,电源1332可耦合到芯片上系统1302,且可经由芯片上系统1302向音频文件播放器1300的各个组件提供功率。
在特定实施例中,如图13中所指示,显示器1308、小键盘1310、单声道扬声器1320、麦克风输入1322、立体声输入1324、立体声头戴式耳机1326、USB端口1328和电源1332在芯片上系统1302外部。然而,这些组件中的每一者耦合到芯片上系统上的一个或一个以上组件。
一般来说,音频文件播放器1300可包含具有相对于图1到图8而描述的调试功能性的一个或一个以上处理器,例如ARM处理器106。音频文件播放器1300包含显示器控制器1306,其可包含具有调试功能性(例如上文相对于图1到图8所描述)的处理器。另外,音频文件播放器1300可包含包括此调试功能性的ARM处理器(例如处理器106),以控制音频文件播放器1300的操作。JTAG调试系统可经由芯片上系统1302上所提供的测试引脚(未图示)接入各种处理器。
所属领域的技术人员将进一步了解,结合本文所揭示的实施例而描述的各种说明性逻辑区块、配置、模块、电路和算法步骤可实施为电子硬件、计算机软件或上述两者的组合。为了清楚地说明硬件与软件的这种可互换性,上文已经大体上根据各种说明性组件、区块、配置、模块、电路和步骤的功能性描述了各种说明性组件、区块、配置、模块、电路和步骤。将此类功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计限制。熟练的技术人员可针对每个特定应用以不同的方式来实施所描述的功能性,但此类实施决策不应被解释为导致与本发明范围的偏离。
结合本文所揭示的实施例而描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中或在上述两者的组合中实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在计算装置或用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻存在计算装置或用户终端中。
提供对所揭示实施例的先前描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不脱离本发明精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文所展示的实施例,而是希望本发明被赋予与如所附权利要求书所界定的原理和新颖特征一致的最广范围。
Claims (18)
1.一种在功率降级之后对处理器执行调试操作的方法,所述方法包括:
在所述处理器的执行模式期间,检测所述处理器的闲置状态;
通过在所述处理器暂停时查询所述处理器的状态来确定所述闲置状态与功率降级事件相关联;以及
在检测所述功率降级事件的结束之后,在所述执行模式期间,通过在所述处理器内加载调试寄存器来恢复所述处理器的调试状态。
2.根据权利要求1所述的方法,其进一步包括执行使用所述调试寄存器中的至少一者的调试操作。
3.根据权利要求2所述的方法,其中所述调试操作是断点和观察点调试操作中的一者。
4.根据权利要求1所述的方法,其中所述处理器包含ARM型微处理器核心。
5.根据权利要求1所述的方法,其中当所述处理器的处理器时钟不活动时,检测所述闲置状态。
6.根据权利要求1所述的方法,其中所述处理器处于所述闲置状态达至少500毫秒。
7.根据权利要求1所述的方法,其进一步包括使用联合测试行动小组(JTAG)调试系统来执行寄存器扫描,以检测所述处理器的所述闲置状态。
8.根据权利要求1所述的方法,其中所述调试寄存器中的至少一者是调试配置寄存器,所述调试配置寄存器在所述处理器在管理程序模式下执行时是可测试的。
9.根据权利要求1所述的方法,其中结合检测到所述闲置状态或结合检测到所述功率降级事件的结束而估计经再同步的定时时钟(RTCK)信号。
10.一种对具有处理器核心的处理器执行调试操作的方法,所述方法包括:
在所述处理器的执行模式期间,检测所述处理器核心的闲置状态;
在所述处理器处于所述闲置状态时,提供对调试操作的请求;
通过在所述处理器暂停时查询所述处理器的状态来确定所述闲置状态与功率降级事件相关联;
进入联合测试行动小组(JTAG)等待模式;
检测所述功率降级事件的结束;
通过加载调试寄存器来恢复所述处理器的调试状态;
检测调试确认信号;以及
执行所请求的所述调试操作。
11.根据权利要求10所述的方法,其中在进入所述联合测试行动小组等待模式之前,切断与供应到所述处理器的功率相关联的功率信号。
12.根据权利要求11所述的方法,其进一步包括在检测所述闲置状态之前检测时钟定时器的期满。
13.根据权利要求10所述的方法,其中在所述功率降级事件结束之前,所述处理器核心的输入/输出接口处于冻结状况。
14.根据权利要求10所述的方法,其中所述处理器核心的联合测试行动小组(JTAG)输入/输出接口在所述功率降级事件期间被冻结,且在检测到所述功率降级事件结束之后被解冻。
15.根据权利要求10所述的方法,其中所述调试操作是断点和观察点调试操作中的一者。
16.根据权利要求10所述的方法,其中所述处理器处于所述闲置状态达至少500毫秒。
17.根据权利要求10所述的方法,其进一步包括使用联合测试行动小组(JTAG)调试系统来执行寄存器扫描,以检测所述处理器的所述闲置状态。
18.一种对处理器执行调试操作的装置,所述处理器具有处理器核心,所述装置包括:
用于在所述处理器的执行模式期间检测所述处理器核心的闲置状态的装置;
用于在所述处理器处于所述闲置状态时提供对调试操作的请求的装置;
用于通过在处理器被暂停时查询处理器的状态来确定所述闲置状态与功率降级事件相关联的装置;
用于进入联合测试行动小组(JTAG)等待模式的装置;
用于检测所述功率降级事件的结束且用于通过加载调试寄存器来恢复所述处理器的调试状态的装置;
用于检测调试确认信号的装置;以及
用于执行所请求的所述调试操作的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/370,696 | 2006-03-08 | ||
US11/370,696 US20070214389A1 (en) | 2006-03-08 | 2006-03-08 | JTAG power collapse debug |
PCT/US2007/063603 WO2007104027A2 (en) | 2006-03-08 | 2007-03-08 | Jtag power collapse debug |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101395584A CN101395584A (zh) | 2009-03-25 |
CN101395584B true CN101395584B (zh) | 2012-05-02 |
Family
ID=38330232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800075951A Expired - Fee Related CN101395584B (zh) | 2006-03-08 | 2007-03-08 | Jtag功率降级调试 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070214389A1 (zh) |
EP (1) | EP2002341A2 (zh) |
JP (2) | JP2010507135A (zh) |
KR (2) | KR101095176B1 (zh) |
CN (1) | CN101395584B (zh) |
WO (1) | WO2007104027A2 (zh) |
Families Citing this family (31)
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) |
US7543185B2 (en) * | 2006-06-23 | 2009-06-02 | Intel Corporation | Debug system with event-based virtual processing agents |
KR100849215B1 (ko) * | 2007-01-17 | 2008-07-31 | 삼성전자주식회사 | 전원제어장치, 방법, 및 상기 전원제어장치를 구비하는시스템 |
GB0709105D0 (en) * | 2007-05-11 | 2007-06-20 | Univ Leicester | Debugging tool |
US8190139B2 (en) * | 2007-08-24 | 2012-05-29 | Delphi Technologies, Inc. | Telematics system and method of communication |
US8441298B1 (en) | 2008-07-01 | 2013-05-14 | Cypress Semiconductor Corporation | Analog bus sharing using transmission gates |
US9448964B2 (en) * | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8135884B1 (en) | 2009-05-04 | 2012-03-13 | Cypress Semiconductor Corporation | Programmable interrupt routing system |
US8487655B1 (en) | 2009-05-05 | 2013-07-16 | Cypress Semiconductor Corporation | Combined analog architecture and functionality in a mixed-signal array |
US8179161B1 (en) | 2009-05-05 | 2012-05-15 | Cypress Semiconductor Corporation | Programmable input/output circuit |
US9612987B2 (en) * | 2009-05-09 | 2017-04-04 | Cypress Semiconductor Corporation | Dynamically reconfigurable analog routing circuits and methods for system on a chip |
US8161328B1 (en) * | 2010-05-27 | 2012-04-17 | Western Digital Technologies, Inc. | Debugger interface |
US8601315B2 (en) | 2010-11-01 | 2013-12-03 | Freescale Semiconductor, Inc. | Debugger recovery on exit from low power mode |
US8402314B2 (en) * | 2010-12-09 | 2013-03-19 | Apple Inc. | Debug registers for halting processor cores after reset or power off |
US8713388B2 (en) | 2011-02-23 | 2014-04-29 | Qualcomm Incorporated | Integrated circuit testing with power collapsed |
US8639981B2 (en) | 2011-08-29 | 2014-01-28 | Apple Inc. | Flexible SoC design verification environment |
US8788886B2 (en) | 2011-08-31 | 2014-07-22 | Apple Inc. | Verification of SoC scan dump and memory dump operations |
US8640007B1 (en) | 2011-09-29 | 2014-01-28 | Western Digital Technologies, Inc. | Method and apparatus for transmitting diagnostic data for a storage device |
US9927486B2 (en) | 2012-07-09 | 2018-03-27 | Ultrasoc Technologies Ltd. | Debug architecture |
GB2503882B (en) | 2012-07-09 | 2014-07-02 | Ultrasoc Technologies Ltd | Debug architecture |
GB2500074B (en) | 2012-07-09 | 2014-08-20 | Ultrasoc Technologies Ltd | Debug architecture |
KR20150019457A (ko) | 2013-08-14 | 2015-02-25 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
US20150370673A1 (en) * | 2014-06-24 | 2015-12-24 | Qualcomm Incorporated | System and method for providing a communication channel to a power management integrated circuit in a pcd |
US10101797B2 (en) * | 2014-09-27 | 2018-10-16 | Intel Corporation | Efficient power management of UART interface |
KR102415388B1 (ko) * | 2015-11-13 | 2022-07-01 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 보안 디버깅 방법 |
CN107346282B (zh) | 2016-05-04 | 2024-03-12 | 世意法(北京)半导体研发有限责任公司 | 用于微处理器的调试支持单元 |
CN107656513A (zh) * | 2017-08-25 | 2018-02-02 | 歌尔丹拿音响有限公司 | 嵌入式设备的模式切换方法和嵌入式设备 |
US10997029B2 (en) * | 2019-03-07 | 2021-05-04 | International Business Machines Corporation | Core repair with failure analysis and recovery probe |
CN110096399B (zh) * | 2019-04-25 | 2023-07-07 | 湖南品腾电子科技有限公司 | 一种硬件接口的调试方法 |
CN114625639A (zh) * | 2022-03-03 | 2022-06-14 | 上海先楫半导体科技有限公司 | 一种基于片上系统的调试方法、系统以及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5935266A (en) * | 1996-11-15 | 1999-08-10 | Lucent Technologies Inc. | Method for powering-up a microprocessor under debugger control |
US6393584B1 (en) * | 1995-04-26 | 2002-05-21 | International Business Machines Corporation | Method and system for efficiently saving the operating state of a data processing system |
US6643803B1 (en) * | 1999-02-19 | 2003-11-04 | Texas Instruments Incorporated | Emulation suspend mode with instruction jamming |
CN1656435A (zh) * | 2000-11-13 | 2005-08-17 | 英特尔公司 | 处理器的空闲状态 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61213910A (ja) * | 1985-03-18 | 1986-09-22 | Fujitsu Ltd | ノツトレデイ状態表示方式 |
JPH03116244A (ja) * | 1989-09-29 | 1991-05-17 | Hitachi Ltd | エミュレータ |
JPH0652070A (ja) * | 1992-05-29 | 1994-02-25 | Toshiba Corp | 集積回路のデータ保護装置およびデータ保護方法 |
US6189140B1 (en) * | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
US6446221B1 (en) * | 1999-05-19 | 2002-09-03 | Arm Limited | Debug mechanism for data processing systems |
US6343358B1 (en) * | 1999-05-19 | 2002-01-29 | Arm Limited | Executing multiple debug instructions |
US6601189B1 (en) * | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6691270B2 (en) * | 2000-12-22 | 2004-02-10 | Arm Limited | Integrated circuit and method of operation of such a circuit employing serial test scan chains |
KR20030015531A (ko) * | 2001-08-16 | 2003-02-25 | 엘지전자 주식회사 | 차세대 단말기의 셀 선택 개선 방법 |
US7539878B2 (en) * | 2001-09-19 | 2009-05-26 | Freescale Semiconductor, Inc. | CPU powerdown method and apparatus therefor |
US20030212821A1 (en) * | 2002-05-13 | 2003-11-13 | Kiyon, Inc. | System and method for routing packets in a wired or wireless network |
GB2395302B (en) * | 2002-11-13 | 2005-12-28 | Advanced Risc Mach Ltd | Hardware driven state save/restore in a data processing system |
US7213172B2 (en) * | 2004-03-31 | 2007-05-01 | Intel Corporation | Debugging power management |
JP4479002B2 (ja) * | 2004-03-31 | 2010-06-09 | 日本電気株式会社 | Cpuの省電力機能を有する機器のデバッグシステム及び方法 |
US7334161B2 (en) * | 2004-04-30 | 2008-02-19 | Arm Limited | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
EP1782204A2 (en) * | 2004-07-16 | 2007-05-09 | Koninklijke Philips Electronics N.V. | Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller |
-
2006
- 2006-03-08 US US11/370,696 patent/US20070214389A1/en not_active Abandoned
-
2007
- 2007-03-08 EP EP07758179A patent/EP2002341A2/en not_active Ceased
- 2007-03-08 WO PCT/US2007/063603 patent/WO2007104027A2/en active Application Filing
- 2007-03-08 KR KR1020117013713A patent/KR101095176B1/ko active IP Right Grant
- 2007-03-08 CN CN2007800075951A patent/CN101395584B/zh not_active Expired - Fee Related
- 2007-03-08 JP JP2008558538A patent/JP2010507135A/ja not_active Withdrawn
- 2007-03-08 KR KR1020087024587A patent/KR101059038B1/ko active IP Right Grant
-
2012
- 2012-10-05 JP JP2012223429A patent/JP5479556B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393584B1 (en) * | 1995-04-26 | 2002-05-21 | International Business Machines Corporation | Method and system for efficiently saving the operating state of a data processing system |
US5935266A (en) * | 1996-11-15 | 1999-08-10 | Lucent Technologies Inc. | Method for powering-up a microprocessor under debugger control |
US6643803B1 (en) * | 1999-02-19 | 2003-11-04 | Texas Instruments Incorporated | Emulation suspend mode with instruction jamming |
CN1656435A (zh) * | 2000-11-13 | 2005-08-17 | 英特尔公司 | 处理器的空闲状态 |
Non-Patent Citations (2)
Title |
---|
ASHLING.Debug of ARM based systems using EmbeddedICE.http://www.ashling.com/technicalarticles/ARMDebugv10.pdf.2002,1-9. * |
SHERIDAN ETHIER.Implementing Power Management on the Biscayne S7760 Reference QNX TECHICAL ARTICLES.http://www.qnx.com/developer/articles/article_296_2.html.2004,1-7. * |
Also Published As
Publication number | Publication date |
---|---|
KR101095176B1 (ko) | 2011-12-20 |
KR101059038B1 (ko) | 2011-08-24 |
JP2010507135A (ja) | 2010-03-04 |
KR20110075049A (ko) | 2011-07-05 |
WO2007104027A3 (en) | 2008-03-13 |
US20070214389A1 (en) | 2007-09-13 |
JP2013047964A (ja) | 2013-03-07 |
CN101395584A (zh) | 2009-03-25 |
WO2007104027A2 (en) | 2007-09-13 |
JP5479556B2 (ja) | 2014-04-23 |
KR20080099874A (ko) | 2008-11-13 |
EP2002341A2 (en) | 2008-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101395584B (zh) | Jtag功率降级调试 | |
CN100401820C (zh) | 蜂窝电话及其运行模式切换方法 | |
CN100377039C (zh) | 信息处理设备及电源控制方法 | |
EP2374312B1 (en) | Power management in a mobile device | |
US8108704B2 (en) | Method for automatically switching power states | |
CN107302789B (zh) | 一种提高安卓设备电池续航能力的方法及系统 | |
US20060075267A1 (en) | Integrated circuit device | |
CN105204931A (zh) | 低功耗可穿戴设备及其多操作系统切换、通信及管理方法 | |
CN101399862B (zh) | 一种手机开关机电路以及基于此电路的手机架构 | |
CN105183137A (zh) | 一种移动终端及其唤醒锁控制方法和控制系统 | |
CN102037428A (zh) | 具有用于提供降低电源消耗的睡眠状态的次要存储器控制器的集成电路及方法 | |
CN103336572A (zh) | 智能终端及其节电方法 | |
US6674821B1 (en) | Method and apparatus for reducing power consumption | |
CN102156534A (zh) | 一种硬件节能的处理方法及装置 | |
CN102968174A (zh) | 安卓设备深层睡眠唤醒方法 | |
CN101360290A (zh) | 实现终端定时开机的方法及终端 | |
CN104977979A (zh) | 时钟源切换方法和系统 | |
CN104836869A (zh) | 一种移动通信终端和移动通信终端开机方法 | |
CN102833830A (zh) | 一种唤醒移动智能终端方法及移动智能终端 | |
WO2004109436A2 (en) | Uninterrupted system operation | |
CN101924830A (zh) | 一种移动终端的关机方法、系统及移动终端 | |
CN103105920A (zh) | 节能系统以及节能方法 | |
JPH10341199A (ja) | 無線携帯端末 | |
JP4727370B2 (ja) | 無線通信端末およびその制御方法 | |
CN103376877B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120502 Termination date: 20190308 |