微处理器与调试系统技术方案

技术编号:2891182 阅读:126 留言:0更新日期:2012-04-11 18:40
一个微处理器10有一个处理器内核20和一个调试模块30。处理器内核20执行用户程序和执行用于调试用户目标系统70的监控程序。调试模块30作为与一个调试工具60的接口,使处理器内核20执行存放在调试工具60中的监控程序。调试模块30产生中断或异常请求,使得处理器内核20从用户程序切换到监控程序。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一个微处理器与调试系统。该系统具有跟踪程序计数器的功能和通知外部预设置地址或已被存取的数据的功能。附图说明图1是根据现有技术实现的调试系统,称为内部电路仿真器。该系统包括用户目标系统500和用于调试目标系统500的调试器505,目标系统500含有微处理器501,存贮器503以及输入输出部件502,调试器含有调试微处理器506与监控程序存贮器507。为调试目标系统500,要移去或禁止微处理器501工作,而调试器505的插针连到微处理器501,使得微处理器506能代替微处理器501的操作。使微处理器506执行贮存在存贮器507的监控程序,以实现对保存在存贮器503中的用户程序的控制。微处理器506执行用户程序,并存取存贮器503的数据与输入输出部件502。调试器505含有跟踪存贮器508,使得微处理器506能够提供关于内部状态的跟踪信息。例如,可以提供通常微处理器501经处理器总线504不能提供的程序计数器的数值。然而,图1的现有技术必须把目标系统500中的微处理器501的所有引线连到调试器505。例如,微处理器501有70条引线,用于30条地址信号线、4条字节允许信号线。1条读信号线,1条写信号线、1条读确认信号线。1条写确认信号线和32条数据信号线。调试器505具有用于这些引线的插针,成本昂贵,且工作不稳定。为了能存取目标系统500的存贮器503和调试器505的存贮器507,微处理器506必须从一组总线转换到另一组总线,因而,不能应用于高速微处理器。如果目标微处理器具有外围元件,并且可能有不同的引线排列,这样,调试器必须具有同样引线排列的探针。当调试器505的探针连到目标系统500时可能影响和使得目标系统500信号不稳定。图2是根据另一种现有技术实现的调试系统,称为只读存贮器监控程序。用户目标系统510具有一个连到宿主机517的串行接口,存贮器513贮存监控程序514,微处理器511执行监控程序,访问存贮器514、输入输出部件515和寄存器516,使用软件断点指令执行和控制用户程序。这种现有技术,借用用户存贮器513贮存监控程序514。如果目标系统510的存贮系统不完善,则监控程序514本身也将不稳定。如果存贮器513的容量较小,则将没有存放监控程序514的空间。由于监控模式是由用户中断启动,则某些程序将不能被调试。虽然安装在目标系统510上的串行接口512对于调试是必不可少的,但调试之后,则不再使用。这种现有技术的调试性能不好,因为它没有硬件断点也不能跟踪程序计数器。图3仍然是根据另一种现有技术的调试系统。用户目标系统520具有微处理器521,该微处理器含有串行接口526和定序器525。串行接口526与调试工具529通信。调试工具529向接口526发送信号,而定序器525对信号进行解释,为了影响信号,定序器525暂停用户程序的执行,存取寄存器528使用总线控制器527存取输入输出部件523和存贮器524,并控制用户程序。串行接口526通常不能与宿主机530直接通信。因此,调试工具529要把来自宿主机530的命令转换成微处理器521能理解的信号,而把来自微处理器521的信号转换成宿主机530能理解的数据格式。微处理器521含有必须访问微处理器521和调试工具529的定序器525。这样,这种现有技术由于采用复杂的连接逻辑,而使芯片面积增加。如果目标系统520要提供复加的寄存器,由于复杂的工作,必须相应地修改定序器525。这种现有技术不能跟踪程序计数器。如上所述,这些现有技术不能跟踪程序计数器,即使他们能够跟踪,他们必须通过处理器总线,在调试处理器与目标系统之间连接许多信号。根据图1的现有技术,调试程序505的微处理器506必须访问存贮器503和目标系统500中的输入输出部件502,其困难在于控制这些存取操作的时序。图2的现有技术是在用户存贮器513中存放监控程序,它减少用户存贮的空间。用这种现有技术进行调试是不可靠的和不充分的。图3的现有技术是在目标系统520中的微处理器521中包含定序器525,对来自调试工具529发送的信号进行解释并执行。换句话说,这种现有技术涉及目标系统与调试工具之间的复杂的连接。如果要修改处理器521,则要做复杂的工作,对定序器525进行修改。图2和图3的现有技术均没有触发功能。虽然图1的现有技术在调试微处理器506可能有触发功能,但也要有用于提供触发信息的附加信号。本专利技术的目的在于提供一个配置在用户目标系统中的微处理器,用于以目标系统与调试器之间的少量信号实现调试功能。本专利技术的另外目的在于提供一个配置在用户目标系统中的微处理器,借助在目标系统上微处理器的操作,方便地存取目标系统的存贮器和输入输出部件。实现调试功能。本专利技术的其它目的在于提供一个配置在用户目标系统中的微处理器,以少量的信号实现跟踪程序计数器的调试功能。本专利技术的其它目的还在于提供一个配置在用户目标系统中的微处理器,以最少的硬设备通过共享地址、通过带有硬件断点功能和触发功能的数据比较器、以及共享具有程序计数器信息和触发器信息的输出信号,实现调试功能。为了达到这些目的,本专利技术的第一部分是提供一个具有处理器内核(代码块)和调试模块的微处理器。处理器内核执行用户程序以及用于调试用户目标系统的监控程序。调试模块通过内部调试接口和处理器总线连到处理器内核。调试模块具有一个接口,通过它处理机内核执行保存一个在调试工具内的监控程序,调试模块还有一个用于向处理器内核发出中断和异常请求的运行控制器,用它把处理器内核从用户程序切换到监控程序。本专利技术第二部分是提供一个调试系统,在此系统中,调试工具存放用于调试用户目标系统的监控程序。目标系统包括微处理器、存贮器和输入输出部件。微处理器具有处理器内核及调试模块。处理器内核执行用户程序或监控制序。调试模块通过内部调试接口和处理器总线连到处理器内核,而通过外部调试接口连到调试工具。调试模块的接口能使得处理器内核执行监控程序。调试模块还有用于向处理器内核发出中断和异常请求的运行控制器,用它把处理器内核从用户程序切换到监控程序。存贮器通过处理器总线与微处理器相连,并贮存对于微处理器执行用户程序所必要的信息。输入输出部件通过处理器总线连到微处理器。根据第一部分和第二部分的考虑,目标系统的微处理器具有调试功能,并减少了目标系统与调试工具之间信号的数量。在调试期间,第一方面和第二方面操作微处理器,并能方便地存取目标系统的存贮器和输入输出部件。本专利技术第三部分的考虑是提供一个具有能用于执行程序的处理器内核和能跟踪程序计数器的跟踪器的微处理器。跟踪器通过内部调试接口被连到处理器内核,提供一个能表示处理器内核将要执行的指令地址的程序计数器信号。用于传送输出信号的信号数量要少于指令地址的位数。根据第三部分的考虑,目标系统的微处理器具有调试功能,并能削减用于跟踪程序计数器接口信号的数目。本专利技术的第四部分考虑的是提供一个具有用于运行程序的处理器内核、断点电路和程序计数器跟踪器的微处理器。当存贮的地址与设置的地址相符合、或当被存取的地址和数据与设置的地址和数据相符合,则断点电路向处理机内核提供断点请求和触发请求。跟踪器提供一个触发请求已被允许的外部状态信号信息。根据第四部分的考虑,目标系统本文档来自技高网...

【技术保护点】
一个微处理器,包括:一个处理器内核,用于执行用户程序和用于调试用户目标系统的监控程序;和一个调试模块,至少通过一个内部调试接口和一个处理器总线连接到所述处理器内核,它具有作为同一调试工具的接口装置,以便所述处理器内核可以执行监控程序 ,还有控制装置,用于请求所述处理器内核对于一个中断或异常把所述处理器内核从用户程序切换到监控程序。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:宫森高矢野达男
申请(专利权)人:株式会社东芝安捷伦技术有限公司
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1