调试启用处理设备和嵌入式处理系统技术方案

技术编号:14046636 阅读:79 留言:0更新日期:2016-11-22 09:47
本披露涉及调试启用处理设备和嵌入式处理系统。一种调试启用处理设备包括处理器、通信收发器电路以及调试支持单元。该调试支持单元具有帮助对由该处理器执行的软件程序进行调试的多个专用调试寄存器。该多个调试寄存器之一是具有至少四个位的控制寄存器,该至少四个位用于启用/禁用多项调试操作。这些调试寄存器中的其他调试寄存器包括可以被配置成用于向和从该处理器传递数据的索引寄存器组。

【技术实现步骤摘要】

本披露总体上涉及调试软件程序。更具体地但是不排他地,本披露涉及对于调试软件程序有用的基于硬件的调试支持单元。
技术介绍
自从开发人员已经编写软件代码开始,已经存在对软件进行调试的需要。在一些情况下,当软件无法正确工作时,开发人员研究软件代码并且脑中尝试调试该问题。在许多情况下,尤其是当软件不只是简短的简单程序时,对软件进行调试的脑力方法将不起效。已经创造了各种工具来辅助开发人员对软件进行调试。在一些情况下,完全地从软件形成常规调试工具。在其他情况下,从硬件和软件的组合形成常规调试工具。图1是常规调试系统10。在该系统中,主机计算设备12经由串行通信介质34通信地耦合到目标系统50。通常是个人计算机的主机计算设备12包括硬件模块14和存储器模块16。硬件模块14包括处理器18以及支持逻辑模块20。存储器模块116通常包括操作系统软件22、应用软件24以及调试软件程序26。主机计算设备12通常受软件从业者(诸如开发人员)控制。开发人员经由显示器28从主机计算设备12接收信息,并且开发人员经由键盘30和鼠标32向主机计算设备12提供信息。在软件从业者的指导下,处理器18执行存储在存储器模块16中的软件指令。主机计算设备12的支持逻辑模块20包括电路,诸如通用异步接收器/发送器(UART)控制器、存储器控制器、时钟、图形控制器等等。在软件从业者的指导下,调试软件程序26与目标系统通信以便发送控制信息和接收数据或状态信息。在图1的常规调试系统10中,控制信息和数据被传递通过支持逻辑模块20的UART通过串行通信介质34(即,串行数据线缆)到达目标系统50。此外,通过串行通信介质34将数据和状态信息从目标系统50传递到主机计算设备12。图1的目标系统50包括处理器52、支持逻辑模块54、存储器模块56以及常规调试支持单元(DSU)58。目标系统50的支持逻辑模块54类似于主机计算设备12的逻辑支持模块20。除通信控制器、存储器控制器、时钟、图形控制器等等之外,支持逻辑模块54还可以包括用于支持目标系统50的功能的其他电路和结构。程序60驻留在目标系统50的存储器模块56中。程序60包括可由处理器52执行以便实施目标系统50的功能的软件指令。存根62可选地位于程序60的软件指令集内。在一些情况下,以下更详细描述的一个或多个存根62被放置在程序60中。DSU 58包括可选处理器64、可选DSU软件66以及可选逻辑模块68。DSU 58指导目标系统50上的调试操作。在DSU 58包括可选处理器64的情况下,DSU 58还将包括可选DSU软件66,该软件包括可由可选处理器64执行的软件指令。DSU 58的可选逻辑模块68可以包括用于帮助对操作进行调试的寄存器、比较器、时钟、输入/输出电路等等。在目标系统50的常规实现方式中,DSU 58的操作由软件从业者指导。软件从业者使用主机计算设备12输入调试命令,这些命令由调试软件程序26解释并且经由串行通信介质34被传达到目标系统50。软件从业者所使用的常规调试方法被称为“存根(stub)”方法。基本上在软件中实现存根方法。在存根方法中,软件从业者标识程序60中的可能发现嫌疑错误的区域。然后,在这个区域中,用非法指令替换程序60中的所选指令。非法指令是无法由处理器52理解的指令,从而使得当处理器52尝试执行为存根62的非法指令时,处理器52反而断言非法指令陷阱。不像传统的非法指令陷阱处理程序,非法指令陷阱的发送导致DSU 58执行调试操作。也就是,DSU 58允许软件从业者在程序60中的软件从业者认为存在错误的那个点“接管”对目标系统50的控制。例如,如果当遇到具体的情况时目标系统50无法照亮某个发光二极管(LED),软件从业者可以标识程序60的其中软件指令询问这个具体情况的那一部分。软件从业者选择那些软件指令中的一个指令的地址,并且用非法软件指令替换原始软件指令。软件从业者通过在主机计算设备12输入命令来执行这个替换,该主机计算设备指导DSU 58执行该替换。在存根62被放置在程序60的存储器地址空间中之后,处理器52被准许正常地执行程序60的指令。当遇到非法指令(即,存根62)时,处理器52将挂起其正常指令流、保存处理器的当前状态并且为程序计数器(PC)寄存器加载预先确定的陷阱处理程序的地址。预先确定的陷阱处理程序包括调试软件指令。例如,预先确定的陷阱处理程序中的第一指令可以在临时存储器空间中保存处理器52的一个或多个寄存器的内容、在临时存储器空间中保存存储器的其他部分的内容、或者采用其他动作来在遇到非法指令(即,存根)的时刻捕捉目标系统50的状态。在预先确定的陷阱处理程序内,软件从业者还可以交互性地读取处理器52的寄存器、在存储器模块56中读取和写入数据或软件指令、或者执行其他动作来尝试并且确定程序60中的何处存在错误。当软件从业者已经确定已经执行充分的调试时,软件从业者将指示DSU 58用程序60的在加载存根62之前存在的原始软件指令替换存根62,并且将恢复之前保存在临时存储空间中的寄存器和存储器区域。接下来,软件从业者将指导示处理器52从该预先确定的陷阱处理程序返回。处理器52还将恢复处理器的原始状态并且用现在替换的软件指令的地址重新加载PC寄存器。以此方式,执行程序60将在其之前被中断的地方并且以其在陷阱之前存在的上下文和状态重新开始。返回无法照亮LED的先前示例,软件从业者将强制DSU 58替换程序60的策略区域中的一个或多个存根62。当处理器52执行程序60的软件指令并且遇到每个存根62时,软件从业者有机会标识无法实现预期的特定情况的原因、无法正确地询问预期的特定情况的原因、无法照亮LED的原因或某个其他错误。在存根方法中,软件从业者策略性地将一个或多个存根62放在程序60的期望调试的区域中。在遇到存根62的每个点,触发非法指令陷阱,并且软件从业者有机会询问或者以其他方式控制目标系统50。当发现错误时,可以更新或者以其他方式重新写入程序60的软件指令以便移除错误。在背景部分中讨论的所有主题无需是现有技术并且不应当仅仅由于其在背景部分的讨论而被假定为是现有技术。据此,除非特别说明是现有技术,对在背景部分中所讨论的现有技术中存在的问题或与这种主题相关联的问题的任何认识不应该被看作现有技术。替代地,对在背景部分中的任何主题的讨论都应该被看做专利技术人解决具体问题的方法的一部分,其本身以及本质上也可以是有创造性的。
技术实现思路
使用允许软件从业者对软件进行调试的常规调试支持单元和方法已经导致发现常规方法的显著缺陷。常规调试迄今为止是受限的并且难以实现过程。使用在此描述的改善的调试支持单元(DSU)为软件从业者提供了更简单的实现方式,该实现方式可以完全基于硬件、还包括在常规系统中不可用的功能。调试启用处理设备可以被总结为包括:处理器;通信收发器电路;以及调试支持单元,该调试支持单元具有帮助对由该处理器执行的软件程序进行调试的多个专用调试寄存器,该多个调试寄存器包括:具有至少四个位的控制寄存器,该至少四个位包括用于启用/禁用多项调试操作的控制位;以及索引寄存器组,该索引寄存器组可配置成用于向和从该处理器传递数据。该控制寄存器可以包括:该至少四个位中的第一位本文档来自技高网
...

【技术保护点】
一种调试启用处理设备,其特征在于,包括:处理器;通信收发器电路;以及调试支持单元,所述调试支持单元具有帮助对由所述处理器执行的软件程序进行调试的多个专用调试寄存器,所述多个调试寄存器包括:具有至少四个位的控制寄存器,所述至少四个位包括用于启用/禁用多项调试操作的控制位;以及索引寄存器组,所述索引寄存器组可配置成用于向和从所述处理器传递数据。

【技术特征摘要】
1.一种调试启用处理设备,其特征在于,包括:处理器;通信收发器电路;以及调试支持单元,所述调试支持单元具有帮助对由所述处理器执行的软件程序进行调试的多个专用调试寄存器,所述多个调试寄存器包括:具有至少四个位的控制寄存器,所述至少四个位包括用于启用/禁用多项调试操作的控制位;以及索引寄存器组,所述索引寄存器组可配置成用于向和从所述处理器传递数据。2.根据权利要求1所述的调试启用处理设备,其特征在于,所述控制寄存器包括:所述至少四个位中的第一位,所述第一位被安排成用于当所述至少四个位中的所述第一位采用第一值时启用调试模式,并且被进一步安排成用于当所述至少四个位中的所述第一位采用第二值时禁用所述调试模式;所述至少四个位中的第二位,所述第二位被安排成用于提供有关流水线冲洗操作的状态;所述至少四个位中的第三位,所述第三位被安排成用于启用和禁用陷阱处理操作;以及所述至少四个位中的第四位,所述第四位被安排成用于控制所述陷阱处理操作。3.根据权利要求1所述的调试启用处理设备,其特征在于,所述索引寄存器组包括:写入启用寄存器,所述写入启用寄存器用于控制数据传送操作是读取操作还是写入操作;地址寄存器,所述地址寄存器用于存储表示所述处理器的架构 状态的值;以及数据寄存器,所述数据寄存器用于存储正在传送的数据。4.根据权利要求1所述的调试启用处理设备,其特征在于,包括:集成电路封装体,所述集成电路封装体在其内形成有所述处理器、所述通信收发器电路以及所述调试支持单元。5.根据权利要求1所述的调试启用处理设备,其特征在于,所述处理器是精简指令集计算设备。6.根据权利要求5所述的调试启用处理设备,其特征在于,所述处理器包括多级执行流水线,所述多级执行流水线至少包括取出级、解码级、执行级以及...

【专利技术属性】
技术研发人员:焦小康朱鹏飞
申请(专利权)人:世意法北京半导体研发有限责任公司
类型:新型
国别省市:北京;11

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

1