CN102193860B - 微控制器在线调试电路及方法、微控制器 - Google Patents
微控制器在线调试电路及方法、微控制器 Download PDFInfo
- Publication number
- CN102193860B CN102193860B CN201010123200.8A CN201010123200A CN102193860B CN 102193860 B CN102193860 B CN 102193860B CN 201010123200 A CN201010123200 A CN 201010123200A CN 102193860 B CN102193860 B CN 102193860B
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- break point
- signal generation
- generation unit
- point signal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 139
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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
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
本发明提供一种微控制器在线调试电路及方法、微控制器,其中,微控制器在线调试电路包括:接口协议模块,断点标志信号产生模块,包括程序断点信号产生单元;程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;所述断点信号产生单元还包括:至少一个第一断点信号产生单元,用于根据所述断点设置信息产生所述断点信号,所述断点设置信息为程序断点地址值之外的信息;所述断点标志信号产生模块还包括断点配置寄存器和断点组合逻辑模块。本发明增加了断点的种类,增强了断点的功能,有效地实现复杂程序的断点调试方法。
Description
技术领域
本发明涉及集成电路测试技术领域,特别涉及一种微控制器在线调试电路及方法、微控制器。
背景技术
微控制器是一种将CPU内核、片内存储器和多种外设功能模块集成的通用微控制器,随着电子技术的快速发展,微控制器的应用系统日趋复杂。微控制器应用系统的开发和调试有多种方法,其中一种为在线调试技术,是将调试功能模块直接集成到微控制器内部。调试器上位机只需通过很少的几个微控制引脚(通常为五根)即可在线对微控制器进行应用程序的开发与调试,使得开发和调试可以在实际的系统中进行,这样可以避免开发模拟环境与实际系统的差异性。
图1为现有技术微控制器在线调试电路的结构示意图,该在线调试电路集成在前述的微控制器内。如图1所示,该在线调试电路主要包括接口协议模块11、程序执行控制模块12、数据存储器/寄存器读写控制模块13、程序断点寄存器14、程序计数器15和第一比较器16。其中,程序断点寄存器14、程序计数器15和第一比较器16组成了断点标志信号产生模块24。在进行微控制器的调试时,接口协议模块11可以通过调试时钟线和调试数据线与上位机进行通讯,解释上位机发送的命令,产生调试控制信号,发送到程序执行控制模块12。程序执行控制模块12可以接收接口协议模块11发送的上位机的调试指令,并根据该调试指令控制程序的执行,实现包括全速运行、暂停运行、单步、步跃等控制、调试功能。接口协议模块11还可以根据上位机的调试指令控制数据存储器/寄存器读写控制模块13,以实现对片内存储器/寄存器的读/写控制,该读/写的数据可以通过数据读/写总线进行传输。上位机通过接口协议模块11将要设置的程序断点地址值写入程序断点寄存器14;程序计数器15中存储的值为下一条要执行的程序指令的地址。比较器16可以将程序断点寄存器14的值与程序计数器15的当前值进行比较,如果二者相等,表明该程序执行已经到达断点位置,即可输出断点标志信号。程序执行控制模块12可以根据该断点标志信号,控制程序在此位置处暂停,以执行后续程序调试命令。
以上方案虽然可以实现微控制器基本的调试功能,可以满足汇编程序的开发和调试。但是随着应用系统的复杂度的提高,微控制器的程序也日趋复杂,程序量不断提高;汇编语言的开发环境已远不能满足需求,C语言等高级语言在系统开发中被广为采用。由于微控制器只能运行汇编语言指令,因此就需要对使用C语言编写的程序进行编译,使之转变为汇编程序以支持微控制器执行。然而,一条C语言语句经过编译后往往对应几条甚至几十条汇编指令,且从C语言语句到汇编指令的编译不是固定的,它取决于编译器的编译算法和优化算法,从而使得C语言的一条语句对应到的汇编程序的程序地址也是不确定的,因此,上述现有技术方案中单一的程序地址断点实现方式,很难支持C语言程序的断点调试。
发明内容
本发明提供一种微控制器在线调试电路及方法、微控制器,用以解决现有技术中断点实现方法单一,不适应复杂程序的断点测试的缺点,实现可以精确控制复杂程序的断点调试。
本发明提供一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试指令,并根据所述调试指令产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;包括用于产生断点信号的断点信号产生单元,所述断点信号产生单元包括程序断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
所述断点信号产生单元还包括:至少一个第一断点信号产生单元,用于根据所述断点设置信息产生所述断点信号,所述断点设置信息为程序断点地址值之外的信息;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号。
本发明还提供一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;所述断点标志信号产生模块包括用于产生断点信号的断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
所述断点信号产生单元包括数据断点信号产生单元和标志断点信号产生单元;
所述数据断点信号产生单元,包括:
数据断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即数据断点匹配值;
数据读写总线,用于读写传输值;
第二比较器,分别与所述数据断点寄存器和数据读写总线连接,用于在所述数据断点匹配值与所述数据读写总线上的传输值相等时,输出数据断点信号;
所述标志断点信号产生单元,包括:
标志断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即状态标志匹配值;
状态寄存器,存储有状态标志值;
第三比较器,分别与所述标志断点寄存器和状态寄存器连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号。
本发明提供一种微控制器在线调试方法,包括:
接收调试数据,并根据所述调试数据产生断点设置信息;
根据所述断点设置信息产生至少一个断点信号,所述断点设置信息为所述程序断点地址值之外的信息,并根据所述至少一个断点信号得到断点标志信号;
根据所述断点标志信号控制在线调试断点的实现,完成在线调试。
本发明提供两种微控制器,该两种微控制器可以分别包括上述的两种微控制器在线调试电路。
本发明的微控制器在线调试电路及方法、微控制器,通过在原有的程序断点方式的基础上,增加数据断点和状态标志断点等方式,使得该电路增加了断点的种类,增强了断点的功能,相对于目前单一的程序断点方式的断点实现,可以更为有效地实现复杂程序的断点调试方法。
附图说明
为了更清楚地说明本发明的技术方案,下面将对或现有技术描述中所需要使用的附图作一简单地介绍。显而易见地,下面描述中的附图是本发明的一些,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术微控制器在线调试电路的结构示意图;
图2为本发明微控制器在线调试电路的结构示意图;
图3为本发明微控制器在线调试方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的主要技术方案为,在现有技术的微控制器在线调试电路的基础上,对断点标志信号产生模块进行了改进,增加了断点的种类,使得该模块中的用于产生断点信号的断点信号产生单元还可以包括至少一个第一断点信号产生单元,该第一断点信号产生单元可以根据程序断点地址值之外的断点设置信息产生断点信号,即其可以采用程序地址断点方式之外的方式进行断点的设置;从而相对于目前单一的程序断点方式的断点实现,可以更为有效地利用其他断点方式实现复杂程序的断点调试方法。
下面通过附图和具体实施例,对本发明的技术方案做进一步的详细描述。
图2为本发明微控制器在线调试电路实施例的结构示意图,如图2所示,本实施例的微控制器在线调试电路主要包括接口协议模块21、程序执行控制模块22、数据存储器/寄存器读写控制模块13和断点标志信号产生模块24。
其中,接口协议模块21可以通过调试时钟线和调试数据线与上位机进行通讯,接收调试数据,解释上位机发送的命令,产生调试控制信号发送至程序执行控制模块22;还可以设置相关调试寄存器,控制在线调试器的其他模块工作,并将上位机所需的数据信息通过串行协议发送给上位机。程序执行控制模块22可以根据该调试控制信号控制程序指令的执行,包括实现全速运行、暂停运行、单步、步跃等功能。数据存储器/寄存器读写控制模块13通过数据读/写总线与接口协议模块21连接,可以接收接口协议模块21发出的读/写数据存储器/寄存器命令,并通过数据读/写总线完成数据存储器/寄存器的读/写功能。断点标志信号产生模块24与接口协议模块21连接,可以接收接口协议模块21根据所述调试数据产生的断点设置信息,并根据所述断点设置信息产生断点标志信号。程序执行控制模块22可以根据该断点标志信号控制在线调试断点的实现,实现断点的功能。
本实施例的在线调试电路与现有技术的主要区别在于:现有技术中的断点标志信号产生模块24只包括程序断点信号产生单元,而本实施例的断点标志信号产生模块24可以包括其他的非程序地址断点方式的断点信号产生单元。例如,该断点标志信号产生模块24可以包括数据断点信号产生单元,该数据断点信号产生单元可以产生数据断点信号;或者,也可以包括标志断点信号产生单元,该标志断点信号产生单元可以产生标志断点信号。当采用高级语言编译的程序无法利用程序地址断点方式实现断点时,就可以根据数据断点信号,在设置的数据断点匹配值的位置进行断点;或者,也可以根据标志断点信号,在设置的状态标志匹配值的位置进行断点。从而使得断点的功能增强,可以采用多种方式较为灵活地实现程序的断点;且相对于目前单一的程序地址断点方式,能够更有效地进行高级语言程序的断点调试。
其中,在断点标志信号产生模块24中可以单独设置数据断点信号产生单元,也可以单独设置标志断点信号产生单元,或者,也可以同时设置上述两个断点信号产生单元。此外,数据断点信号产生单元和标志断点信号产生单元只是其中的两个例子,本领域技术人员可以理解,在实际的程序调试中,可以根据用户的需要以及所要调试的实际程序,灵活地设置各种断点种类;基于多种高级语言类型及各种微控制器的组合,可以根据实际情况设置多种组合逻辑方式以及断点实现方式,在此不再赘述。
断点标志信号产生模块24也可以在现有的程序断点信号产生单元的基础上,增加多个其他断点种类的第一断点信号产生单元,该第一断点信号产生单元的增加可以使得断点的设置更加灵活。
本实施例以图2所示的微控制器在线调试电路为例,对其中的一种可行的结构进行说明。如图2所示,该在线调试电路的断点标志信号产生模块24可以包括断点信号产生单元和断点信号组合单元。断点信号产生单元中可以包括程序断点信号产生单元、数据断点信号产生单元和标志断点信号产生单元。程序断点信号产生单元用于产生程序断点信号,数据断点信号产生单元用于产生数据断点信号,标志断点信号产生单元用于产生标志断点信号。断点信号组合单元可以包括断点配置寄存器31和断点组合逻辑模块32,该断点配置寄存器31与接口协议模块21连接,可以从接口协议模块21接收断点设置信息即逻辑组合的方式,例如与或非等方式;断点组合逻辑模块32可以根据断点配置寄存器31设置的逻辑组合的方式对断点信号产生单元产生的多个断点信号进行逻辑组合得到断点标志信号。
其中,程序断点信号产生单元可以包括程序断点寄存器14、程序计数器15和第一比较器16。程序断点寄存器14为与程序计数器位数相等的一组或多组寄存器,其与接口协议模块21连接,上位机可以通过接口协议模块21,将要设置的断点设置信息即程序断点地址值写入程序断点寄存器14。程序计数器15中存储有下一条将要执行的程序指令地址值;第一比较器16分别与程序断点寄存器14和程序计数器15连接,可以用于对程序断点寄存器14中存储的程序断点地址值与程序计数器15中存储的程序指令地址值进行比较,在二者相等时,输出程序断点信号。
进一步的,该程序断点信号产生单元还可以包括程序断点计数器36。该程序断点计数器36可以分别与第一比较器16和断点配置寄存器31连接。此时,第一比较器16在程序断点地址值与程序指令地址值相等时,可以输出程序断点匹配标志,表示出现了一次匹配事件。程序断点计数器36可以对该匹配事件进行计数。此时,断点配置寄存器31可以设置各种断点的断点匹配次数,上位机可以通过接口协议模块21对其进行设置;程序断点计数器36可以在所述计数值等于所述断点匹配次数时,输出程序断点信号。
数据断点信号产生单元可以包括数据断点寄存器37、数据读写总线和第二比较器38。数据断点寄存器37为与读/写数据总线位数相等的一组或多组寄存器,其与接口协议模块21连接,上位机可以通过接口协议模块21,将要设置的断点设置信息即数据断点匹配值写入数据断点寄存器37。第二比较器38分别与数据断点寄存器37和数据读写总线连接,可以用于在所述输出数据断点信号。
进一步的,该数据断点信号产生单元还包括数据断点计数器39。该数据断点计数器39可以分别与第二比较器38和断点配置寄存器31连接。当指定的数据存储器/寄存器通过数据总线发生读/写事件时,第二比较器38在数据断点匹配值与所述数据读写总线上的传输值即向数据存储器/寄存器中读写的数据相等时,可以输出数据断点匹配标志,表示出现了一次匹配事件;数据断点计数器39可以对该匹配事件进行计数,并在计数值等于断点配置寄存器31设置的断点匹配次数时,输出数据断点信号。
标志断点信号产生单元可以包括标志断点寄存器40、状态寄存器41和第三比较器42。标志断点寄存器40用于存储状态标志的匹配值,与接口协议模块21连接,上位机可以通过接口协议模块21,将要设置的断点设置信息即状态标志匹配值写入标志断点寄存器40。状态寄存器42中存储有状态标志值。第三比较器42可以分别与标志断点寄存器40和状态寄存器41连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号。
进一步的,该标志断点信号产生单元还可以包括标志断点计数器43。该标志断点计数器43可以分别与第三比较器42和断点配置寄存器31连接。此时,第三比较器42在状态标志匹配值与所述状态标志值相等时,可以输出标志断点匹配标志,表示出现了一次匹配事件。标志断点计数器43可以用于对该匹配事件进行计数,并在计数值等于断点配置寄存器31设置的断点匹配次数时,输出标志断点信号。
断点组合逻辑模块32可以和上述的程序断点计数器36、数据断点计数器39和标志断点计数器43连接,根据断点配置寄存器31的相关设置,将其产生的程序断点信号、数据断点信号和标志断点信号进行逻辑组合得到总的断点标志信号。程序执行控制模块22在全速运行时,就可以通过判断此信号实现各种断点功能。
具体的,由于用户对其所调试的程序的结构是可预知的,因此,用于可以根据其实际需要以及已知的程序结构,具体设定断点的条件。例如,用户想在A指令执行100次时,且该指令中包括的数据匹配值等于a时,在该指令地址处进行断点,则其可以设置程序断点计数器的匹配次数为100,并将数据断点匹配值设置为a,二者之间进行逻辑与组合,即可得到表示上述断点条件的断点标志信号。再如,用户想在B指令中的状态标志为b时进行断点,则其可以单独采用标志断点方式,将标志断点寄存器中的状态标志匹配值设置为b即可。以上只是举例说明,本领域技术人员可以理解,实际使用中,还可以灵活的进行各种断点种类的设置。由于本实施例的断点标志信号产生模块中设置了多种类的断点信号产生单元,因此,用户可以根据实际需要采用灵活地断点设置方式,较为方便。
本实施例的微控制器在线调试电路,通过设置数据读/写匹配的断点和状态标志匹配的断点等方式,使得该电路增加了断点的种类,增强了断点的功能和调试器对微处理器运行情况的实时监控能力,相对于目前单一的程序断点方式的断点实现,可以更为有效地实现复杂程序的断点调试方法。
图3为本发明微控制器在线调试方法实施例的流程示意图,如图3所示,该在线调试方法简写如下,其具体步骤可以结合参见上述微控制器在线调试电路实施例。该方法可以包括:
步骤401、接收调试数据,并根据所述调试数据产生断点设置信息;
可以通过接口协议模块接收调试数据,解释上位机发送的命令,并根据所述调试数据产生断点设置信息。
步骤402、根据断点设置信息产生至少一个断点信号,所述断点设置信息为所述程序断点地址值之外的信息;
具体的,断点设置信息可以包括数据断点匹配值。该步骤中的根据断点设置信息产生断点信号,可以包括:在所述数据断点匹配值与数据读写总线上的传输值相等时,输出数据断点信号。
进一步的,断点设置信息还可以包括状态标志匹配值。其中的根据断点设置信息产生断点信号,还可以包括:在所述状态标志匹配值与状态寄存器中存储的状态标志值相等时,输出标志断点信号。
所述断点设置信息还可以包括程序断点地址值;其中的根据断点设置信息产生断点信号,还可以包括:在所述程序断点地址值与程序计数器中存储的程序指令地址值相等时,输出程序断点信号。
步骤403、根据所述至少一个断点信号得到断点标志信号;
进一步的,当所述断点信号的数量为至少两个时,还可以包括:对至少两个所述断点信号进行逻辑组合,得到断点标志信号。
此外,对至少两个所述断点信号进行逻辑组合之前,还可以包括:对断点信号产生单元在满足匹配条件时输出的断点匹配标志进行计数,并在计数值等于断点配置寄存器设置的断点匹配次数时,输出至少两个所述断点信号。
具体的,在所述程序断点地址值与程序指令地址值相等时,输出程序断点匹配标志;在所述数据断点匹配值与数据读写总线上的传输值相等时,输出数据断点匹配标志;在所述状态标志匹配值与状态寄存器中存储的状态标志值相等时,输出标志断点匹配标志;对所述程序断点匹配标志、数据断点匹配标志和标志断点匹配标志分别进行计数;在计数值与断点配置寄存器设置的断点匹配次数相等时,分别对应输出程序断点信号、数据断点信号和标志断点信号。
步骤404、根据所述断点标志信号控制在线调试断点的实现,完成在线调试。
本实施例的微控制器在线调试方法,通过设置数据断点和状态标志断点等方式,使得该电路增加了断点的种类,增强了断点的功能,相对于目前单一的程序断点方式的断点实现,可以更为有效地实现复杂程序的断点调试方法。
本发明实施例提供了一种微控制器,该微控制器中的在线调试电路可以包括程序断点信号产生单元和至少一个第一断点信号产生单元、断点配置寄存器和断点组合逻辑模块。该第一断点信号产生单元可以为数据断点信号产生单元或标志断点信号产生单元。
本发明实施例还提供了一种微控制器,该微控制器中的在线调试电路可以包括数据断点信号产生单元、标志断点信号产生单元、断点配置寄存器和断点组合逻辑模块。
具体的结构可以参见上述实施例所述的微控制器在线调试电路,在此不再赘述。其中,在该微控制器中,例如,程序计数器、状态寄存器等可以为设置在CPU内部的模块,程序断点寄存器、程序断点计数器和断点配置寄存器等可以为设置在微控制器内部、CPU外部的模块,该模块之间相连接组成图示的功能独立的调试电路。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;包括用于产生断点信号的断点信号产生单元,所述断点信号产生单元包括程序断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
其特征在于,所述断点信号产生单元还包括:至少一个第一断点信号产生单元,用于根据所述断点设置信息产生所述断点信号,所述断点设置信息为程序断点地址值之外的信息;所述断点设置信息包括数据断点匹配值或者状态标志匹配值;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号;
当所述断点设置信息为数据断点匹配值时,所述第一断点信号产生单元为数据断点信号产生单元,包括:
数据断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即数据断点匹配值;
数据读写总线,用于读写传输值;
第二比较器,分别与所述数据断点寄存器和数据读写总线连接,用于在所述数据断点匹配值与所述数据读写总线上的传输值相等时,输出数据断点信号;
当所述断点设置信息为状态标志匹配值时,所述第一断点信号产生单元为标志断点信号产生单元,包括:
标志断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即状态标志匹配值;
状态寄存器,存储有状态标志值;
第三比较器,分别与所述标志断点寄存器和状态寄存器连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号。
2.根据权利要求1所述的微控制器在线调试电路,其特征在于,所述断点配置寄存器,还用于设置断点匹配次数;
所述断点标志信号产生模块,还包括计数器,所述计数器分别与所述断点信号产生单元、断点配置寄存器和断点组合逻辑模块连接,用于对所述断点信号产生单元在满足匹配条件时输出的断点匹配标志进行计数,并在计数值等于所述断点匹配次数时,输出断点信号至所述断点组合逻辑模块。
3.一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;所述断点标志信号产生模块包括用于产生断点信号的断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
其特征在于,所述断点信号产生单元包括数据断点信号产生单元和标志断点信号产生单元;
所述数据断点信号产生单元,包括:
数据断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即数据断点匹配值;
数据读写总线,用于读写传输值;
第二比较器,分别与所述数据断点寄存器和数据读写总线连接,用于在所述数据断点匹配值与所述数据读写总线上的传输值相等时,输出数据断点信号;
所述标志断点信号产生单元,包括:
标志断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即状态标志匹配值;
状态寄存器,存储有状态标志值;
第三比较器,分别与所述标志断点寄存器和状态寄存器连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号。
4.根据权利要求3所述的微控制器在线调试电路,其特征在于,所述断点配置寄存器,还用于设置断点匹配次数;
所述断点标志信号产生模块,还包括计数器,所述计数器分别与所述断点信号产生单元、断点配置寄存器和断点组合逻辑模块连接,用于对所述断点信号产生单元在满足匹配条件时输出的断点匹配标志进行计数,并在计数值等于所述断点匹配次数时,输出断点信号至所述断点组合逻辑模块。
5.一种微控制器在线调试方法,其特征在于,包括:
接收调试数据,并根据所述调试数据产生断点设置信息;
根据所述断点设置信息产生至少一个断点信号,所述断点设置信息为程序断点地址值之外的信息,并根据所述至少一个断点信号得到断点标志信号;所述断点设置信息包括数据断点匹配值或者状态标志匹配值;
根据所述断点标志信号控制在线调试断点的实现,完成在线调试;
当所述断点设置信息为数据断点匹配值时,在所述数据断点匹配值与数据读写总线上的传输值相等时,输出数据断点信号;
当所述断点设置信息为状态标志匹配值时,在所述状态标志匹配值与状态寄存器中存储的状态标志值相等时,输出标志断点信号;
并且当所述断点信号的数量为至少两个时,对至少两个所述断点信号进行逻辑组合,得到断点标志信号。
6.根据权利要求5所述的微控制器在线调试方法,其特征在于,当所述断点设置信息包括数据断点匹配值时;所述根据所述断点设置信息产生至少一个断点信号,包括:
在所述数据断点匹配值与数据读写总线上的传输值相等时,输出数据断点信号。
7.根据权利要求5或6所述的微控制器在线调试方法,其特征在于,当所述断点设置信息还包括状态标志匹配值时;所述根据所述断点设置信息产生至少一个断点信号,包括:
在所述状态标志匹配值与状态寄存器中存储的状态标志值相等时,输出标志断点信号。
8.根据权利要求7所述的微控制器在线调试方法,其特征在于,所述断点设置信息还包括程序断点地址值;所述根据所述断点设置信息产生至少一个断点信号,包括:
在所述程序断点地址值与程序计数器中存储的程序指令地址值相等时,输出程序断点信号。
9.根据权利要求5所述的微控制器在线调试方法,其特征在于,当所述断点信号的数量为至少两个时,还包括:
对至少两个所述断点信号进行逻辑组合,得到断点标志信号。
10.根据权利要求9所述的微控制器在线调试方法,其特征在于,所述对至少两个所述断点信号进行逻辑组合之前,还包括:
对断点信号产生单元在满足匹配条件时输出的断点匹配标志进行计数,并在计数值等于断点配置寄存器设置的断点匹配次数时,输出至少两个所述断点信号。
11.一种微控制器,包括微控制器在线调试电路,其特征在于,所述微控制器在线调试电路包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;包括用于产生断点信号的断点信号产生单元,所述断点信号产生单元包括程序断点信号产生单元;
其特征在于,所述断点信号产生单元还包括:至少一个第一断点信号产生单元,用于根据所述断点设置信息产生所述断点信号,所述断点设置信息为程序断点地址值之外的信息;所述断点设置信息包括数据断点匹配值或者状态标志匹配值;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号;
当所述断点设置信息为数据断点匹配值时,所述第一断点信号产生单元为数据断点信号产生单元,包括:
数据断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即数据断点匹配值;
数据读写总线,用于读写传输值;
第二比较器,分别与所述数据断点寄存器和数据读写总线连接,用于在所述数据断点匹配值与所述数据读写总线上的传输值相等时,输出数据断点信号;
当所述断点设置信息为状态标志匹配值时,所述第一断点信号产生单元为标志断点信号产生单元,包括:
标志断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即状态标志匹配值;
状态寄存器,存储有状态标志值;
第三比较器,分别与所述标志断点寄存器和状态寄存器连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号。
12.根据权利要求11所述的微控制器,其特征在于,所述断点配置寄存器,还用于设置断点匹配次数;
所述断点标志信号产生模块,还包括计数器,所述计数器分别与所述断点信号产生单元、断点配置寄存器和断点组合逻辑模块连接,用于对所述断点信号产生单元产生的断点信号进行计数,并在计数值等于所述断点匹配次数时,输出断点信号至所述断点组合逻辑模块。
13.一种微控制器,包括微控制器在线调试电路,其特征在于,所述微控制器在线调试电路包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;所述断点标志信号产生模块包括用于产生断点信号的断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
所述断点信号产生单元包括数据断点信号产生单元和标志断点信号产生单元;
所述数据断点信号产生单元,包括:
数据断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即数据断点匹配值;
数据读写总线,用于读写传输值;
第二比较器,分别与所述数据断点寄存器和数据读写总线连接,用于在所述数据断点匹配值与所述数据读写总线上的传输值相等时,输出数据断点信号;
所述标志断点信号产生单元,包括:
标志断点寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即状态标志匹配值;
状态寄存器,存储有状态标志值;
第三比较器,分别与所述标志断点寄存器和状态寄存器连接,用于在所述状态标志匹配值与所述状态标志值相等时,输出标志断点信号;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号。
14.根据权利要求13所述的微控制器,其特征在于,所述断点配置寄存器,还用于设置断点匹配次数;
所述断点标志信号产生模块,还包括计数器,所述计数器分别与所述断点信号产生单元、断点配置寄存器和断点组合逻辑模块连接,用于对所述断点信号产生单元在满足匹配条件时输出的断点匹配标志进行计数,并在计数值等于所述断点匹配次数时,输出断点信号至所述断点组合逻辑模块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010123200.8A CN102193860B (zh) | 2010-03-10 | 2010-03-10 | 微控制器在线调试电路及方法、微控制器 |
PCT/CN2010/074120 WO2011109971A1 (zh) | 2010-03-10 | 2010-06-21 | 微控制器在线调试电路及方法、微控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010123200.8A CN102193860B (zh) | 2010-03-10 | 2010-03-10 | 微控制器在线调试电路及方法、微控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102193860A CN102193860A (zh) | 2011-09-21 |
CN102193860B true CN102193860B (zh) | 2015-04-22 |
Family
ID=44562809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010123200.8A Active CN102193860B (zh) | 2010-03-10 | 2010-03-10 | 微控制器在线调试电路及方法、微控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102193860B (zh) |
WO (1) | WO2011109971A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662847B (zh) * | 2012-04-23 | 2015-01-21 | 中颖电子股份有限公司 | 基于闪存应用的嵌入式系统的程序调试系统及方法 |
US9419621B1 (en) | 2015-09-18 | 2016-08-16 | Freescale Semiconductor, Inc. | System on chip and method of operating a system on chip |
CN107305526B (zh) * | 2016-04-22 | 2023-04-11 | 深圳市博巨兴微电子科技有限公司 | 一种用于微控制器的调试器 |
CN107168867A (zh) * | 2017-03-22 | 2017-09-15 | 深圳市博巨兴实业发展有限公司 | 一种实现微控制器芯片的用户debug模式的方法 |
CN112540288B (zh) * | 2020-11-30 | 2023-02-21 | 海光信息技术股份有限公司 | 用于硅后芯片验证的方法、系统、设备以及存储介质 |
TWI854414B (zh) * | 2022-12-27 | 2024-09-01 | 瑞昱半導體股份有限公司 | 用來進行晶片內部的除錯控制的設備以及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1332409A (zh) * | 2000-07-05 | 2002-01-23 | 先进数字芯片股份有限公司 | 易于测试和调试程序的中央处理单元 |
CN101142560A (zh) * | 2005-01-28 | 2008-03-12 | Nxp股份有限公司 | 调试装置和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100369010C (zh) * | 2005-04-01 | 2008-02-13 | 北京同方微电子有限公司 | 一种用于智能卡仿真调试系统的硬件断点电路 |
US8010774B2 (en) * | 2006-03-13 | 2011-08-30 | Arm Limited | Breakpointing on register access events or I/O port access events |
CN101458652B (zh) * | 2007-12-14 | 2012-01-25 | 上海海尔集成电路有限公司 | 微控制器嵌入式在线仿真调试系统 |
-
2010
- 2010-03-10 CN CN201010123200.8A patent/CN102193860B/zh active Active
- 2010-06-21 WO PCT/CN2010/074120 patent/WO2011109971A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1332409A (zh) * | 2000-07-05 | 2002-01-23 | 先进数字芯片股份有限公司 | 易于测试和调试程序的中央处理单元 |
CN101142560A (zh) * | 2005-01-28 | 2008-03-12 | Nxp股份有限公司 | 调试装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102193860A (zh) | 2011-09-21 |
WO2011109971A1 (zh) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7225357B2 (en) | SDIO card development system | |
CN102193860B (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN102662835B (zh) | 一种针对嵌入式系统的程序调试方法及嵌入式系统 | |
CN107907814B (zh) | 一种提高芯片量产测试效率的方法 | |
CN108519889B (zh) | 一种基于jtag标准的fpga程序远程升级系统及方法 | |
CN111045964B (zh) | 一种基于pcie接口高速传输方法、存储介质及终端 | |
CN102623069B (zh) | 随机激励闪存模型验证方法 | |
CN102073480B (zh) | 基于时分复用实现多核处理器内核模拟的方法 | |
CN101206614B (zh) | 仿真特殊功能寄存器的仿真器 | |
CN100487668C (zh) | 一种嵌入式处理器的调试方法 | |
CN113157508A (zh) | 嵌入式系统的测试方法、系统、装置、设备及存储介质 | |
CN110457217A (zh) | 一种跨平台的mcu调试装置 | |
CN102096725A (zh) | 一种基于fpga的仿真器 | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
US9117018B2 (en) | Method of debugging software and corresponding computer program product | |
CN118277176A (zh) | 处理器可靠性测试方法、装置、计算机设备和存储介质 | |
CN112599179B (zh) | 一种并行的flash寿命测试装置 | |
CN102467446A (zh) | 可设置程序指针值的处理器芯片仿真器 | |
CN117172018A (zh) | 一种适用于多种内核的单片机在线调试系统 | |
CN103207824B (zh) | 监控模式下不受复位干扰的仿真器 | |
CN104461796B (zh) | 用于嵌入式8051cpu的jtag调试模块及调试方法 | |
CN101329650A (zh) | 智能卡仿真器 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
CN100485637C (zh) | 一种基于嵌入式应用系统实现硬件寄存器的方法 | |
CN117407301A (zh) | Fpga软核的程序调试方法、验证方法、系统、计算机设备及存储介质 |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 200030, 15 floor, Xuhui yuan building, 1089 south two road, Shanghai, Zhongshan Patentee after: SHANGHAI EASTSOFT MICROELECTRONICS CO., LTD. Address before: 200030, 15 floor, Xuhui yuan building, 1089 south two road, Shanghai, Zhongshan Patentee before: Shanghai Hair Group Integated Circuit Co., Ltd. |