CN1737767A - 芯片电子硬件上具有中止执行能力的除错支援单元及方法 - Google Patents

芯片电子硬件上具有中止执行能力的除错支援单元及方法 Download PDF

Info

Publication number
CN1737767A
CN1737767A CNA200510109606XA CN200510109606A CN1737767A CN 1737767 A CN1737767 A CN 1737767A CN A200510109606X A CNA200510109606X A CN A200510109606XA CN 200510109606 A CN200510109606 A CN 200510109606A CN 1737767 A CN1737767 A CN 1737767A
Authority
CN
China
Prior art keywords
debug
unit
mentioned
storage
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA200510109606XA
Other languages
English (en)
Other versions
CN100386733C (zh
Inventor
依佛托塞克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1737767A publication Critical patent/CN1737767A/zh
Application granted granted Critical
Publication of CN100386733C publication Critical patent/CN100386733C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一电子硬件的除错方法与除错支援单元,其中该除错方法包含提供一存储器地址、提供于该存储器地址的一期望值、当存取该存储器地址时侦测该存储器地址的一实际值、判断于该存储器地址的该期望值是否等于该存储器地址的该实际值,以及当该存储器地址的该期望值不等于该存储器地址的该实际值时,中止该电子硬件的执行动作。

Description

芯片电子硬件上具有中止执行能力的 除错支援单元及方法
技术领域
本发明涉及一种除错支援单元(debug suppor tunits)的芯片电子硬件,尤其是一种芯片电子硬件上具有中止执行能力的除错支援单元。
背景技术
数字信号处理(DSP,Digital Signal Processing)技术通常指电子信号的数字呈现的检查与处理过程。利用数字信号处理技术进行处理的电子信号通常是真实世界声音与/或影像的数字呈现。
数字信号处理器是已对数字信号处理作最佳化处理的特殊用途微处理器,其通常用于处理实时数字信号,如配合一实时操作系统(RTOS,Real-Time Operating System)进行作业。所谓的实时操作系统是为一种可同时接受多个工作并加以处理的操作系统。该种操作系统通常会对上述所接收的工作排定其优先级,并可允许具有较高优先权的工作插断较低优先权的工作。另外,该种实时操作系统通常对于存储器的管理方式是尽可能减少存储器单元被某一特定工作锁定的时间以及减少存储器单元被锁定的区域大小。当多个工作同时试图存取同一存储器区块的机会减少后,即可允许上述多个工作异步化地执行。
数字信号处理器一般被运用于嵌入式(embedded)系统。所谓的嵌入式系统通常是指一种整合于一较大装置的特殊用途计算器。嵌入式系统大多是采用一种被客制化于某一特殊用途的小型(small footprint)实时操作系统。数字信号的处理经常是利用包含一数字信号处理器与一实时操作系统的一嵌入式系统进行实作。
一般而言,数字信号处理器是相当复杂的装置,其中可能包含一个以上的微处理器、存储器总线与其它电子元件。除了数字信号处理器以外,嵌入式系统可包含如次系统处理器/加速器、固件与/或其它微处理器与集成电路等额外元件。
当设计如嵌入式系统、数字信号处理器与/或其它额外元件之类的电子元件时,至少于其发展的早期阶段中,此类电子元件通常会因为其在设计时所产生的一或多个错误(bugs)而出现一种未在预期中的功能。而针对此种电子元件所进行的错误辨识与移除过程称的为除错(debugging)。
除错过程可能冗长而困难。除错的困难有部份来自于现代电子元件的极端复杂性。通常仅能透过一个或更多个如当机或失效之类的常见问题观测到有一错误存在,然而很难判定是此电子元件设计的哪一部份导致上述错误发生。
除错电子元件的困难亦来自于非常不容易观测到欲除错电子元件内部所发生导致当机或其它失效的情况。于大多数情况下,人们仅能透过尝试错误的方式观测错误与获得解决,而非透过推导演绎的方式。
据此,亟需可协助如数字信号处理器与/或集成电路等电子元件的除错系统与方法。
发明内容
本发明的目的在于,提供一种芯片电子硬件上具有中止执行能力的除错支援单元及方法,其可有效解决上述缺点。
本发明一电子硬件的除错方法,其特征在于,包含:
提供一存储器地址;
提供于该存储器地址的一期望值;
当存取该存储器地址时,侦测与判断该存储器地址的一实际值;以及
当该存储器地址的该期望值不等于该存储器地址的该实际值时,中止该电子硬件的执行动作。
其中上述的存取该存储器地址还包含读取该存储器地址或写入该存储器地址。
其中还包含:
提供复数个存储器地址;
提供相对应于该复数个存储器地址的复数个期望值;
读取及判断该复数个存储器地址的复数个实际值;以及
当任一个该复数个存储器地址的期望值不等于相对应的实际值时,中止该电子硬件的执行动作。
其中上述的复数个存储器地址与复数个期望值是利用具有复数个存储器地址与复数个期望值的一阵列来提供。
其中上述的中止该电子硬件的执行动作还包含中止于该电子硬件上所执行的一应用程序。
其中上述的侦测该存储器地址的该实际值的步骤是发生于一事先决定点或时间点存取该存储器地址时。
其中上述的侦测该存储器地址的该实际值的步骤是发生于当该电子硬件对该存储器地址执行一读取命令所触发的存储器存取时。
其中上述的侦测该存储器地址的该实际值的步骤是发生于当该电子硬件对该存储器地址执行一写入命令所触发的存储器存取时。
本发明一电子硬件的除错支援单元,其特征在于,包含:
一存储器模组,包含一存储器地址以及于该存储器地址的一期望值;
一实际值侦测单元,用以当存取该存储器地址时,侦测该存储器地址的一实际值;
一判定单元,用以判断于该存储器地址的该期望值是否等于该存储器地址的该实际值;以及
一中止单元,用以当该存储器地址的该期望值不等于该存储器地址的该实际值时,中止该电子硬件的执行动作。
其中还包含:一存储器阵列,包含复数个存储器地址以及提供相对应于该复数个存储器地址的复数个期望值。
其中上述的电子硬件是为一待除错系统。
其中上述的电子硬件包含下列至少其一:
一数字信号处理器;以及
一微芯片。
其中上述的判定单元与中止单元包含于一除错支援单元。
其中上述的除错支援单元是与该电子硬件位于同一电子元件中。
其中上述的除错支援单元是与一除错器介接。
本发明一种除错支援单元,其特征在于,包含:
一地址比较器,当一存储器地址信号等于一除错地址暂存器,该地址比较器输出真值,否则该地址比较器输出伪值;
一读取判定单元,当一存储器致能信号、一除错读取检验暂存器、一存储器读取信号与该地址比较器的输出结果皆为真时,该读取判定单元输出真值,否则该读取判定单元输出伪值;以及
一除错中止判断单元,当一中止条件成立时,该除错中止判断单元输出真值,否则该除错中止判断单元输出伪值,其中上述的中止条件为:
该读取判定单元的输出为真值,并且一除错资料暂存器不等于一存储器读取资料信号。
其中还包含:
一写入判定单元,当该存储器致能信号、该地址比较器的输出结果与一除错写入检验暂存器为真,并且该存储器读取信号为伪值时,该写入判定单元输出真值,否则该写入判定单元输出伪值;以及
该中止条件还包含:
该写入判定单元的输出为真值,并且该除错资料暂存器不等于一存储器写入资料信号。
其中还包含一正反器以将该读取判定单元的输出延迟一个时脉。
其中上述的中止条件还包含至少下列之一:
当一除错符合控制位为真值、该读取判定单元的输出为真值,并且该除错资料暂存器等于该存储器读取资料信号;以及
当该除错符合控制位为真值、该写入判定单元的输出为真值,并且该除错资料暂存器等于该存储器写入资料信号。
其中上述的中止条件还包含一除错中止驻留暂存器为真值。
其中上述的存储器地址信号、存储器致能信号、存储器读取信号、存储器读取资料信号与存储器写入资料信号是来自该除错支援单元所欲除错的一待除错系统。
其中上述的除错地址暂存器、除错读取检验暂存器、除错写入检验暂存器与除错资料暂存器是接受该除错支援单元所连接的一除错器设定。
其中上述的除错支援单元是与该待除错系统位于同一电子元件中。
其中上述的待除错系统包含下列至少其一:
一数字信号处理器;以及
一微芯片。
附图说明
为进一步说明本发明的具体技术内容以下结合实施例及附图详细说明如后,其中:
图1是为根据本发明一实施例的一方块示意图;
图2是为根据本发明一实施例对待除错系统进行观测并且于侦测出一错误后中止执行的一流程示意图;
图3是为根据本发明一实施例的一除错支援单元范例的一电路示意图;
图4是为根据本发明另一实施例的一除错支援单元范例的一电路示意图;
图5是为根据本发明另一实施例的一除错支援单元范例的一电路示意图;
图6是为根据本发明提供的系统与方法所实作的一计算机系统范例的一方块示意图;以及
图7是为根据本发明另一实施例的一方块示意图。
具体实施方式
本发明在此所探讨的方向为一种芯片电子硬件上具有中止执行能力的除错支援单元。为了能彻底地了解本发明,将在下列的描述中提出详尽的步骤及其组成。显然地,本发明的施行并未限定于芯片电子硬件的技术者所熟习的特殊细节。另一方面,众所周知的组成或步骤并未描述于细节中,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述之外,本发明还可以广泛地施行在其它的实施例中,且本发明的范围不受限定,其以之后的专利范围为准。
如前所述,对如数字信号处理器或其相关装置等电子元件进行除错的困难之一,在于缺乏观测欲除错的电子元件内部工作情况的能力。除此之外,甚至当具有上述观测电子元件内部的能力后,由于上述电子元件的高度复杂性与高速度,很难精确指出问题发生的时间与地点,以便可有效地分离出问题并且加以解决。
参考图1所示,其是为根据本发明一实施例的一方块示意图。根据本发明的实施例,一除错支援单元13可被整合入包含一欲除错电子元件12的一电路元件11。于上述的范例中,上述欲除错电子元件12亦可被称为一待除错系统(SUD,system-under-debug)12。当此除错支援单元13可被整合入一微芯片时,此除错支援单元13可被视为于芯片上的除错单元,上述待除错系统12则可被视为于芯片上的待除错系统12。
上述的除错支援单元13可提供专属硬件的支持以供一外部除错器14对上述待除错系统12进行除错。此除错支援单元13可为上述外部除错器14与待除错系统12的一介面。据此,上述除错支援单元13提供上述外部除错器14一种装置以便接入此待除错系统12的内部并且观测其作业情况,于此同时可最小化此待除错系统12用以接受测试所需的处理能力。上述作法可允许此待除错系统12受测时的操作情况如同正常操作情况一般,可大幅度地增加除错的有效性。
此除错器14可下载除错信息进入上述的除错支援单元13。例如,此除错器14可下载除错信息进入此除错支援单元13内的一个或多个暂存器。当上述待除错系统12处于一除错模式时,上述的除错支援单元13可存取此待除错系统12内的信息,此待除错系统12亦可将信息传送至上述的除错支援单元13。
上述的除错支援单元13亦可于一正常运作模式下,对此待除错系统12进行观测或控制,例如当此待除错系统12处于一更大系统下运作时观测其运作情况,上述的更大系统可能为一数字信号处理器系统。上述的除错支援单元13亦可当此待除错系统12处于一更大系统下运作时,透过模拟此待除错系统12所接收的输入信号以观测或控制此待除错系统12。
例如,此除错支援单元13可支持上述的除错器14提供各种值至此待除错系统12,以测试此待除错系统12于某一组特定情况下的运作情况,其中上述的各种值可能包含存储器位置与资料值等。此外,此除错支援单元13可支持上述的除错器14对此待除错系统12写入或读取的各项值进行检验。为达到上述功能,此除错支援单元13可提供一组输入值至此待除错系统12并自此待除错系统12获得一组输出值,以检验此待除错系统12是否如设计般运作与/或隔离问题所在。
上述的除错器14可为一计算机系统或一嵌入式系统,其可为执行一个或以上除错应用程序以对此待除错系统12进行除错。上述的除错器14可允许系统设计者利用此除错支援单元13控制与监视此待除错系统12的运作情况,例如透过上述的除错应用程序。
上述除错器14具有许多不同型态,其可单独或以两个以上的群组型态进行运用。不同的除错器14可支持不同的除错功能。某些除错功能包含:系统开机、软件执行的启动/停止/继续、设定程序地址或资料停止点、对芯片上存储器位置或暂存器进行读写、软件指令的步进(stepping)与软件执行追踪的监控。
根据本发明一实施例,当侦测出一错误时,利用此除错支援单元13对此待除错系统12进行观测并且中止此待除错系统12的执行动作将有利于除错过程。
请合并参考图1与图2所示,其是为根据本发明一实施例对待除错系统12进行观测并且于侦测出一错误后中止执行的一流程示意图。一待除错系统12可能包含一位于同一芯片上的内部存储器,其可能为同步随机存取存储器(SRAM,Synchronous Random Access Memory)。此待除错系统12执行的正确与否可透过检验其内部存储器的内容并且与期望值相较的结果而得知。此待除错系统12的设计规范可用于查明于此待除错系统12内部存储器的某特定位置上的资料期望值,例如当此待除错系统12执行时的一特定时刻与/或当某一组特定输入值提供至此待除错系统12时。上述的存储器资料期望值可为前述自此待除错系统12所读出或写入至此待除错系统的各项值。上述的存储器地址与期望值可于步骤21中提供至此除错器14。接着,此待除错系统12于步骤22继续执行包含于其内的一应用程序。例如当此待除错系统12为一数字信号处理器时,步骤22即为令此数字信号处理器执行一应用程序。当此待除错系统执行程序时,可自其观测到实际执行所得到的值。可于步骤23中,检验上述的实际值是否符合期望值。例如,当提供一组包含各存储器位置与期望值的检查条件,当此组检查条件发生后,即检查某一特定读取与/或写入的存储器位置是否符合其相对应的期望值。又例如当上述的检查条件为一固定时间,当经过此固定时间时,可检验其相对应存储器读写的实际值是否符合其相对应的期望值。当实际值符合其对应的期望值时,如步骤23的“是”路径,则此待除错系统12继续执行至其自然终止点。当实际值不符合其对应的期望值时,如步骤23的“否”路径,则此待除错系统12即中止执行。
当一个不符合情况发生即中止此待除错系统的执行时,可能足以隔离出错误并且加以识别,以供后续对此待除错系统进行除错。于此待除错系统中止执行后,可进行额外的一个或多个除错功能。例如可进行下列方法,诸如检验存储器地址、回复执行动作、设定程序地址、加入新断点、步进(stepping)执行步骤与/或任何除错方法。
本发明的实施例可以有许多不同种可能方式加以实作。请参考图3所示,其是为根据本发明一实施例的一除错支援单元300范例的一电路示意图。如前所述,图1中的除错器14可送出一存储器地址与一相对应的期望值至此除错支援单元300。此除错支援单元300可具有一除错地址暂存器305以及一除错资料暂存器308以分别接收上述的存储器地址与相对应期望值。
于某些情况下,当某值被读取时,检验该值是否符合其期望值;然而于某些情况下,当某值被写入时,检验该值是否符合其期望值。上述除错器可指定此除错支援单元300于一读取动作发生时、于一写入动作发生时、或于读写动作发生时触发一检验动作。为指定于读取动作发生时触发检验,上述除错器于一除错读取检验暂存器301中设定其内容为逻辑值1。为指定于写入动作发生时触发检验,上述除错器于一除错写入检验暂存器306中设定其内容为逻辑值1。当上述除错读取检验暂存器301与除错写入检验暂存器306中皆为逻辑值1时,则读取或写入动作皆会触发此除错器。当上述除错读取检验暂存器301与除错写入检验暂存器306中皆为逻辑值0时,则触发逻辑将被关闭。
当此待除错系统执行时,关于此待除错系统的许多状态将被送至上述的除错支援单元300。例如,当此待除错系统正主动存取存储器时,一存储器致能信号302可接收到一逻辑值1。当此待除错系统读取存储器时,一存储器读取信号303与上述的存储器致能信号302皆可接收到逻辑值1。当此待除错系统写入存储器时,上述的存储器读取信号303接收到逻辑值0,但上述的存储器致能信号302接收到逻辑值1。一存储器地址信号304则接收所存取的存储器地址。一存储器读取资料信号309可侦测由此存储器地址所读取的资料。一存储器写入资料信号307则可侦测写入此存储器地址的资料。
于此范例中,上述存储器读取的资料与存储器写入的资料不需经由一共同总线所接收,此种实作方式是兼容于同步随机存取存储器。
图3标出的逻辑电路当一期望值不符合一实际值时,透过送出一逻辑值1至一除错停止暂存器318以触发此待除错系统的一中止执行动作。此逻辑电路的详细描述如下。
当一与门311或另一与门317送出一逻辑值1时,一或门315即送出一逻辑值1至一除错停止暂存器318。上述的与门317送出逻辑值1的情况是当一与门316与一不等比较器310同时为逻辑值1时。当上述的除错资料暂存器308(期望值)不符合上述的存储器写入资料信号307(实际值)时,此不等比较器310即输出逻辑值1。当上述的存储器致能信号302为逻辑值1(即此待除错系统正存取存储器)、存储器读取信号303为逻辑值0(即此待除错系统写入存储器)时、除错写入检验暂存器306为逻辑值1(即写入动作触发检验)以及当一比较器313为逻辑值1时,上述的与门316始输出逻辑值1。当上述的存储器地址信号304(此待除错系统正在存取的存储器地址)与上述的除错地址暂存器305(欲进行期望值检验的存储器地址)相符合时,此比较器313即输出逻辑值1。
当一不等比较器314输出逻辑值1与一正反器319输出逻辑值1时,则此与门311将输出逻辑值1。当上述的除错资料暂存器308(期望值)不符合上述的存储器读取资料信号309(实际值)时,则上述的不等比较器314将输出逻辑值1。当一与门312输出逻辑值1时,上述的正反器319的输出值为逻辑值1。此与门312的输出值可由此正反器319延迟一个时脉,以便与期望值和实际值的比较结果同时进入上述与门311。当上述的比较器313输出逻辑值1、上述的存储器致能信号302为逻辑值1(即此待除错系统正存取存储器)、存储器读取信号303为逻辑值1(即此待除错系统读取存储器)以及上述除错读取检验暂存器301为逻辑值1(即读取动作触发检验)时,此与门312的输出值为逻辑值1。
当此待除错系统可同时存取多个存储器位置时,则此除错支援单元300可利用多个如上所述的逻辑电路以监控同时发生的存储器存取过程。
再者,上述的除错器可程序化为于连续的存储器存取的间,自动地重新设定上述的逻辑电路。例如,此除错器可储存多个存储器地址与其相对应的期望值,以及此除错器可随时改变所比较的存储器地址与/或其所对应的期望值。上述的实作方式可能是于每次存储器存取后设定一断点,令此除错器有时间更动所比较的存储器地址与/或其所对应的期望值。
又例如上述的除错器可储存一包含存储器地址与其所对应期望值的阵列,如一具有1024个地址与期望值的阵列。当此待除错系统进入除错模式或当触发一断点时,此除错器可进行一资料符合的比对。当此比对是由一触发断点所发起时,此除错器可接着将下一对地址与期望值设定至上述除错支援单元,并且重新启动此待除错系统。
参考图4所示,其是为根据本发明另一实施例的一除错支援单元400范例的一电路示意图。于此实施例中,两个互斥或门402与403加入图3标出的逻辑电路。第一个互斥或门402以上述的不等比较器314的输出与一除错符合控制位401作为其输入。据此,当此除错符合控制位401自上述的除错器接收一逻辑值1后,来自上述不等比较器314的输出值将会被反转;而当此除错符合控制位401为一逻辑值0时,此逻辑电路的行为将同于图3标出的逻辑电路。同样地,第二个互斥或门403以上述的不等比较器310的输出与此除错符合控制位401作为其输入。据此,当此除错符合控制位401自上述的除错器接收一逻辑值1后,来自上述不等比较器310的输出值将会被反转。于此实施例中,即可程序化此除错支援单元400以送出一逻辑值1至上述的除错停止暂存器318,令资料的比较符合时亦可中止此待除错系统的执行。
参考图5所示,其是为根据本发明另一实施例的一除错支援单元500范例的一电路示意图。图3标出的具有两输入的或门315被置换为一具有三输入的或门502,并且新增一除错中止驻留暂存器501连接至此或门502的第三输入端。上述的除错器可令此除错中止驻留暂存器501为一逻辑值1以中止此待除错系统的执行;反的,此除错器可令此除错中止驻留暂存器501为一逻辑值0以令此逻辑电路的行为同于图3标出的逻辑电路。
请注意于图3、图4与图5标出的逻辑电路是用于方便说明本发明的某些特征,而非本发明的完整实施例。
请参考图6所示,其是为根据本发明提供的系统与方法所实作的一计算机系统范例的一方块示意图。本发明提供的系统与方法可以于一计算机系统中执行的一软件应用程序的形式进行实作,此计算机系统可为一大型主机、个人计算机与手持计算机等。上述的软件应用程序是储存于此计算机系统可存取的一纪录媒介,其可透过一实体线路或一无线网络联机进行存取,例如局域网络或网际网络。
上述的计算机系统通常指称为一系统1000,其可包含一中央处理器1001、一随机存取存储器1004、一打印机介面1010、一显示单元1011、一局域网络数据传输控制器1005、一局域网络介面1006、一网络控制器1003、一内部总线1002与一个以上的输入装置1009,如鼠标键盘等。如图6所示,此系统1000尚可透过一联机1007连接至如一硬盘1008之类的一资料储存装置。
请参考图7所示,其是为根据本发明另一实施例的一方块示意图。于此实施例中具有一待除错系统750,其可能为一电子硬件,例如为一微芯片、一通用处理器或一数字信号处理器,用于执行特定或普通用途的应用程序以及操作系统。于此待除错系统750内具有一存储器模组751,用以储存此待除错系统750中的信息。当执行上述的应用程序以及操作系统时,各类信息即储存于此存储器模组751内,可利用不重复的存储器地址表示此存储器模组751中的各个存储器单元。于一范例中,上述的存储器模组751可为一暂存器档案。
如图7所示,于此实施例中,包含至少一存储器地址711以表示此存储器模组751中的某存储器单元,以及于该存储器地址的至少一期望值712。当上述待除错系统750对上述存储器地址711指向的存储器模组751内的某存储器单元进行存取时,一实际值侦测单元720即可侦测此存储器地址711所指向存储器单元内的一实际值为何。此外,尚有一判定单元730可判定上述的期望值712是否等于所侦测的实际值。当两者不等时,意即上述待除错系统750的执行结果有误,则一中止单元740即可中止此待除错系统750的执行动作。然而于进行除错工作时,只比较一个存储器地址的内容可能不足以判定执行结果是否有误,故于本实施例的另一范例中,一阵列710可包含复数个存储器地址711与其相对应的复数个期望值712。于此范例中,上述的实际值侦测单元720即可侦测复数个实际值。接着,上述判定单元730可比较此复数个实际值与其相对应的复数个期望值712,若有任一个实际值与期望值712不相等时,则此中止单元740可中止此待除错系统750的执行动作。
如图7所示,上述的实际值侦测单元720、判定单元730与中止单元740可包含一除错支援单元760,并可与上述的待除错系统750位于同一电子元件770中,例如位于同一微芯片中。此外,上述的除错支援单元760可与一除错器780进行介接,用以接受此除错器780提供的存储器地址711与期望值712,以及回报其除错结果。于一范例中,上述的除错器780是为执行一个以上除错应用程序以除错此待除错系统750的计算机系统。
显然地,依照上面实施例中的描述,本发明可能有许多的修正与差异。因此需要在其附加的权利要求项的范围内加以理解,除了上述详细的描述外,本发明还可以广泛地在其它的实施例中施行。上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。

Claims (24)

1.一电子硬件的除错方法,其特征在于,包含:
提供一存储器地址;
提供于该存储器地址的一期望值;
当存取该存储器地址时,侦测与判断该存储器地址的一实际值;以及
当该存储器地址的该期望值不等于该存储器地址的该实际值时,中止该电子硬件的执行动作。
2.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中上述的存取该存储器地址还包含读取该存储器地址或写入该存储器地址。
3.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中还包含:
提供复数个存储器地址;
提供相对应于该复数个存储器地址的复数个期望值;
读取及判断该复数个存储器地址的复数个实际值;以及
当任一个该复数个存储器地址的期望值不等于相对应的实际值时,中止该电子硬件的执行动作。
4.根据权利要求3所述的电子硬件的除错方法,其特征在于,其中上述的复数个存储器地址与复数个期望值是利用具有复数个存储器地址与复数个期望值的一阵列来提供。
5.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中上述的中止该电子硬件的执行动作还包含中止于该电子硬件上所执行的一应用程序。
6.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中上述的侦测该存储器地址的该实际值的步骤是发生于一事先决定点或时间点存取该存储器地址时。
7.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中上述的侦测该存储器地址的该实际值的步骤是发生于当该电子硬件对该存储器地址执行一读取命令所触发的存储器存取时。
8.根据权利要求1所述的电子硬件的除错方法,其特征在于,其中上述的侦测该存储器地址的该实际值的步骤是发生于当该电子硬件对该存储器地址执行一写入命令所触发的存储器存取时。
9.一电子硬件的除错支援单元,其特征在于,包含:
一存储器模组,包含一存储器地址以及于该存储器地址的一期望值;
一实际值侦测单元,用以当存取该存储器地址时,侦测该存储器地址的一实际值;
一判定单元,用以判断于该存储器地址的该期望值是否等于该存储器地址的该实际值;以及
一中止单元,用以当该存储器地址的该期望值不等于该存储器地址的该实际值时,中止该电子硬件的执行动作。
10.根据权利要求9所述的电子硬件的除错支援单元,其特征在于,其中还包含:一存储器阵列,包含复数个存储器地址以及提供相对应于该复数个存储器地址的复数个期望值。
11.根据权利要求9所述的电子硬件的除错支援单元,其特征在于,其中上述的电子硬件是为一待除错系统。
12.根据权利要求9所述的电子硬件的除错支援单元,其特征在于,其中上述的电子硬件包含下列至少其一:
一数字信号处理器;以及
一微芯片。
13.根据权利要求9所述的电子硬件的除错支援单元,其特征在于,其中上述的判定单元与中止单元包含于一除错支援单元。
14.根据权利要求13所述的电子硬件的除错支援单元,其特征在于,其中上述的除错支援单元是与该电子硬件位于同一电子元件中。
15.根据权利要求13所述的电子硬件的除错支援单元,其特征在于,其中上述的除错支援单元是与一除错器介接。
16.一种除错支援单元,其特征在于,包含:
一地址比较器,当一存储器地址信号等于一除错地址暂存器,该地址比较器输出真值,否则该地址比较器输出伪值;
一读取判定单元,当一存储器致能信号、一除错读取检验暂存器、一存储器读取信号与该地址比较器的输出结果皆为真时,该读取判定单元输出真值,否则该读取判定单元输出伪值;以及
一除错中止判断单元,当一中止条件成立时,该除错中止判断单元输出真值,否则该除错中止判断单元输出伪值,其中上述的中止条件为:
该读取判定单元的输出为真值,并且一除错资料暂存器不等于一存储器读取资料信号。
17.根据权利要求16所述的除错支援单元,其特征在于,其中还包含:
一写入判定单元,当该存储器致能信号、该地址比较器的输出结果与一除错写入检验暂存器为真,并且该存储器读取信号为伪值时,该写入判定单元输出真值,否则该写入判定单元输出伪值;以及
该中止条件还包含:
该写入判定单元的输出为真值,并且该除错资料暂存器不等于一存储器写入资料信号。
18.根据权利要求17所述的除错支援单元,其特征在于,其中还包含一正反器以将该读取判定单元的输出延迟一个时脉。
19.根据权利要求17所述的除错支援单元,其特征在于,其中上述的中止条件还包含至少下列之一:
当一除错符合控制位为真值、该读取判定单元的输出为真值,并且该除错资料暂存器等于该存储器读取资料信号;以及
当该除错符合控制位为真值、该写入判定单元的输出为真值,并且该除错资料暂存器等于该存储器写入资料信号。
20.根据权利要求17所述的除错支援单元,其特征在于,其中上述的中止条件还包含一除错中止驻留暂存器为真值。
21.根据权利要求17所述的除错支援单元,其特征在于,其中上述的存储器地址信号、存储器致能信号、存储器读取信号、存储器读取资料信号与存储器写入资料信号是来自该除错支援单元所欲除错的一待除错系统。
22.根据权利要求21所述的除错支援单元,其特征在于,其中上述的除错地址暂存器、除错读取检验暂存器、除错写入检验暂存器与除错资料暂存器是接受该除错支援单元所连接的一除错器设定。
23.根据权利要求21所述的除错支援单元,其特征在于,其中上述的除错支援单元是与该待除错系统位于同一电子元件中。
24.根据权利要求21所述的除错支援单元,其特征在于,其中上述的待除错系统包含下列至少其一:
一数字信号处理器;以及
一微芯片。
CNB200510109606XA 2005-01-14 2005-09-15 芯片电子硬件上具有中止执行能力的除错支援单元及方法 Active CN100386733C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/036,446 US20060179380A1 (en) 2005-01-14 2005-01-14 On-chip electronic hardware debug support units having execution halting capabilities
US11/036,446 2005-01-14

Publications (2)

Publication Number Publication Date
CN1737767A true CN1737767A (zh) 2006-02-22
CN100386733C CN100386733C (zh) 2008-05-07

Family

ID=36080569

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510109606XA Active CN100386733C (zh) 2005-01-14 2005-09-15 芯片电子硬件上具有中止执行能力的除错支援单元及方法

Country Status (3)

Country Link
US (1) US20060179380A1 (zh)
CN (1) CN100386733C (zh)
TW (1) TWI285806B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710554A (zh) * 2018-05-21 2018-10-26 上海兆芯集成电路有限公司 处理器侦错系统及方法
CN109725245A (zh) * 2017-10-30 2019-05-07 瑞昱半导体股份有限公司 集成电路测试装置
CN111651381A (zh) * 2019-03-04 2020-09-11 新唐科技股份有限公司 半导体装置与数据保护方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2506826B (en) * 2014-02-12 2014-09-17 Ultrasoc Technologies Ltd Monitoring functional testing of an integrated circuit chip
JP6392556B2 (ja) * 2014-06-10 2018-09-19 Necプラットフォームズ株式会社 アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム
US10095605B2 (en) * 2015-09-24 2018-10-09 Red Hat, Inc. Debugger write interceptor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0441088A1 (en) * 1990-01-24 1991-08-14 International Business Machines Corporation Memory card resident diagnostic testing
US5875294A (en) * 1995-06-30 1999-02-23 International Business Machines Corporation Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states
US6516428B2 (en) * 1999-01-22 2003-02-04 Infineon Technologies Ag On-chip debug system
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US9003376B2 (en) * 2002-08-09 2015-04-07 Texas Instruments Incorporated Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems
US7543048B2 (en) * 2002-11-22 2009-06-02 Intel Corporation Methods and apparatus for enabling of a remote management agent independent of an operating system
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725245A (zh) * 2017-10-30 2019-05-07 瑞昱半导体股份有限公司 集成电路测试装置
CN108710554A (zh) * 2018-05-21 2018-10-26 上海兆芯集成电路有限公司 处理器侦错系统及方法
CN108710554B (zh) * 2018-05-21 2023-06-06 格兰菲智能科技有限公司 处理器侦错系统及方法
CN111651381A (zh) * 2019-03-04 2020-09-11 新唐科技股份有限公司 半导体装置与数据保护方法
CN111651381B (zh) * 2019-03-04 2023-11-17 新唐科技股份有限公司 半导体装置与数据保护方法

Also Published As

Publication number Publication date
US20060179380A1 (en) 2006-08-10
TWI285806B (en) 2007-08-21
TW200625072A (en) 2006-07-16
CN100386733C (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
US9727436B2 (en) Adding a profiling agent to a virtual machine to permit performance and memory consumption analysis within unit tests
CN101587455B (zh) 一种用于vxWorks操作系统检查内存泄漏的方法
CN1737767A (zh) 芯片电子硬件上具有中止执行能力的除错支援单元及方法
KR100704629B1 (ko) 변경된 위치의 마스터 부트 레코드의 바이러스 감염 여부를판단하고 치료하는 장치 및 방법
US20150310159A1 (en) Computer-implemented verification system for performing a functional verification of an integrated circuit
CN1885275A (zh) 一种嵌入式系统及其实时内存监控处理方法
CN101067798A (zh) 一种动态探针方法及其在嵌入式系统中的应用
CN1725187A (zh) 在计算机上当软件崩溃时保存用户数据的方法及装置
CN1241098C (zh) 存储系统中检验数据的方法及设备
CN105706063A (zh) 用于检测竞争条件的技术
CN1770112A (zh) 芯片硬件上利用多重异步时钟的除错支持单元
CN1637737A (zh) 具有配置初始化功能的内电路配置结构
CN1779652A (zh) 一种调试操作系统内核态程序的方法及装置
CN1627254A (zh) 嵌入式系统的调试方法及其装置
US8261251B2 (en) Modification of array access checking in AIX
CN1737775A (zh) 一种嵌入式软件自动化测试的装置及其方法
CN1877521A (zh) 跨操作系统的嵌入式系统板级支持包的实现方法
CN1313931C (zh) 程序处理装置
CN1710547A (zh) 软件测试方法及其系统
CN1172986A (zh) 实时控制系统
CN1889051A (zh) 一种利用智能设备的固件实现部件检测的方法
US7698544B2 (en) Automatic halting of a processor in debug mode due to reset
TW201015545A (en) Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics
CN1637736A (zh) 具有非挥发性配置储存装置的内电路配置结构
CN1818885A (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