CN1332409A - 易于测试和调试程序的中央处理单元 - Google Patents
易于测试和调试程序的中央处理单元 Download PDFInfo
- Publication number
- CN1332409A CN1332409A CN01112314A CN01112314A CN1332409A CN 1332409 A CN1332409 A CN 1332409A CN 01112314 A CN01112314 A CN 01112314A CN 01112314 A CN01112314 A CN 01112314A CN 1332409 A CN1332409 A CN 1332409A
- Authority
- CN
- China
- Prior art keywords
- data
- cpu
- debugging
- register
- stored
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 title claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims abstract description 42
- 238000013500 data storage Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 5
- 230000000052 comparative effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种易于测试和调试应用程序的中央处理单元(CPU),它包括执行与主计算机数据通信的数据通信单元;具有一标记的状态寄存器,该标记代表CPU操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;被用作堆栈指针的调试堆栈指针寄存器,该堆栈指针指定存储调试程序的数据的堆栈存储器;以及将存储在断点寄存器中的值与断点数据进行比较的比较器,其中如果断点寄存器值与断点数据相同则把CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。
Description
本发明涉及易于测试和调试程序的中央处理单元(CPU),尤其涉及能够对在调试状态下已经从主计算机下载的测试和调试应用程序进行测试和调试的易于测试和调试程序的CPU。
通常,CPU或微处理器读出存储在存储器中的由一组多个指令字构成的程序,通过指令句法分析程序对这些指令字进行句法分析以及通过执行单元而执行对应于每个指令字的操作。
应当测试存储在存储器中的由一组多个指令字构成的应用程序是否正确建立。在应用程序不是正确建立的情况中,应当调试该应用程序。
图1是一方框图,表明通过利用传统电路内仿真器测试和调试应用程序的例子。
利用电路内仿真器测试和调试程序的系统包括具有CPU模块3、输入/输出(I/O)单元1、和存储器2的目标系统4;与CPU模块3连接的电路内仿真器(ICE)5,用CPU模块3已经替代目标系统4中CPU,目标系统4中CPU被CPU模块3替代,以便测试和调试目标系统4;以及主计算机6,输出测试和调试应用程序的指令,对电路内仿真器作调试。
电路内仿真器5接收来自主计算机6的应用程序和存储能够调试该应用程序的调试程序,以及按照从主计算机6输入的命令启动位于电路内仿真器的中央处理单元(CPU)。此外,电路内仿真器5通过CPU模块3直接控制位于目标系统4中的一条控制总线、一条地址总线和一条数据总线,以便进行输入/输出单元1和存储器2所需的输入/输出操作。此外,电路内仿真器5能够读出电路内仿真器5内CPU的内寄存器或者改变内寄存器中数据。
即,电路内仿真器5接收来自主计算机的调试应用程序,运行该程序、以及操作电路内仿真器5中CPU。此外,电路内仿真器5通过CPU模块3直接控制位于目标系统4中的控制总线、地址总线和数据总线,以便进行输入/输出单元1和存储器2所需的输入/输出操作,强迫停止应用程序的运行,以便测试和调该试应用程序。然后,根据来自主计算机6的命令,相对于目标系统4中输入/输出单元1和存储器2读出或写入数据,或者读出或写入存储在电路内仿真器5内寄存器中的数据。于是,判定该应用程序是否正确地被制成。如果有差错,对该应用程序作调试。
电路内仿真器5仅仅在当利用传统电路内仿真器对应用程序进行测试和调试时目标系统中CPU能够被与电路内仿真器5连接的CPU模块3替代的情况中可以是有用的。此外,由于起目标系统的CPU功能作用的硬件单元应当存在于电路内仿真器5内,这是个问题,即电路内仿真器很昂贵。此外,由于在目标系统用单个半导体芯片集成的情况中位于电路内仿真器内的CPU不能被CPU模块3替代,不能使用电路内仿真器。
图2是一方框图,表明用于测试和调试程序的装置,其中串行通信单元12和后台调试监视器11被集合在传统中央处理单元(CPU)13中。
参考图2,CPU 13包括后台调试监视器(DBM)11和串行通信单元12,以便解决在图1的目标系统已经被集成为单个半导体芯片的情况下不能使用电路内仿真器的问题。
图2的装置包括目标系统10,其中具有DBM11和串行通信单元12的CPU13、输入/输出(I/O)单元14和存储器15被集成在单个半导体芯片中;和经过串行通信单元12用于测试和调试应用程序的主计算机20。
DBM11用包括寄存器和控制单元的控制器应当能够直接控制位于CPU13中的所有内部元件,以便句法分析来自主计算机20经过串行通信单元12输入的命令,由此进行必要操作。即,DBM11与内部总线连接,以读出或改变存储在寄存器中的值。DBM11控制着控制器、存储器地址寄存器和存储器数据寄存器,由此控制着控制信号总线、地址总线和数据总线,在图2中未示出它们。
在包括如图2所述的传统DBM的CPU中,主计算机20应当经过串行通信单元12与DBM11进行通信。在这种情况中,连接主计算机20与CPU13的输入/输出线的所需数目为2或3。于是,图2的测试和调试装置比图1中所示的替代整个CPU的情况更有效。
然而,由于传统的DBM11应当直接控制CPU13中的所有内部元件,与图2的DBM相结合的CPU是昂贵的,并具有复杂的硬件装置。
为了解决现有技术问题,本发明的目的是提供一种便于程序测试和调试操作的中央处理单元(CPU),其中通过启动调试输入信号把调试模式新增加到具有用户模式的CPU中,在调试模式下从主计算机下载的用于测试和调试的应用程序易于被测试和调试,由此把CPU的硬件简化为较低价格的CPU,和执行更有效的测试和调试操作。
为了实现本发明的上述目的,提供一种易于测试和调试程序的中央处理单元(CPU),该CPU包括:用于执行与主计算机的数据通信的数据通信单元;具有标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;被用作堆栈指针的调试堆栈指针寄存器,所述堆栈指针指定存储调试程序的数据的堆栈存储器;以及比较存储在断点寄存器中的值与断点数据的比较器,其中,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,用于执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。
根据本发明的另一个方面,提供一种易于测试和调试程序的中央处理单元(CPU),该CPU包括:执行与主计算机的数据通信的数据通信单元;具有一标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;指定存储调试初始化程序的数据和调试服务程序的数据的堆栈存储器的调试堆栈指针寄存器;控制单元,用于通过复位信号对CPU初始化、检查调试模式进程信号、如果已经激活该调试模式进程信号则把执行调试初始化程序的启动地址装载在程序计数器中,由此将CPU转换到调试初始化模式中以及把状态寄存器的标记设定到代表调试模式的值、和输出与内部总线连接的CPU的内部和外部元件所需的各种控制信号;以及比较存储在断点寄存器中的值与断点数据的比较器,其中,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试服务模式的值,执行调试服务程序的启动地址被装载在程序计数器中,以及运行该调试服务程序,按照经数据通信单元来自主计算机的命令执行调试。
通过参考附图对本发明较佳实施例的更详细描述,本发明的以上目的和其它优点将变得更加明显。
图1是表明利用传统电路内仿真器测试和调试程序的方框图。
图2是一方框图,表明用于测试和调试在传统中央处理单元(CPU)中加入了串行通信单元和后台调试监视器的程序的装置。
图3是根据本发明的易于测试和调试程序的CPU的方框图。
图4是根据本发明的用于测试和调试程序的状态寄存器的视图。
图5A是一工作图,表明在一般操作的应用程序和调试程序被存储在同一存储器中的情况中的矢量处理。
图5B是一工作图,表明在调试程序被存储在不同于一般操作应用程序存储器的一单独存储器中的情况中的矢量处理。
图5C是一工作图,表明在调试程序既被存储在与一般操作应用程序存储器相同的存储器中又被存储在与一般操作应用程序存储器不同的一单独存储器中的情况中的矢量处理。
将参考附图更详细地描述根据本发明较佳实施例的中央处理单元(CPU)。
图3是根据本发明的易于测试和调试程序的CPU的方框图。
在图3中,根据本发明的易于测试和调试程序的CPU包括:临时存储数据和地址操作所需的数据的通用寄存器组100;专用寄存器组200,它包括存储程序所存储的存储器地址的程序计数器(PC)、具有一标记的状态寄存器(SR),该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表程序测试和调试状态的调试模式、断点寄存器(BR)、掩蔽寄存器(MR)、和指定一存储器的调试堆栈指针(ISP),该存储器存储调试初始化程序和调试服务程序的数据;连接通用寄存器组100和专用寄存器组200的内部总线(IB);连接内部总线(IB)的控制单元300,用于输出CPU的内部和外部元件所需的各种控制信号(CONT)、通过复位信号(RESET)使CPU初始化、校验调试模式进程信号(OSI),由此把执行调试初始化程序的启动地址装载在程序计数器中,如果已经启动调试模式进程信号(OSI)则将CPU转换为调试初始化模式以及使得状态寄存器(SR)的标记具有代表调试模式的值;存储器地址寄存器400;存储器数据寄存器500;数据通信单元600,进行与主计算机的数据通信;以及比较器700,比较存储在断点寄存器(BR)中的值(IBR)与断点数据(BD),如果断点寄存器值与断点数据相同将CPU转换为调试服务模式。
此外,作为另一种方法,根据本发明的易于测试和调试程序的CPU包括;进行与主计算机的数据通信的数据通信单元600;状态寄存器(SR),它具有一标记,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表程序测试和调试状态的调试模式;和被用作堆栈指针的调试堆栈指针(ISP),以指定存储调试程序的数据的存储器;以及比较器700,比较存储在断点寄存器中的值与断点数据,如果断点寄存器值与断点数据相同将CPU转换为调试模式,其中,如果存储在断点寄存器(BR)中的值与根据初始调试模式项从主计算机输入的断点数据(BD)相同,把执行由调试初始化程序和调试服务程序组成的调试程序的启动地址装载到程序计数器(PC)中,由此执行调试程序把CPU转换为调试模式并按照经数据通信单元600来自主计算机的命令进行调试,在这种情况中,状态寄存器标记具有代表调试模式的值。
输入到比较器700中的断点数据(BD)可以是存储在程序计数器(PC)中的程序地址、数据被存储的存储器地址、输入和输出数据、以及输入和输出地址。此外,利用掩蔽寄存器(MR),断点数据(BD)可以是存储在程序计数器中的程序地址与存储在掩蔽寄存器(MR)中的值的运算结果、数据被存储的存储器地址与存储在掩蔽寄存器(MR)中的值的运算结果、以及输入和输出地址与存储在掩蔽寄存器(MR)中的值的运算结果。
正如图3、5A和5B所示,控制单元300接收调试存储器选择信号(OSIROM),当存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同时,根据调试存储器选择信号(OSIROM)能够把执行调试服务程序PROG5和PROG7的不同地址分别装载到程序计数器(PC)中。此外,正如图5B所示,能够使存储调试程序(包括调试初始化程序(PROG6)和调试服务程序(PROG7))的存储器90与存储通用程序的存储器80分开。
换句话说,能够使存储调试程序所使用的数据值的数据存储存储器与存储通用程序所使用的数据值的数据存储存储器分开。
当CPU被转换为调试模式时,易于进行测试和调试程序的CPU应当进一步包括快速进行调试的临时存储寄存器1200,以及在CPU已经被转换为调试模式然后执行调试程序后,在执行调试程序之前,把程序计数器(PC)和状态寄存器(SR)存储到临时存储寄存器1200中。
易于测试和调试程序的CPU进一步包括其上存储参考数据的参考数据存储单元900、和参数数据比较器800,将经数据通信单元输入的数据(DEB1)与参考数据进行比较,如果数据(DEB1)与参考数据相同的话则将CPU转换为调试服务模式,由此允许用户经数据通道单元使CPU强制被转换为调试服务模式,利用主计算机执行该调试服务模式。
根据本发明的易于测试和调试程序的CPU进一步包括存储事先已经设定的复位数据的复位数据存储单元1100、和将存储在该复位数据存储单元1100中的复位数据与经数据通道单元600输入的调试数据(DEB2)进行比较的复位数据比较器1000。于是,如果以后把数据从主计算机发送到数据通信单元600,以便对CPU强制初始化,比较器1000将存储在复位数据存储单元1100中的复位数据与经数据通信单元600接收的值进行比较,由此在两个值相同的情况中使CPU初始化。
根据本发明的易于测试和调试程序的CPU的操作如下:
控制单元300通过复位信号使CPU初始化,如果输入到控制单元300的调试模式项目信号(OSI)被启动,控制单元启动状态寄存器(SR)的调试模式标记(OSIM),如图4所示。然后,控制单元300设定CPU进入调试和调试应用程序的起始环境,并执行待测试和调试的应用程序经数据通信单元600从主计算机下载到CPU。在应用程序的执行期间,比较器700判定存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)是否相同。如果两个值相同,控制单元300则使CPU进到调试模式并根据经数据通信单元600从主计算机输入的命令进行应用程序的测试和调试。
在调试模式项目信号(OSI)被启动,因此CPU被设定为测试和调试应用程序的起始环境后,该应用程序从主计算机下载到CPU。否则,在CPU被设定为起始环境后,如果在比较器700的比较结果中存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,那么CPU进到程序测试和调试状态,然后应用程序从主计算机下载到CPU。
如果在比较器700的比较结果中存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,控制单元300停止或者完成应用程序的执行,控制待存储到由临时存储寄存器(TR)或者调试堆栈指针(ISP)指定的堆栈存储器中的被存储在程序计数器(PC)中的值和被存储在状态寄存器(SR)中的值,控制用于执行待存储在程序计数器(PC)中的调试服务程序的启动地址,以便测试和调试该应用程序,以及改变状态寄存器(SR)的数据,从而使CPU处于测试和调试应用程序的状态。
输入到比较器700中的断点数据(BD)可以是存储在程序计数器(PC)中的程序地址、数据被存储的存储器地址、输入和输出数据、以及输入和输出地址。此外,利用掩蔽寄存器(MR),断点数据(BD)可以是存储在程序计数器中的程序地址与存储在掩蔽寄存器(MR)中的值的运算结果、数据被存储的存储器地址与存储在掩蔽寄存器(MR)中的值的运算结果、输入和输出地址与存储在掩蔽寄存器(MR)中的值的运算结果、以及输入和输出数据与存储在掩蔽寄存器(MR)中的值的运算结果。当仅有一部分待校验的数据被比较时,掩蔽寄存器(MR)是有用的。即,在输入和输出数据当中仅有6个较低位被校验的情况中,把十六进制数字中3F的值被设定在掩蔽寄存器(MR)中,输入和输出数据与掩蔽寄存器(MR)中设定的值逻辑相乘。然后,如果断点数据(BD)的6个较低位与断点寄存器(BR)的6个较低位相同,那么将CPU转换为调试模式。
正如图5A所示,用于CPU的初始化和一般操作的应用程序(PROG1、PROG2和PROG4)、根据调试模式项目信号(OSI)的启动把CPU设定为测试和调试应用程序的起始环境的调试模式初始化程序(PROG3)、和在比较器的比较结果中如果CPU进到程序测试和调试状态用于测试和调试应用程序的调试服务程序(PROG5)被存储在同一存储器80中。否则,正如图5B所示,调试模式初始化程序(PROG6)和调试服务程序(PROG7)能够被存储在另一单独存储器90中。
正如图5B所示,存储应用程序(PROG1、PROG2和PROG4)(用于CPU的初始化和一般操作)的存储器80和存储调试模式初始化程序(PROG6)和调试服务程序(PROG7)的存储器90是彼此分开的。在这种情况中,如果存储器90与CPU集成在一起,那么CPU的操作速度变得更快。
另一方面,正如图5C所示,存储调试模式初始化程序(PROG6)和调试服务程序(PROG7)的存储器90(它与CPU相集成)的独立,用户能够建立调试模式初始化程序(PROG3)和调试服务程序(PROG5)并能够把它们存储在存储用于CPU初始化和一般操作的应用程序(PROG1、PROG2和PROG4)的存储器80中。
在用于CPU初始化和一般操作的所有应用程序(PROG1、PROG2和PROG4)、调试模式初始化程序(PROG3)和调试服务程序(PROG5)被存储在同一存储器的情况中,如图5A所示,下面将更详细地本发明的操作。
如果给CPU供电,复位信号(RESET)被启动。控制单元300根据该复位信号(RESET)对CPU初始化并判定调试模式项目信号(OSI)是否被启动。如果调试模式项目信号(OSI)处于非启动状态,图4的状态寄存器(SR)的调试模式标记(OSIM)未被激活。然后,控制单元300从矢量表81读出存储存储器80(存储待执行的初始程序)地址的复位矢量,并存储专用寄存器组200的程序计数器(PC)。控制单元300把存储在程序计数器(PC)中的复位矢量移动到存储器地址寄存器400并把他输出到地址总线(ADDB)。此外,控制单元300把存储器读出信号输出到控制总线并读出存储应用程序(PROG1)的存储器80的内容。从存储器输出的数据经存储器数据总线(DATAB)进入控制单元300、存储器数据寄存器500和内部总线(IB)。以这种方式输入控制单元300的命令字被句法分析。于是,所需控制信号(CONT)是以执行相应命令字的方式从控制单元300输出的。
如果CPU被复位矢量初始化而调试模式项目信号(OSI)处于非启动状态,以便执行用于调试的应用程序(PROG1),那么CPU执行该应用程序(PROG1)。
如果CPU被复位信号初始化而输入到控制单元300的调试模式项目信号(OSI)被启动,那么控制单元300启动状态寄存器(SR)和调试模式标记(OSIM)。此外,控制单元300读出调试模式初始化矢量并把读出结果存储在程序计数器(PC)中,该矢量是存储在存储器80中的调试模式初始化程序(PROG3)的启动地址。然后,如果根据存储在程序计数器(PC)中的调试模式初始化矢量执行调试模式初始化程序(PROG3),那么CPU设定为测试和调试应用程序的初始环境。
控制单元300根据从主计算机输入的命令不启动状态寄存器(SR)的调试模式标记(OSIM),并控制待执行的应用程序的命令字被存储在程序计数器(PC)中的地址,由此执行该应用程序。如果在应用程序的执行期间,在比较器700的比较结果中,专用寄存器组200的存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,CPU停止或者完成应用程序的执行操作、控制存储在程序计数器(PC)中的应用程序的地址的值和存储在状态寄存器(SR)中的数据(待存储在临时存储寄存器(TR)1200中)、控制调试服务矢量是调试服务程序(PROG5)(用于测试和调试待存储在程序计数器(PC)中的应用程序)的启动地址、以及改变CPU的状态寄存器(SR)的值,由此应用程序处于被测试和调试的状态中。即,状态寄存器(SR)的调试模式标记(OSIM)被启动。
与此同时,如果在比较器700的比较结果中,存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,CPU停止或者完成应用程序的执行操作并能够控制存储在程序计数器(PC)中的值和存储在状态寄存器(SR)中的数据,它们不被存储在临时存储寄存器(TR)中,但是被存储在有调试堆栈指针(ISP)指定的堆栈存储器中。
CPU进到程序测试和调试状态,然后根据存储在存储器80中的调试服务程序(PROG5)执行主计算机的命令,例如由用户建立的应用程序的下载、被下载应用程序的执行、断点寄存器(ER)的数据变化、或者存储在通用寄存器组100和专用寄存器组200的寄存器中的数据的读出(READ)或写入(WRITE)、以及根据存储在存储器80中的调试服务程序(PROG5)对存储在存储器中的数据的读出或写入。用户判定应用程序是否利用命令正确地建立。如果判定应用程序是错误地建立,那么该应用程序被校正。
经数据通信单元执行CPU与主计算机之间的命令的处理过程如下:
如果由用户建立的程序根据主计算机的下载命令经数据通信单元600被CPU接收并控制CPU的存储器中的接收程序,CPU给主计算机发送一信号,表示该程序已经成功地被接收。如果在应用程序的传送期间发生差错,那么CPU请求主计算机重新发送该应用程序。在应用程序已经被下载到CPU后,主计算机输出一设定CPU中断点寄存器(BR)数据值的断点寄存器数据改变命令,以便执行调试操作。在断点寄存器数据改变命令后,CPU给主计算机发送一信号,表示该应用程序已经被成功地接收。主计算机给CPU发送该应用程序的执行命令,以便执行被下载在存储器中的应用程序,CPU响应于应用程序的执行命令而执行该应用程序。如果在应用程序的执行期间,在比较器700的比较结果中,存储在断点寄存器(BR)中的数据值与程序计数器(PC)的数据(为断点数据(BD))相同,应用程序的执行操作被停止或者已完成,存储在程序计数器(PC)中的所有值、存储在状态寄存器(SR)中的数据、以及通用寄存器的内容被存储在临时存储寄存器(TR)或者由调试堆栈指针(ISP)指定的堆栈存储器中。调试服务矢量(为用于测试和调试应用程序的调试服务程序(PROG5)的启动地址)被存储在程序计数器(PC)中,状态寄存器(SR)的数据被改变,使得CPU处于测试和调试应用程序的状态中。即,状态寄存器(SR)的调试模式标记(OSIM)被启动。根据调试服务程序(PROG5)CPU进到测试和调试应用程序的状态。如果CPU已经进到测试和调试应用程序的调试模式,那么接收寄存器读出命令,存储在临时存储寄存器(TR)或由调试堆栈指针(ISP)指定的堆栈中的寄存器的数据被发送到主计算机。然后,用户分析该发送数据并判定是否输出正确值。如果在分析的结果中该发送数据不是正确数据,那么确定应用程序是不正确的。于是,应用程序被校正。
重复上述方法,应用程序能够被便利地调试。
当最初给CPU加电时复位信号(RESET)被启动。否则,复位数据比较器1000将经数据通信单元600从主计算机输入的调试数据(DEB2)与存储在复位数据存储单元1100中的复位数据进行比较,如果前者与后者相同,CPU被启动。换句话说,在待调试的应用程序的执行期间,在CPU处于不可恢复状态的情况中,例如在无限循环的状态中,CPU被初始化,以解决这个问题。
在应用程序超过预定时间继续被执行的情况中,即,在应用程序处于无限循环状态的情况中,存储在参考数据存储单元900中的与参考数据等同的调试数据(DEB1)经数据通信单元600被发送,参考数据比较器800将存储在参考数据存储单元900中的参考数据与经数据通信单元600接收的调试数据(DEB1)进行比较,在比较结果中如果前者与后者相同,那么迫使CPU进到调试服务模式,这是程序测试和调试状态,由此摆脱无限循环,对发生无限循环的应用程序作调试。
正如图5C所示,调试模式初始化程序(PROG3和PROG6)和调试服务程序(PROG5和PROG7)既能被存储在存储器80(存储对CPU初始化和操作的服务程序)中又能被存储在与存储器80分开的存储器90中。为此,存储器识别信号(OSIROM)需要作为控制单元300的输入信号。即,在控制单元300用复位信号(RESET)已经对CPU初始化后,然后如果调试模式项目信号(OSI)在被启动时已经被校验以及如果存储器识别信号(OSIROM)在被启动时已经被校验,调试模式初始化矢量II(是存储在存储器90中的调试模式初始化程序(PROG6)的启动地址,以便测试和调试应用程序)应当被存储在程序计数器(PC)中。此外,断点寄存器(BR)的数据值与断点数据相同的情况中,比较器700通知控制单元300两个值相同,控制单元300控制程序计数器(PC),存储调试模式初始化矢量II,这是存储在存储器90中的调试服务程序(PROG7)。
如果存储器识别信号(OSIROM)不被启动,调试模式初始化矢量I是用于执行调试模式初始化程序(PROG3)的启动地址,调试服务矢量I是用于执行调试服务程序(PROG5)的启动地址。
如上所述,如果存储器是分开和使用的,用户并不使用内部存储的调试模式初始化程序(PROG6)和调试服务程序(PROG7),使用用户制作的调试模式初始化程序(PROG3)和调试服务程序(PROG5),由此测试和调试应用程序。
此外,在根据本发明的易于测试和调试程序的CPU中,CPU被复位信号(RESET)初始化。然后,CPU被调试模式项目信号(OSI)转换到初始调试模式。否则,根据在应用程序的执行期间经数据通信单元600来自主计算机的调试数据(DEB1)(与存储在参考数据存储单元900中的参考数据等同)的输入,CPU被控制单元300强迫转换到初始调试模式。于是,如果由调试初始化程序和调试服务程序构成的调试程序被执行,根据该调试程序在主计算机中能够设定断点寄存器(BR)的值。断点寄存器(BR)的设定数据经数据通信单元600被存储在断点寄存器(BR)中,如果在应用程序的执行期间存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,CPU总是前进到调试模式,不管调试模式项目信号(OSI)启动或是不启动。即,如果存储在断点寄存器(BR)中的值(IBR)与断点数据(BD)相同,控制单元300启动状态寄存器(SR)的调试模式标记(OSIM),把用于执行调试程序的启动地址装载到程序计数器(PC)中。于是,控制单元300控制CPU执行调试程序,由此控制CPU被转换到调试模式中。此外,控制单元300根据调试程序执行经数据通信单元600来自主计算机的命令,例如调试程序所使用的存储器的初始化、一组调试堆栈指针、一组或改变的参考数据、一组或改变的对CPU初始化的复位数据、断点寄存器(BR)的值的改变、存储通用寄存器组100或专用寄存器组200的寄存器中的数据的读出(READ)或写入(WRITE)、存储在存储器中的数据的读出或写入,以及判定应用程序是否被正确地建立,由此校正和改进不正确的应用程序。
根据本发明的易于测试和调试程序的CPU在具有用户模式的CPU状态中新增加了调试模式,由此使得CPU能够在调试模式下易于测试和调试从主计算机下载的应用程序。这里,CPU是用更简单的硬件单元制备的,这能够降低CPU的价格并能够更有效的测试和调试。此外,把CPU设定到测试和调试应用程序的初始环境中的调试模式初始化程序和通过使CPU前进到程序测试和调试状态对应用程序作测试和调试的调试服务程序被存储到存储用户应用程序(使CPU初始化和操作)的存储器以外的其他单独存储器中。因而,用户不需要考虑所提供的调试模式初始化程序和调试服务程序,利用由用户建立的调试程序能够建立一应用程序。
Claims (33)
1.一种易于测试和调试应用程序的中央处理单元(CPU),包括临时存储数据和地址操作所需的数据的通用寄存器组、存储各程序所存储地址的程序计数器、具有指示CPU状态的状态寄存器和断点寄存器的专用寄存器组、连接通用寄存器组与专用寄存器组的内部总线、以及与内部总线连接的控制单元,用于输出CPU内部和外部元件所需的各种控制信号,所述CPU包括:
执行与主计算机的数据通信的数据通信单元;
具有标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;
被用作堆栈指针的调试堆栈指针寄存器,所述堆栈指针指定存储调试程序的数据的堆栈存储器;以及
比较存储在断点寄存器中的值与断点数据的比较器,
其特征在于,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试模式的值,执行调试程序的启动地址被装载在程序计数器中,以及运行该调试程序,按照经数据通信单元来自主计算机的命令执行调试。
2.如权利要求1所述的CPU,其特征在于进一步包括:
存储复位数据的复位数据存储单元;以及
复位数据比较器,用于比较经数据通信单元输入的数据与存储在复位数据存储单元中的复位数据,并且如果经数据通信单元输入的数据与复位数据相同的话指令控制单元对CPU初始化。
3.如权利要求1所述的CPU,其特征在于,所述断点数据是存储在程序计数器中的程序地址。
4.如权利要求1所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是存储在程序计数器和屏蔽寄存器中的值的操作的结果。
5.如权利要求1所述的CPU,其特征在于,断点数据是数据所存储的存储器地址。
6.如权利要求1所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是数据所存储的存储器地址和存储在屏蔽寄存器中的值的操作的结果。
7.如权利要求1所述的CPU,其特征在于,所述断点数据是输入到CPU和从CPU输出的数据。
8.如权利要求1所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是输入到CPU和从CPU输出的数据以及存储在屏蔽寄存器中的值的操作的结果。
9.如权利要求1所述的CPU,其特征在于,所述断点数据是输入到CPU和从CPU输出的地址。
10.如权利要求1所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是输入到CPU和从CPU输出的地址以及存储在屏蔽寄存器中的值的操作的结果。
11.如权利要求1所述的CPU,其特征在于,所述控制单元接收调试存储器选择信号并且当存储在断点寄存器中的值与断点数据相同时根据调试存储器选择信号把执行调试程序的各个不同地址装载到程序计数器中。
12.如权利要求1所述的CPU,进一步包括存储调试程序所使用的数据值的数据存储存储器,它与存储通用程序所使用的数据值的数据存储器相分离。
13.如权利要求1所述的CPU,进一步包括存储调试程序的存储器,它与存储通用程序的存储器相分离。
14.如权利要求1所述的CPU,其特征在于,经数据通信单元从主计算机下载待测试和调试的应用程序。
15.如权利要求1所述的CPU,其特征在于,当CPU已经被转换为调试模式时,存储在程序计数器中的值和存储在状态寄存器中的数据被存储到由调试堆栈指针寄存器所指定的存储器中。
16.如权利要求1所述的CPU,进一步包括临时存储寄存器,其中,当CPU已经被转换为调试模式时,存储在程序计数器中的值和存储在状态寄存器中的数据被存储到临时存储存储器中。
17.如权利要求1所述的CPU,进一步包括:
存储参考数据的参考数据存储单元;以及
比较通过数据通信单元输入的数据与参考数据的参考数据比较器,
其中,控制单元控制CPU被转换到调试模式,以及如果通过数据通信输入的数据与参考数据相同把执行调试程序的启动地址装载到程序计数器中,由此控制CPU按照经数据通信单元来自主计算机的命令执行调试。
18.一种易于测试和调试程序的中央处理单元(CPU),包括临时存储数据和地址操作所需的数据的通用寄存器组、存储各程序所存储地址的程序计数器、具有指示CPU状态的状态寄存器和断点寄存器的专用寄存器组、以及连接通用寄存器组与专用寄存器组的内部总线,所述CPU包括:
执行与主计算机的数据通信的数据通信单元;
具有标记的状态寄存器,该标记代表CPU的操作模式是代表通用操作状态的通用操作模式还是代表调试状态的调试模式;
指定存储调试初始化程序的数据和调试服务程序的数据的堆栈存储器的调试堆栈指针寄存器;
控制单元,用于通过复位信号对CPU初始化、检查调试模式进程信号、如果已经激活该调试模式进程信号则把执行调试初始化程序的启动地址装载在程序计数器中,由此将CPU转换到调试初始化模式中以及把状态寄存器的标记设定到代表调试模式的值、以及输出与内部总线连接的CPU的内部和外部元件所需的各种控制信号;以及
比较存储在断点寄存器中的值与断点数据的比较器,
其特征在于,如果断点寄存器值与断点数据相同将CPU转换到调试模式,状态寄存器的标记具有代表调试服务模式的值,执行调试服务程序的启动地址被装载在程序计数器中,以及运行该调试服务程序,按照经数据通信单元来自主计算机的命令执行调试。
19.如权利要求18所所述的CPU,其特征在于进一步包括:
存储复位数据的复位数据存储单元;以及
复位数据比较器,用于比较经数据通信单元输入的数据与存储在复位数据存储单元中的复位数据,并且如果经数据通信单元输入的数据与复位数据相同的话指令控制单元对CPU初始化。
20.如权利要求18所所述的CPU,其特征在于,所述断点数据是存储在程序计数器中的程序地址。
21.如权利要求18所所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是存储在程序计数器和屏蔽寄存器中的值的操作的结果。
22.如权利要求18所所述的CPU,其特征在于,断点数据是数据所存储的存储器地址。
23.如权利要求18所所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是数据所存储的存储器地址和存储在屏蔽寄存器中的值的操作的结果。
24.如权利要求18所所述的CPU,其特征在于,所述断点数据是输入到CPU和从CPU输出的数据。
25.如权利要求18所所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是输入到CPU和从CPU输出的数据以及存储在屏蔽寄存器中的值的操作的结果。
26.如权利要求18所所述的CPU,其特征在于,所述断点数据是输入到CPU和从CPU输出的地址。
27.如权利要求18所所述的CPU,进一步包括屏蔽寄存器,其中,断点数据是输入到CPU和从CPU输出的地址以及存储在屏蔽寄存器中的值的操作的结果。
28.如权利要求18所所述的CPU,其特征在于,所述控制单元接收调试存储器选择信号并且当存储在断点寄存器中的值与断点数据相同时根据调试存储器选择信号把执行调试程序的各个不同地址装载到程序计数器中。
29.如权利要求18所所述的CPU,进一步包括存储调试程序所使用的数据值的数据存储存储器,它与存储通用程序所使用的数据值的数据存储存储器相分离。
30.如权利要求18所所述的CPU,进一步包括存储调试程序的存储器,它与存储通用程序的存储器相分离。
31.如权利要求18所所述的CPU,其特征在于,经数据通信单元从主计算机下载待测试和调试的应用程序。
32.如权利要求18所所述的CPU,进一步包括临时存储寄存器,其中,当CPU已经被转换为调试模式时,存储在程序计数器中的值和存储在状态寄存器中的数据被存储到临时存储存储器中。
33.如权利要求18所所述的CPU,进一步包括:
存储参考数据的参考数据存储单元;以及
比较通过数据通信单元输入的数据与参考数据的参考数据比较器,
其中,控制单元控制CPU被转换到调试模式,以及如果通过数据通信输入的数据与参考数据相同把执行调试程序的启动地址装载到程序计数器中,由此控制CPU按照经数据通信单元来自主计算机的命令执行调试。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20000038161 | 2000-07-05 | ||
KR1020000038161A KR100337149B1 (ko) | 2000-07-05 | 2000-07-05 | 프로그램 테스트 및 디버깅이 용이한 중앙처리장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1332409A true CN1332409A (zh) | 2002-01-23 |
CN1185578C CN1185578C (zh) | 2005-01-19 |
Family
ID=36722159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011123141A Expired - Fee Related CN1185578C (zh) | 2000-07-05 | 2001-03-29 | 易于测试和调试程序的中央处理单元 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6820192B2 (zh) |
EP (1) | EP1170668A3 (zh) |
JP (2) | JP2002041326A (zh) |
KR (1) | KR100337149B1 (zh) |
CN (1) | CN1185578C (zh) |
HK (1) | HK1045377A1 (zh) |
TW (1) | TW501007B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100334561C (zh) * | 2003-07-30 | 2007-08-29 | 松下电器产业株式会社 | 程序调试装置、程序调试方法 |
CN102193860A (zh) * | 2010-03-10 | 2011-09-21 | 上海海尔集成电路有限公司 | 微控制器在线调试电路及方法、微控制器 |
CN103309786A (zh) * | 2012-03-09 | 2013-09-18 | 辉达公司 | 用于在非可抢占式图形处理单元上交互调试的方法和装置 |
CN103473153A (zh) * | 2012-06-05 | 2013-12-25 | 英飞凌科技股份有限公司 | 用于检测微控制器中的潜在故障的方法和系统 |
CN104302995A (zh) * | 2012-08-13 | 2015-01-21 | 米尔洛克科技公司 | 在冻干循环的冷冻过程中利用来自冷凝霜的压差冰晶分布的受控成核 |
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN112463675A (zh) * | 2020-11-25 | 2021-03-09 | 上海磐启微电子有限公司 | 一种程序离线下载方法 |
CN113672554A (zh) * | 2021-07-06 | 2021-11-19 | 平头哥(杭州)半导体有限公司 | 处理器核、处理器、片上系统和调试系统 |
CN116719746A (zh) * | 2023-07-26 | 2023-09-08 | 北京象帝先计算技术有限公司 | 调试方法、设备、待调试产品和计算机存储介质 |
CN117149478A (zh) * | 2023-06-14 | 2023-12-01 | 杭州迪为科技有限公司 | 汽车电子控制器的复位管理方法、装置和汽车电子控制器 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0124563D0 (en) * | 2001-10-12 | 2001-12-05 | Siroyan Ltd | Debug exception registers |
US6976189B1 (en) * | 2002-03-22 | 2005-12-13 | Network Appliance, Inc. | Persistent context-based behavior injection or testing of a computing system |
JP3764405B2 (ja) * | 2002-05-27 | 2006-04-05 | 株式会社東芝 | デバッグ装置及びデバッグ方法 |
JP2005070949A (ja) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | プログラム処理装置 |
US7363544B2 (en) * | 2003-10-30 | 2008-04-22 | International Business Machines Corporation | Program debug method and apparatus |
US8070994B2 (en) | 2004-06-18 | 2011-12-06 | Zephyros, Inc. | Panel structure |
US7698544B2 (en) * | 2005-05-13 | 2010-04-13 | Texas Instruments Incorporated | Automatic halting of a processor in debug mode due to reset |
US8024706B1 (en) | 2005-09-27 | 2011-09-20 | Teradata Us, Inc. | Techniques for embedding testing or debugging features within a service |
US20100025147A1 (en) * | 2005-10-31 | 2010-02-04 | L&L Products, Inc. | Damping material, method of forming the damping material and method of using the damping material |
EP1884846A1 (de) * | 2006-08-01 | 2008-02-06 | Siemens Aktiengesellschaft | System und Verfahren zur Anzeige eines Variablenstatus |
US7945901B2 (en) * | 2006-08-16 | 2011-05-17 | Seiko Epson Corporation | System and method for facilitating software profiling procedures |
JP4976817B2 (ja) * | 2006-11-06 | 2012-07-18 | オンセミコンダクター・トレーディング・リミテッド | プログラム処理装置及びプログラム処理方法 |
US8359585B1 (en) * | 2007-01-18 | 2013-01-22 | Advanced Testing Technologies, Inc. | Instrumentation ATS/TPS mitigation utilizing I/O data stream |
JP5115628B2 (ja) * | 2008-11-13 | 2013-01-09 | 富士通セミコンダクター株式会社 | マイクロコンピュータ |
US8914621B2 (en) * | 2009-04-02 | 2014-12-16 | Infineon Technologies Ag | Processing unit that detects manipulations thereof, device comprising two processing units, method for testing a processing unit and a device comprising two processing units |
US10698859B2 (en) | 2009-09-18 | 2020-06-30 | The Board Of Regents Of The University Of Texas System | Data multicasting with router replication and target instruction identification in a distributed multi-core processing architecture |
DE102010002309B4 (de) * | 2010-02-24 | 2013-04-18 | Endress + Hauser Gmbh + Co. Kg | Verfahren zur Überprüfung der Funktionsfähigkeit eines Speicherelements |
KR101910934B1 (ko) * | 2012-03-26 | 2018-12-28 | 삼성전자 주식회사 | 루프의 프롤로그 또는 에필로그의 비유효 연산을 처리하는 장치 및 방법 |
US9489287B2 (en) * | 2013-08-23 | 2016-11-08 | Atmel Corporation | Breaking code execution based on time consumption |
JP6183251B2 (ja) * | 2014-03-14 | 2017-08-23 | 株式会社デンソー | 電子制御装置 |
US9921763B1 (en) | 2015-06-25 | 2018-03-20 | Crossbar, Inc. | Multi-bank non-volatile memory apparatus with high-speed bus |
US10141034B1 (en) | 2015-06-25 | 2018-11-27 | Crossbar, Inc. | Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus |
US10222989B1 (en) * | 2015-06-25 | 2019-03-05 | Crossbar, Inc. | Multiple-bank memory device with status feedback for subsets of memory banks |
US10452399B2 (en) | 2015-09-19 | 2019-10-22 | Microsoft Technology Licensing, Llc | Broadcast channel architectures for block-based processors |
US11977891B2 (en) | 2015-09-19 | 2024-05-07 | Microsoft Technology Licensing, Llc | Implicit program order |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US10180840B2 (en) | 2015-09-19 | 2019-01-15 | Microsoft Technology Licensing, Llc | Dynamic generation of null instructions |
US11681531B2 (en) | 2015-09-19 | 2023-06-20 | Microsoft Technology Licensing, Llc | Generation and use of memory access instruction order encodings |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US10678544B2 (en) | 2015-09-19 | 2020-06-09 | Microsoft Technology Licensing, Llc | Initiating instruction block execution using a register access instruction |
US10776115B2 (en) | 2015-09-19 | 2020-09-15 | Microsoft Technology Licensing, Llc | Debug support for block-based processor |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US10719321B2 (en) | 2015-09-19 | 2020-07-21 | Microsoft Technology Licensing, Llc | Prefetching instruction blocks |
US10871967B2 (en) | 2015-09-19 | 2020-12-22 | Microsoft Technology Licensing, Llc | Register read/write ordering |
US10198263B2 (en) | 2015-09-19 | 2019-02-05 | Microsoft Technology Licensing, Llc | Write nullification |
US20170083318A1 (en) * | 2015-09-19 | 2017-03-23 | Microsoft Technology Licensing, Llc | Configuring modes of processor operation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0259937A (ja) * | 1988-08-26 | 1990-02-28 | Hitachi Maxell Ltd | Icカード |
JP2727976B2 (ja) * | 1994-09-12 | 1998-03-18 | 日本電気株式会社 | インサーキットエミュレータ |
US5964893A (en) * | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
DE69715346T2 (de) * | 1996-10-31 | 2003-06-05 | Stmicroelectronics Ltd., Almondsbury | Mikrorechner mit Fehlersuchsystem |
GB9626401D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
US6223275B1 (en) * | 1997-06-20 | 2001-04-24 | Sony Corporation | Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions |
JPH1165881A (ja) * | 1997-08-12 | 1999-03-09 | Fujitsu Ltd | Cpuの拡張割込み制御方式及びそのcpuで使用するデバッガ |
JPH11167501A (ja) * | 1997-12-04 | 1999-06-22 | Oki Tsushin System Kk | プログラムデバッグシステムとそのデバッグ方法 |
US6567910B2 (en) * | 1998-02-13 | 2003-05-20 | Texas Instruments Incorporated | Digital signal processing unit with emulation circuitry and debug interrupt enable register indicating serviceable time-critical interrupts during real-time emulation mode |
GB9805486D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Adapter |
JP3209191B2 (ja) * | 1998-10-16 | 2001-09-17 | 日本電気株式会社 | エミュレーティング装置および方法 |
KR20000038161A (ko) | 1998-12-04 | 2000-07-05 | 전주범 | 카 오디오 시스템의 문자 정보 표시방법 |
-
2000
- 2000-07-05 KR KR1020000038161A patent/KR100337149B1/ko active IP Right Grant
-
2001
- 2001-02-14 JP JP2001036649A patent/JP2002041326A/ja active Pending
- 2001-03-29 CN CNB011123141A patent/CN1185578C/zh not_active Expired - Fee Related
- 2001-04-18 TW TW090109224A patent/TW501007B/zh not_active IP Right Cessation
- 2001-04-26 US US09/841,875 patent/US6820192B2/en not_active Expired - Fee Related
- 2001-06-15 EP EP01305204A patent/EP1170668A3/en not_active Withdrawn
-
2002
- 2002-07-09 HK HK02105112.0A patent/HK1045377A1/zh unknown
-
2006
- 2006-02-02 JP JP2006026313A patent/JP2006127553A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100334561C (zh) * | 2003-07-30 | 2007-08-29 | 松下电器产业株式会社 | 程序调试装置、程序调试方法 |
CN102193860A (zh) * | 2010-03-10 | 2011-09-21 | 上海海尔集成电路有限公司 | 微控制器在线调试电路及方法、微控制器 |
CN102193860B (zh) * | 2010-03-10 | 2015-04-22 | 上海海尔集成电路有限公司 | 微控制器在线调试电路及方法、微控制器 |
CN103309786A (zh) * | 2012-03-09 | 2013-09-18 | 辉达公司 | 用于在非可抢占式图形处理单元上交互调试的方法和装置 |
CN103309786B (zh) * | 2012-03-09 | 2016-01-27 | 辉达公司 | 用于在非可抢占式图形处理单元上交互调试的方法和装置 |
CN103473153A (zh) * | 2012-06-05 | 2013-12-25 | 英飞凌科技股份有限公司 | 用于检测微控制器中的潜在故障的方法和系统 |
CN104302995A (zh) * | 2012-08-13 | 2015-01-21 | 米尔洛克科技公司 | 在冻干循环的冷冻过程中利用来自冷凝霜的压差冰晶分布的受控成核 |
CN104302995B (zh) * | 2012-08-13 | 2016-01-20 | 米尔洛克科技公司 | 在冻干循环的冷冻过程中利用来自冷凝霜的压差冰晶分布的受控成核的方法 |
CN106709860A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN106709860B (zh) * | 2016-12-12 | 2020-04-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
CN112463675A (zh) * | 2020-11-25 | 2021-03-09 | 上海磐启微电子有限公司 | 一种程序离线下载方法 |
CN113672554A (zh) * | 2021-07-06 | 2021-11-19 | 平头哥(杭州)半导体有限公司 | 处理器核、处理器、片上系统和调试系统 |
CN113672554B (zh) * | 2021-07-06 | 2023-12-29 | 平头哥(杭州)半导体有限公司 | 处理器核、处理器、片上系统和调试系统 |
CN117149478A (zh) * | 2023-06-14 | 2023-12-01 | 杭州迪为科技有限公司 | 汽车电子控制器的复位管理方法、装置和汽车电子控制器 |
CN117149478B (zh) * | 2023-06-14 | 2024-06-04 | 杭州迪为科技有限公司 | 汽车电子控制器的复位管理方法、装置和汽车电子控制器 |
CN116719746A (zh) * | 2023-07-26 | 2023-09-08 | 北京象帝先计算技术有限公司 | 调试方法、设备、待调试产品和计算机存储介质 |
CN116719746B (zh) * | 2023-07-26 | 2023-12-19 | 北京象帝先计算技术有限公司 | 调试方法、设备、待调试产品和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20020007451A1 (en) | 2002-01-17 |
US6820192B2 (en) | 2004-11-16 |
EP1170668A2 (en) | 2002-01-09 |
JP2002041326A (ja) | 2002-02-08 |
CN1185578C (zh) | 2005-01-19 |
KR20020004346A (ko) | 2002-01-16 |
KR100337149B1 (ko) | 2002-05-18 |
TW501007B (en) | 2002-09-01 |
EP1170668A3 (en) | 2004-12-15 |
JP2006127553A (ja) | 2006-05-18 |
HK1045377A1 (zh) | 2002-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1185578C (zh) | 易于测试和调试程序的中央处理单元 | |
US8046743B1 (en) | Method and system for remote software debugging | |
US7401257B2 (en) | Microcomputer and method for developing system program | |
US20050268195A1 (en) | Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems | |
KR100988157B1 (ko) | 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체 | |
MX2007005250A (es) | Programador flash que programa nand flash y nor/nand flash combinados. | |
US20090089572A1 (en) | Booting system, image forming apparatus having the system and control method thereof | |
CN109739769B (zh) | Bootrom加载功能自动化测试方法及装置 | |
CN1752946A (zh) | 一种嵌入式系统的调试方法及其系统 | |
US20050155028A1 (en) | System and method for increasing throughput of java program | |
CN116382991A (zh) | 一种存储设备测试方法、装置、计算机设备及存储介质 | |
EP0354654B1 (en) | Method and apparatus for marking emulation analysis states | |
CN114025032A (zh) | Ems与bms的传输协议方法、系统、设备及存储介质 | |
CN113672260A (zh) | 一种处理器cpu初始化方法 | |
US20060070039A1 (en) | Address watch breakpoints with basing pointers | |
CN1409502A (zh) | 一种带中央处理器通讯产品单板生产线测试的方法 | |
CN1427338A (zh) | 系统开机自我检查装置以及方法 | |
US20040177344A1 (en) | Debugging method for the keyboard controller code | |
CN109840172A (zh) | 一种基于SoC主控芯片的Nand闪存分析装置及方法 | |
CN113590499B (zh) | 血液分析仪及其数据处理方法、计算机存储介质 | |
CN115951939A (zh) | 一种嵌入式软件的Bootloader系统及升级方法 | |
CN110362436A (zh) | 提高Bootrom测试效率的方法及装置 | |
US9779012B1 (en) | Dynamic and global in-system debugger | |
JPH1083318A (ja) | 電子回路解析装置 | |
CN102508777A (zh) | 支持多种底层接口的在线仿真器装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050119 Termination date: 20130329 |