微控制器芯片及其调试方法

文档序号:6613451阅读:238来源:国知局
专利名称:微控制器芯片及其调试方法
技术领域
本发明涉及一种微控制器芯片及其调试方法,尤其涉及一种基于联合测
试行动小组(Joint Test Action Gro叩,以下简称JTAG )协议进行调试的 微控制器芯片及其调试方法,属于集成电路测试技术领域。
背景技术
20世纪80年代以来,随着计算机嵌入式系统的广泛应用,微控制器 (Microcontroller Unit,以下简称MCU),也称单片机得到了飞速的发展。 早期的单片机是按照嵌入式应用技术要求设计的计算机的单芯片化集成电路 器件,也就是电子计算机的全部特性器件都集成到一片芯片上,故被形象的 称为单片机。随着单片机应用范围的不断加大,对于其仿真芯片调试功能的 要求也逐渐^:高。
目前单片机厂家大都提供自己的仿真芯片,其芯片仿真器多为外置,大
产生外部电路所需要的信号,同时捕获外部的所有信号,提供源代码级调试 及处理器运行控制等功能,通过它可以启动和停止目标系统,查阅和修改寄 存器和存储器,在需要控制或查看内部处理器运行的地方设置断点,但是随 着处理器的性能和复杂性的飞速发展,这种方式的仿真调试系统提供的时间 严重滞后于芯片本身的生命周期,而且价格昂贵,可扩展性差,没有完善的 触发和高速定时或模拟分析功能,对芯片内部更深层次的时序和内部动态运 行监控能力差;2、为克服第一种方式的缺陷,目前所采用的另一种方式是将 仿真的一部分功能集成到芯片内部,另一部分通过外置的在线仿真调试系统进行操控完成,这种方式主要适用于那些具有调试模块和调试接口 ,例如JTAG 调试端口和相应的调试模块的CPU处理器,目前部分高速嵌入式处理器设有 JTAG调试接口 ,仿真器通过调试接口向调试模块输入数据以控制CPU的运行, 但实际运行还是要CPU自身来完成,因此要求在目标板能够调试之前,必须 保证CPU,晶振及内存等部件正常运行,但是目前这种在线仿真调试系统存 在的问题是大多不支持实时跟踪和处理微控制器内部总线的代码流,导致中 央处理器在调试过程中发生异常现象的概率增加。

发明内容
本发明的目的是提供一种微控制器芯片及其调试方法,以实现微控制器 芯片在调试过程中具有内部总线代码流的实时跟踪和处理功能,使调试过程 更加灵活,可以提供更多调试过程信息以便合理设计调试策略,提高调试效 率,同时能够减少调试过程中的异常现象。
为实现上述目的,提供了一种微控制器芯片,包括彼此相连的中央处理 器、调试模块和调试接口,该调试模块包括用于执行调试操作的调试处理单 元,该调试处理单元分别与中央处理器和调试接口相连,该调试模块中还包 括跟踪单元,与中央处理器和调试处理单元分别相连,用于在调试过程中 监测到产生跟踪触发条件时,记录与跟踪触发条件对应的地址信息。
为实现上述目的,还提供了一种微控制器芯片调试方法,包括在调试
过程中,当监测到产生跟踪触发条件时,记录与跟踪触发条件对应的地址信 自
由以上技术方案可知,本发明采用在微控制器芯片的调试模块内部增加 跟踪单元,在调试过程中,记录相关地址信息的技术手段,克服了现有微控 制器芯片在调试过程中不支持实时跟踪微控制器内部代码流的技术问题,本 发明的微控制器芯片及其调试方法支持微控制器内部代码流的实时跟踪和处 理功能,可在微控制器不停止工作的情况下对调试过程的历史数据进行记录以供查询,能够根据调试过程中的历史记录设计调试策略,使调试功能的实 现更加灵活、可靠。
下面通过具体实施例并结合附图对本发明做进一步的详细描述。


图1为本发明翁b控制器芯片具体实施例一的结构示意图; 图2为本发明微控制器芯片具体实施例二的结构示意图; 图3为本发明微控制器芯片具体实施例三的结构示意图; 图4为本发明微控制器芯片具体实施例三中一种调试过程端口信号的时序图。
具体实施例方式
微控制器芯片实施例一
如图1所示为本发明微控制器芯片具体实施例一的结构示意图,该微控 制器芯片100包括彼此相连的中央处理器1、调试模块2和作为调试接口的 JTAG接口 3,该调试模块2中具体包括调试处理单元21,分别与中央处理器 1和JTAG接口 3相连,用于从JTAG接口 3获取调试相关的指令和数据,进 行处理后传输给中央处理器1以执行调试操作,调试模块2中还包括跟踪单 元20,与中央处理器1和调试处理单元21分别相连,用于在该微控制器芯 片IOO进行调试的过程中,当监测到中央处理器1中产生跟踪触发条件时, 记录与跟踪触发条件对应的地址信息。
本实施例的微控制器芯片在调试模块中增加了跟踪单元,在调试模块控 制中央处理器进行调试的过程中,当中央处理器执行指令时被监测到产生跟 踪触发条件时,跟踪单元就会记录相应的地址信息,这些地址信息可以记录
断返回、无条件跳转、条件跳转、调用或子程序返回等指令,记录的地址信
7息与跟踪触发条件相对应,例如当产生中断指令时,记录的地址信息是中 断指令和中断服务程序的地址;当产生中断返回指令时,记录的地址信息是 返回地址信息;当产生跳转指令时,记录的地址信息是跳转目的点的地址信 息;当产生调用指令时,记录的地址信息是调用点的地址信息;当产生子程 序返回指令时,记录的地址信息是子程序返回点的地址信息。所记录的地址 信息并不限于地址,还可以为与调试过程相关的,需要记录的其他数据。
采用本实施例的技术方案,在需要时,调试处理单元或者中央处理器可 以实时地,在微控制器的运行不停止的情况下在跟踪单元中记录调试过程的 相关数据以供查询,跟踪并处理微控制器内部的代码流,该微控制器芯片可 支持调试过程中内部代码流的跟踪、处理功能,可适用于更灵活的调试技术。
微控制器芯片具体实施例二
如图2所示为本发明微控制器芯片具体实施例二的结构示意图,本实施 例的微控制器芯片100包括中央处理器1、调试模块2和JTAG接口 3,以及 设置在调试模块2中的调试处理单元21和跟踪单元20,该跟踪单元20的具 体结构包括緩冲区202,用于存储地址信息,该緩沖区202与调试处理单 元21相连;类型寄存器203,用于记录各跟踪触发条件对应所需记录的地址 信息类型;状态寄存器204,用于配置存储緩冲区202的状态参数;指针寄 存器205,用于记录緩冲区202的待存储地址;控制寄存器206,用于在产生 各跟踪触发条件时,使能控制地址信息的记录操作;控制电路201,用于在 调试过程中监测到中央处理器1中产生跟踪触发条件时,根据控制寄存器206 对应跟踪触发条件的使能控制和类型寄存器203记录的地址信息类型,从中 央处理器1中读取地址信息,并根据状态寄存器204配置的緩冲区202的状 态参数和指针寄存器205记录的緩冲区202待存储地址,将该地址信息记录 至緩沖区202,该控制电路201与中央处理器1、緩沖区202、类型寄存器203、 状态寄存器204、指针寄存器205和控制寄存器2G6相连接。
本实施例中的控制寄存器206具体为在产生某个跟踪触发条件时,通过 其预先设定的使能控制值,控制是否执行相关的地址信息的记录操作,例如,
8产生中断指令时,控制是否对应记录中断指令和中断服务程序的地址信息, 对应哪些指令需要记录地址信息可以根据具体情况通过设置控制寄存器来设
定;控制寄存器206还可以通过开始/停止位控制跟踪单元20的开始、停止 及初始化状态,即停止或开始对所有地址信息的记录操作;控制寄存器206 也可进一步控制当緩冲区202溢出时控制电路201是否执行记录操作的状态, 例如当缓冲区202溢出时可选择停止或继续工作的状态,当选择继续工作时, 緩沖区2 02的内容可被覆盖。
本实施例中类型寄存器203所记录的是在跟踪触发条件产生时,緩沖区 202内需要记录的地址类型,例如前面所述的产生中断指令,则应记录的地 址信息类型是中断指令和中断服务程序的地址。另外地址信息数据的类型可 以分为16位和8位的,多数情况下,8位地址信息数据即可满足程序的正常 工作,而仅记录较少位数的地址信息数据可以提高微控制器芯片在调试状态 下的工作效率。
本实施例中状态寄存器204通过配置相关位的数值定义了緩冲区202的 当前状态,緩沖区202的状态可以包括是否使能、是否为空、是否溢出等。 状态寄存器204还配置了緩冲区202存储空间的大小,通过设置状态寄存器 204相关位的数值可将緩沖区202的存储空间配置为512字节、256字节、128 字节或64字节等。
本实施例中指针寄存器205,可以为16位的寄存器,其存储的信息是緩 冲区202中或RAM中待存储下一个数据的地址,可以为一个指针,当緩沖区 202不满时,指针寄存器205中的存储的地址指向緩冲区202中第一个未存 储数据的地址,此时的有效存储数据是从緩冲区202的第一个存储单元到指 针寄存器205中地址减一的地址指向的存储单元,当緩沖区202溢出时,緩 冲区202内的数据全部为有效数据,指针寄存器205中的地址又循环成为緩 冲区202的起始地址。
本实施例中的控制电路201,实际上为跟踪单元20的核心部件,控制电 路201根据各寄存器中的状态值,完成跟踪触发条件的监测、地址信息的读取、向緩冲区的写入等操作。
本实施例中的緩冲区202,进一步的与调试处理单元21相连,调试处理 单元21可以从緩冲区202中读取地址信息,从调试接口 3传输出去以供查询。 緩冲区202中所存储的地址信息,并不限于由调试处理单元/人调试接口向外 输出的一种方式,还可以采用其他方式读取以供查询。
采用本实施例的技术方案,可以在微控制器不停止调试工作的过程中, 实时地查看调试过程的历史数据,跟踪并处理微控制器内部的代码流,并且 能够根据具体情况相应的控制跟踪单元的使能状态、控制緩沖区的记录操作, 则使实时跟踪功能的实现更加灵活。
微控制器芯片实施例三
如图3所示为本发明微控制器芯片具体实施例三的结构示意图,本实施 例可以是在上述实施例一或实施例二的基础上对JTAG接口 3,即测试接口的 扩展,可增加测试就绪(Test Ready,以下简称TRDY)端口 31。本实施例的 微控制器芯片100可执行标准的JTAG协议(参见IEEE standard 1),
外部的调试软件可通过JTAG接口 3与调试模块2和微控制器1实现通信,使 用测试存取端口 (Test Access Port,以下简称TAP)扩展命令执行在线调 试,其中JTAG接口 3使用的TAP命令可包括进入/退出调试模式、访问调 试指令寄存器、访问调试地址寄存器、访问调试数据寄存器和执行调试指令 等。
具体应用中,可执行JTAG协议的调试模块的具体结构可以有多种形式, 例如可以包括调试控制寄存器、调试状态寄存器、数个断点控制寄存器和 数个断点地址寄存器等。本实施例中,执行调试功能的各部件可集成在调试 处理单元21中,调试处理单元21与JTAG接口 3的端口相连,接收数据和指 令,进行相关的调试操作处理。
标准JTAG接口 3可配置以下端口测试时钟(Test Clock,以下简称 TCK)端口 32,用于为调试模块提供时钟;测试模式选择(Test Mode Select, 以下简称TMS)端口 33,用于进行测试模式选择;测试输入数据(Test DataI叩ut,以下简称TDI )端口 34,用于通过该端口按照TCK所提供时钟信号移 位输入TAP指令或数据;测试输出数据(Test Data Input,以下简称TD0) 端口 35,用于通过该端口按照TCK所提供时钟信号移位输出TAP状态和数据; 测试复位(Test Reset,以下简称TRST)端口 36,用于复位调试寄存器和 TAP端口控制器。在上述标准端口的基础上,本实施例中又增加了 TRDY端口 31,与调试处理单元21相连,用于标识调试处理单元21接收指令或数据的 状态,即在进入调试才莫式后,TRDY端口 31置位操作,标识调试处理单元内 部对接收调试指令或数据已准备就绪,此时可输入指令或数据。
本实施例具体执行的操作过程为当微控制器进入调试模式后,TRDY端 口 31被置高电平,标识芯片内部已准备好接收外部输入进来的指令,在调试 模式下,当微控制器正在处理调试命令时,TRDY端口 31将置低电平,此时 调试处理单元21不能接收外部TAP命令;当进入调试模式且TRDY端口 31置 高后,外部软件通过TAP端口先将调试命令写入调试处理单元21,然后输入 执行调试指令命令,调试命令执行中所需的数据均通过JTAG接口 3完成输入 和输出。如图4所示为一典型的调试过程端口信号时序图,其中第一行为TCK 端口、 TMS端口和TDI端口的信号,BEGI汇DM为进入调试模式命令, ACCESS-DADR为访问调试地址寄存器命令,ACCESS—DIR为访问调试指令寄存 器命令,EXECUTE—DIR为执行调试指令寄存器中指令的命令,ACCESS—DDAT访 问调试数据寄存器命令,END-DM为退出调试模式命令;第二行为TRDY端口 的信号;第三行为对应的微控制器的模式。
本实施例的微控制器芯片可进一步保证在进行微控制器调试过程中,输 入、输出数据的可靠读写,避免发生冲突。
樣t控制器芯片调试方法实施例
本发明微控制器芯片调试方法的具体实施例包括如下步骤在微控制器 执行调试的过程中,当监测到产生跟踪触发条件时,记录与跟踪触发条件对 应的地址信息。
本实施例的微控制器芯片调试方法可以具体由本发明微控制器芯片各实
ii施例的技术方案来执行,在调试过程中,当跟踪单元的控制电路监测到中央 处理器中产生跟踪触发条件时,根据跟踪触发条件对应的使能控制值和所需 记录的地址信息类型,从中央处理器中读取地址信息,并根据緩冲区状态参 数以及緩沖区的待存储地址,将地址信息记录至緩沖区。
本实施例中,在调试过程中监测到中央处理器中产生跟踪触发条件时, 根据跟踪触发条件对应的使能控制值和所需记录的地址信息类型,从中央处
理器中读取地址信息的步骤具体可以为
当调试过程中监测到中央处理器中产生中断指令时,根据中断指令对应 的使能控制值和所需记录的地址信息类型,从中央处理器中读取中断指令和 中断服务程序的地址信息。
或者可以为
当调试过程中监测到中央处理器中产生中断返回指令时,根据中断返回 指令对应的使能控制值和所需记录的地址信息类型,从中央处理器中读取中 断返回地址信息。
或者可以为
当调试过程中监测到中央处理器中产生跳转指令时,根据跳转指令对应
的使能控制值和所需记录的地址信息类型,从中央处理器中读取跳转地址信 自
或者可以为
当调试过程中监测到中央处理器中产生调用指令时,根据调用指令对应 的使能控制值和所需记录的地址信息类型,从中央处理器中读取调用地址。 或者可以为
当调试过程中监测到中央处理器中产生子程序返回指令时,根据程序返 回指令对应的使能控制值和所需记录的地址信息类型,从中央处理器中读取 子程序返回的地址信息。
当然,跟踪触发条件和地址信息并不限于以上几种,还可以根据具体需 要设置所需记录的跟踪触发条件对应的地址信息。对地址信息进行记录之后,调试处理单元可以获取并从调试接口输出地址信息,可以便于查阅,及时的 调整调试策略。
采用本实施例的技术方案,在需要时,可以实时地,在微控制器的运行 不停止的情况下查看调试过程的历史数据,跟踪并处理微控制器内部的代码 流,该^f鼓控制器芯片调试方法可支持调试过程中内部代码流的跟踪、处理功 能,可适用于更灵活、可靠的调试技术。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括R0M、 R雄、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种微控制器芯片,包括彼此相连的中央处理器、调试模块和调试接口,所述调试模块包括用于执行调试操作的调试处理单元,所述调试处理单元分别与所述中央处理器和调试接口相连,其特征在于所述调试模块中还包括跟踪单元,与所述中央处理器和调试处理单元分别相连,用于在调试过程中监测到产生跟踪触发条件时,记录与所述跟踪触发条件对应的地址信息。
2、 根据权利要求1所述的微控制器芯片,其特征在于,所述跟踪单元包括緩冲区,用于存储所述地址信息,所述緩沖区与所述调试处理单元相连; 类型寄存器,用于记录各所述跟踪触发条件对应所需记录的地址信息类型;状态寄存器,用于配置所述緩冲区的状态参数; 指针寄存器,用于记录所述緩冲区的待存储地址; 控制寄存器,用于在产生各所述跟踪触发条件时,使能控制地址信息的 记录操作;控制电路,用于在调试过程中监测到中央处理器中产生跟踪触发条件时, 根据所述控制寄存器对应所述跟踪触发条件的使能控制和所述类型寄存器记 录的地址信息类型,从所述中央处理器中读取所述地址信息,并根据所述状 态寄存器配置的緩冲区的状态参数和所述指针寄存器记录的緩冲区待存储地 址,将所述地址信息记录至所述緩沖区,所述控制电路与所述中央处理器、 緩沖区、类型寄存器、状态寄存器、指针寄存器和控制寄存器相连接。
3、 根据权利要求1 ,述的微控制器芯片,其特征在于所述调试接口为 JTAG接口。
4、 根据权利要求1或2或3所述的微控制器芯片,其特征在于所述调 试接口包括测试就绪端口 ,与所述调试处理单元相连,用于标识所述调试处 理单元接收指令或数据的状态。
5、 一种微控制器芯片调试方法,其特征在于包括在调试过程中,当监测到产生跟踪触发条件时,记录与所述跟踪触发条件对应的地址信息。
6、 根据权利要求5所述的微控制器芯片调试方法,其特征在于,在调试 过程中,当监测到产生跟踪触发条件时,记录与所述跟踪触发条件对应的地 址信息具体为在调试过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪 触发条件对应的使能控制值和所需记录的地址信息类型,从所述中央处理器 中读取所述地址信息,并根据所述緩冲区状态参数以及所述緩冲区的待存储 地址,将所述地址信息记录至所述緩沖区。
7、 根据权利要求6所述的微控制器芯片调试方法,其特征在于,在调试 过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪触发条件对 应的使能控制值和所需记录的地址信息类型,从所述中央处理器中读取所述 地址信息具体为当调试过程中监测到中央处理器中产生中断指令时,根据 中断指令对应的使能控制值和所需记录的地址信息类型,从中央处理器中读 取中断指令和中断服务程序的地址信息。
8、 根据权利要求6所述的微控制器芯片调试方法,其特征在于,在调试 过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪触发条件对 应的使能控制值和所需记录的地址信息类型,从所述中央处理器中读取所述 地址信息具体为当调试过程中监测到中央处理器中产生中断返回指令时, 根据中断返回指令对应的使能控制值和所需记录的地址信息类型,从中央处 理器中读取中断返回地址信息。
9、 根据权利要求6所述的微控制器芯片调试方法,其特征在于,在调试 过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪触发条件对 应的使能控制值和所需记录的地址信息类型,从所述中央处理器中读取所述 地址信息具体为当调试过程中监测到中央处理器中产生跳转指令时,根据 跳转指令对应的使能控制值和所需记录的地址信息类型,从中央处理器中读取跳转地址信息。
10、 根据权利要求6所述的微控制器芯片调试方法,其特征在于,在调 试过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪触发条件 对应的使能控制值和所需记录的地址信息类型,从所述中央处理器中读取所述地址信息具体为当调试过程中监测到中央处理器中产生调用指令时,根 据调用指令对应的使能控制值和所需记录的地址信息类型,从中央处理器中读取调用地址信息。
11、 根据权利要求6所述的微控制器芯片调试方法,其特征在于,在调 试过程中监测到中央处理器中产生跟踪触发条件时,根据所述跟踪触发条件 对应的使能控制值和所需记录的地址信息类型,从所述中央处理器中读取所 述地址信息具体为当调试过程中监测到中央处理器中产生子程序返回指令 时,根据程序返回指令对应的使能控制值和所需记录的地址信息类型,从中 央处理器中读取子程序返回的地址信息。
12、 根据权利要求5 ~ 11所述的任一微控制器芯片调试方法,其特征在 于,在记录与所述跟踪触发条件对应的地址信息之后,还包括所述调试处 理单元获取并输出所述地址信息。
全文摘要
本发明涉及一种微控制器芯片及其调试方法,该芯片包括彼此相连的中央处理器、调试模块和调试接口,该调试模块包括调试处理单元,分别与中央处理器和调试接口相连,还包括跟踪单元,与中央处理器和调试处理单元分别相连,用于在调试过程中监测到产生跟踪触发条件时对应记录地址信息。该调试方法包括在调试过程中,记录与所述跟踪触发条件对应的地址信息。本发明采用在微控制器芯片的调试模块内部增加跟踪单元的技术手段,克服现有调试过程中不支持实时跟踪微控制器内部代码流的技术问题,本发明支持微控制器内部代码流的实时跟踪和处理功能,可在微控制器不停止工作的情况下对调试过程的历史数据进行查询,使调试功能的实现更加灵活。
文档编号G06F17/50GK101458725SQ200710172339
公开日2009年6月17日 申请日期2007年12月14日 优先权日2007年12月14日
发明者史卫东, 谷志坤, 赵启山 申请人:上海海尔集成电路有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1