[发明专利]微控制器在线调试电路及方法、微控制器有效
| 申请号: | 201010123200.8 | 申请日: | 2010-03-10 |
| 公开(公告)号: | CN102193860A | 公开(公告)日: | 2011-09-21 |
| 发明(设计)人: | 史卫东;潘松;陈光胜;陈立权 | 申请(专利权)人: | 上海海尔集成电路有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
| 地址: | 200030 上海市中*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 控制器 在线 调试 电路 方法 | ||
技术领域
本发明涉及集成电路测试技术领域,特别涉及一种微控制器在线调试电路及方法、微控制器。
背景技术
微控制器是一种将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语言程序的断点调试。
发明内容
本发明提供一种微控制器在线调试电路及方法、微控制器,用以解决现有技术中断点实现方法单一,不适应复杂程序的断点测试的缺点,实现可以精确控制复杂程序的断点调试。
本发明提供一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试指令,并根据所述调试指令产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;包括用于产生断点信号的断点信号产生单元,所述断点信号产生单元包括程序断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
所述断点信号产生单元还包括:至少一个第一断点信号产生单元,用于根据所述断点设置信息产生所述断点信号,所述断点设置信息为程序断点地址值之外的信息;
所述断点标志信号产生模块还包括:
断点配置寄存器,与所述接口协议模块连接,用于从所述接口协议模块接收断点设置信息即逻辑组合的方式;
断点组合逻辑模块,分别与所述断点信号产生单元和断点配置寄存器连接,用于根据所述逻辑组合的方式对所述断点信号产生单元产生的断点信号进行逻辑组合得到所述断点标志信号。
本发明还提供一种微控制器在线调试电路,包括:
接口协议模块,用于接收调试数据,并根据所述调试数据产生断点设置信息;
断点标志信号产生模块,与所述接口协议模块连接,用于根据所述断点设置信息,产生断点标志信号;所述断点标志信号产生模块包括用于产生断点信号的断点信号产生单元;
程序执行控制模块,与所述断点标志信号产生模块连接,用于根据所述断点标志信号控制在线调试断点的实现;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海尔集成电路有限公司,未经上海海尔集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010123200.8/2.html,转载请声明来源钻瓜专利网。





