调试功能内置型微型计算机的制作方法

文档序号:6442828阅读:141来源:国知局
专利名称:调试功能内置型微型计算机的制作方法
技术领域
本发明涉及一种调试功能内置型微型计算机,特别是具有改善了的总线追踪方法的调试功能内置型微型计算机。
具有这样调试功能的调试装置(调试工具)以往被称为通路仿真器。图8示出了使用这样的通路仿真器的调试系统方块图。图8的调试系统由用户目标系统50和调试用户目标系统50的调试工具55构成。进一步,用户目标系统50由微型计算机51、存储器52和输入输出控制电路53构成。调试工具55由调试用微型计算机56和监控程序存储器57构成。
在本系统中,当调试时,从用户目标系统50中移去微型计算机51或使其动作变为无效。把调试工具55的探针连接到该部分上代替用户目标系统50上的微型计算机51,使存储在调试工具55上的调试用微型计算机56工作,执行存储在调试工具55上的监控程序存储器57中的监控程序以控制用户程序的执行。
据此,调试用微型计算机56能够执行存储在用户目标系统50上的存储器52中的调试对象程序,调试用微型计算机56能够输出从用户目标系统50上的微型计算机51中不能得到的追踪信息。另外也能追踪处理器总线54信息之外的微型计算机51内部的信息等。
但是,在这种方法中,需要把用户目标系统50上的微型计算机的全部引线连接到调试工具55上,信号线数量的增加使探针变的昂贵,并存在探测动作不稳定等问题,尤其在频率高的微型计算机中问题更多。
图9示出了使用其它调试工具现有例的调试系统。
在此例中,在用户目标系统60上的微型计算机61中,内置有同调试工具68的通信中所必需的串行接口64和译码、执行调试工具68送出的信号的序列发生器65。序列发生器65根据从调试工具68送出的信号,暂时停止执行用户程序,在寄存器67上进行存取,使用总线控制器66访问存储器62或输入/输出控制电路63,进行用户程序的控制。从串行接口64来的信号大多不能直接连接至主计算机69,所以,调试工具68一边把主计算机69的命令变换成微型计算机61能够理解的信号,一边把从微型计算机61来的信号变换到主计算机能够理解的数据形式。
在这种情况下,用户目标系统60上的微型计算机61内置有序列发生器65,序列发生器65在微型计算机61或串行接口64上存取,所以与调试工具68连接的逻辑电路变得复杂,存在芯片面积变大的问题。另外,在发生追加寄存器等的时候,存在只要不变更序列发生器65就不能处理的问题。


图10示出了适用本发明的调试系统结构框图。
该调试系统由用户目标系统70、调试系统80和PC主计算机81构成。用户目标系统70由微型计算机71、存储器72和输入/输出控制电路73构成。微型计算机71由处理器内核74和调试单元75构成。处理器内核74通过处理器总线76、78访问存储器72或输入输出控制电路73并执行程序。处理器内核74通过内部调试接口77及内部处理器总线78与调试单元75连接,调试单元75依靠外部调试接口79与调试工具80连接。调试单元75在处理器内核74和调试工具80之间一边变换信号的输出形式一边获得输出时序。
在此,调试系统中包含执行用户程序的正常模式和执行监控程序的调试模式。
在处理器内核发生调试异常时,设置调试模式。在以下条件下发生调试异常单步在用户程序各指令的每一执行中发生调试异常。
指令中断在即将执行设定地址之前发生调试异常。能够在3个位置之间设定地址。
数据中断对设定的地址进行读出/写入时,执行读出/写入1~数个指令后,发生调试异常。地址只能在1个位置设定。
软件中断由于执行BRK指令发生调试异常。调试异常发生时的保存地址为BRK指令的下一个地址。
设置调试模式后,处理器内核通过调试单元执行调试处理子程序。应用调试处理子程序,能够让用户目标程序在任意的地址中断,用单步执行,更能实现存储器或寄存器的读或写、用户程序的终了地址的指定,用户程序开始执行地址的指定等执行控制功能。另外,当处理器内核在调试处理子程序上执行返回指令以返回标准模式时,该处理返回标准模式,跳过返回指令执行的地址,重新开始执行用户程序。
另一方面,在标准模式中,调试系统执行用户程序。此时,能够同时有选择地追踪指令信息、指令地址信息、数据信息、数据地址信息。
采用这种方式,其优点在于因为用户目标系统70上的微型计算机71上包含了具有调试功能的调试单元75,所以在实现调试功能时,使用户目标系统70和调试工具80相连接的输出信号线的数量(位宽)能够减少。另外,在正常模式,在用户目标系统70上,使微型计算机71工作的同时,追踪信号使其能够进行调试,所以,即使高频也能响应,容易访问存储器72或输入输出装置,能够正确检查工作中的指令或数据。另外,由于有调试单元75,调试工具80的存储器或寄存器的内容没有被用户程序非法破坏,用户所使用的寄存器的内容也没有被调试工具80非法破坏。
但是,由于处理器内核74的CPU的内部处理全部用32位进行,所以用户目标系统70和调试工具80相连接的外部调试接口79输出信号线的数量(位宽)变少后,进行总线追踪时,不易取得充分的实时响应。例如,当外部调试接口79的输出信号线为8位并行时,追踪32位内部总线的内容需要4倍的时间或4倍的传送速度,这是不现实的。
用32位进行CPU的内部处理时,处理器内核74转移到下一动作后,追踪也转移到下一内容,所以产生跟踪结果不能被读取的问题。另外,考虑到它们的传输速度,很难实现输出信号线数量(位宽)的减少。这就变成与希望减少用户目标系统70和调试工具80相连接的输出信号线数量(位宽)的要求相矛盾。
另外,在用CPU进行存储器存取期间,用DMA进行存储器存取有中断时,存在用调试工具80或PC主计算机81不能判定哪个存取是用CPU存取的问题。另外,也不能用调试工具80或PC主计算机81判定被追踪的信息是指令还是数据,这些判定只有依靠用户作出。
本发明使用比较简单的方法解决了这个问题,能够在追踪信息的同时输出可判定追踪信息内容的附加信息,使用该附加信息,产生出更容易分析的调试环境,把实现能够压缩输出信息的调试功能内置型微型机作为本发明的课题。
为了解决上述问题,本发明提供了一种在微型计算机内部内置具有总线追踪功能和总线中断功能的调试单元的调试功能内置型微型计算机,其特征是调试单元在追踪,总线时,在追踪总线信息的同时追踪表示信息内容的状态信息。
依此,本发明实现了使用状态信息通过调试工具能够容易判断总线信息的内容,实现更易分析的调试环境,使用状态信息压缩数据或地址信息,且当输出信号线具有比指令总线的位宽更少的位宽时,能够实现能有效地读出信息的调试功能内置型微型计算机。
具体实施例方式
以下结合附图详细说明有关本发明调试功能内置型微型计算机。
图1示出了使用本发明的调试功能内置型微型计算机的一个实施例的调试系统主要部分结构图。在图1中,符号1表示CPU,符号2表示BCU(总线控制单元)、符号3表示DBG(调试单元)、符号4表示存储器、符号5表示外部调试工具、符号6表示调试用个人计算机。另外,符号22表示高速缓冲存储器、符号23表示DMA。CPU1、BCU2、DBG3、高速缓冲存储22、DMA23装在微型计算机10芯片的内部。图1的微型计算机10相当于图10的微型计算机71,在CPU1和BCU2中相当于图10的处理器内核74,DBG3相当于图10的调试单元75,存储器4相当于图10的存储器72,外部调试工具5和调试用个人计算机6分别相当于图10的调试工具80和PC主计算机81。尽管图10的输入/输出控制电路73在此省略了,但位于和存储器4并列的位置上。
CPU1和BCU2通过指令地址总线11、指令总线12、数据地址总线13、数据总线14和读/写信号15、存取量信号16相连接。各总线11~14使用32位位宽传送。BCU2和存储器4之间,通过32位并行数据地址总线17、数据总线18和读/写信号19连接。在此图中用存储器4代表BCU2的连接目的地,但是,除存储器4以外,数据地址总线17、数据总线18通过图中未示出的输入/输出接口连接到周边单元或用户目标系统外的外部存储器上,在将地址和数据传送给它们,并从它们接受数据。另外,BCU2也同高速缓冲22及DMA23交换数据。这些地址或数据由BCU2中的信号判定选择电路21转换并交换。
另外,指令地址总线11、指令总线12、数据地址总线13、数据总线14、数据地址总线16及数据总线17上的信号通过BCU2中的信号判定选择电路21进入BDG3,根据输出选择电路32的指定,使用DBG3内的多路转换器31进行选择,作为8位宽的追踪数据外部输出(DTD;相当于图10的外部调试接口79)36,被传送到外部调试工具5上。输出选择电路32的指定依靠存储在设定寄存器34中的应追踪信号的信息进行。储存在设定寄存器34中的信息,也被送往信号判定选择电路21上。
另外,从BCU2中的信号判定选择电路21来的总线上的信息是指令或是数据、是否是用DMA存取,存取量的大小,是读或是写等判定信号24被送往DBG3内的状态生成电路33。状态生成电路33生成这些信号的状态,并在用追踪数据外部输出36把总线信息向外部输出的同时,将其作为状态35输出到调试工具5上。
由于在总线中传送的信息不包含能够判别是指令或是数据的信息,所以由BCU2内的信号判定选择电路21来判定这种情况。当在再填充/写回高速缓冲存储器22时发生存储器存取时,高速缓冲存储器22把表示命令或数据的信号输入到BCU2内的信号判定选择电路21,使判定选择电路21作出判定,把此信息送至状态生成电路33。另外,当来自DMA23的存储器存取发生时,信号判定选择电路21也把其信息送到状态生成电路33。状态生成电路33汇总这些信息并将其作为5位宽状态输出(DST)35输出。
通过该状态输出(DST)35,在调试工具5或调试用个人计算机6侧易于判定追踪数据外部输出36的总线信息的内容,在生成更易分析的调试环境的同时,由于用户不需判定总线信息内容,所以提高了调试的效率。
以往,把总线信息输出到芯片外部的时候,如果输出位数小于总线的位宽,单纯地把总线上的信息分成可被输出的位组并以其地位输出。换言之,把32位的信息用8位宽输出时,如图2所示,以低位8位[70],其次8位[158]、再次8位[2316],高位8位[3124]的顺序输出。
但总线追踪时,在总线上,当下一个信息在总线中流动时,老的信息向外部的输出在此被终止,进行新的信息输出。关于数据信息,当只有数据的低位被输出且输出的数据被终止时,因为不能推测高位的位,所以数据变的不可理解。另外,如果把全数据输出外部后,因为需要更多的循环,防碍其它信息输出,所以产生了必要信息被终止的问题。
可以注意到的是,在多数情况下,在用户程序中通常只用数据的低位。数值为正时,高位大都由“0”填充。为了最好地利用该特征,在数据的高位用“0”填充的时候,如图3所示,只有低位位向外部输出,同时并且示出在状态输出35中,高位位用“0”填充。据此,外部调试工具5或在调试用个人用计算机6侧高位位填“0”,能够复原原来的数据。
图4示出了“没有压缩”和“有压缩”情况的时序图。在“没有压缩”的情况下,采用图2所示的输出方法,其中,状态输出包括由“开始”和“继续”构成的4个时钟脉冲输出。在“有压缩”的情况下,采用图3所示的输出方法,其中状态输出包括由“开始”后和“压缩0”组成的2个时钟脉冲输出。
在数据值为负的情况下,用2的余数表示它们,因此数据的高位位大都用“1”填充。为了更好地利用这种特征,在高位位用“1”填充的情况下,只有低位位输出到外部,同时,在状态输出35指示用“1”填充高位位。由此,在外部调试工具5或调试用个人计算机6侧,高位位用“1”填充,以便复原原始数据。
当追踪指令总线时,不进行全“0”或全“1”的压缩工作。
以上叙述了数据值的情况。但是在进行地址追踪时,当下一信息在总线上流动时,老的信息的向外部输出同样在此时终止,且进行新的总线信息输出。关于地址,当地址输出在只是低位位已被输出时终止的情况下,接受侧可推测其高位地址等于即将输出的值或是确定为该地址不明。如果高位地址被推测为等于即将输出的值,那么存在着判断错误的情况。如果全部地址要向外部输出,就需要多个周期,其防碍了其它信息输出,而且产生了必要信息被终止的问题。
在这种场合下,不在诸如外部调试工具5或用于调试的个人计算机6的接收侧推测高位地址,而是在输出信号的DBG3侧只输出其低位地址,而且在状态35指示其高位地址等同于将要送出的地址。据此,在外部调试工具5或用于调试的个人计算机6侧,使用刚刚收到的地址的高位地址,既可恢复正确地址。
在图6示出了“无压缩”情况和“有压缩”情况的时序图。在“无压缩”的情况下,状态输出包括“开始”和“继续”构成的4个时钟脉冲输出,但在“有压缩”的情况下,采用图5所示的输出方法,其中状态输出包括“开始”和“一致压缩”构成的2个时钟脉冲输出。
采用以上所述各方法后,由于从微型计算机10向外部调试工具5输出信息量减少及输出全数据信息所需的时钟脉冲数减少,所以,减少了半途终止输出的麻烦。另外,其结果是使用相同的输出终端能够把其它信息大量地向外输出。
在此整理示出的状态输出(DSD)35中所含的信息。在状态信息中,包含类别、输出状态、信息量,读/写等信息1)类别的说明指令示出指令的地址信息或数据信息被输出。
数据示出数据的地址信息或数据信息被输出。
读数据示出读出的数据信息被输出。
DMA示出利用DMA的存储器存取的地址信息及数据信息被输出。
2)输出状态的说明开始示出开始地址信息或数据信息的输出。
继续示出继续以开始状态开始的信息输出。
压缩0示出继续以开始状态开始的信息输出,连续1 6位的数据的所有位全是“0”压缩1
示出继续以开始状态开始的信息输出,连续16位的数据的所有位全是“1”压缩一致示出继续以开始状态开始的信息输出,连续16位的数据等于即将输出的地址的高16位。
3)信息量的说明B示出是字节存取,输出数据信息为字节大小(8位)H示出是半字存取,输出的数据信息是半字大小(1 6位)W示出是字存取,输出的数据信息是字大小(32位)4)读/写的说明rd示出是读出存取Wr示出是写入存取图7示出表示从状态生成电路33输出的状态输出(DST)35的映射图表。应当理解,上述说明被全部包括在在DST[40]的32种输出中。
如上所述,根据本发明的具有内置调试功能的计算机的特征在于当调试单元在追踪总线时,输出被追踪的总线信息和显示被追踪的信息内容的状态信息。
由此,本发明实现了一种调试功能内置型计算机,它能利用状态信息通过调试工具容易地判定总线信息的内容,实现更容易分析的调试环境,使用状态信息压缩数据或地址信息,并有效地读出信息。
根据本发明的调试装置的特征在于调试单元使用比总线位宽少的输出位宽追踪该总线。
结果,所提供的调试功能内置型微型计算机,即使当使用比总线位宽更少的位宽输出信号线追踪的时候,也能有效读出信息。
本发明的特征在于状态信息包括用于信号分类、输出状态、容量、和读/写的信息。
这样,调试功能内置型微型计算机可以通过状态信息将总线信息的内容正确地传到调试工具和调试功能内置型计算机,从而实现了更易分析的调试环境。
根据本发明,当被状态总线信息为正的数据且高位位全为“0”时,只有数据的低位位和表示此状态的状态信息一起被输出。
这样,使用状态信息能够压缩数据信息,而且即使当使用具有比指令总线位宽更少的位宽的输出信号线追踪的时候,也能有效地读出信息。
根据本发明,当被追踪的总线信息为负的数据且高位位全为“1”时,只有数据的低位位和表示此状态的状态信息一起被输出。
这样,使用状态信息可以压缩数据信息,而且即使当使用比其位宽的指令总线更少的输出信号线追踪的时候,也能有效地读出信息。
根据本发明,当被追踪的总线信息为地址且高位位全部等于当前地址时,只有低位位和表示此状态的状态信息一起被输出。
据此,可以使用状态信息压缩地址信息,而且即使当使用其位宽比指令总线更少的输出信号线追踪的时候,也能有效地读出信息。
符号说明1 CPU2 BCU(总线控制单元)3 DBG(调试单元)4 外部存储器5 外部调试工具6 调试用个人计算机11 指令地址总线12 指令总线13 数据地址总线
14,18 数据总线15,19 读/写信号16 存取量信号17 地址总线21 信号判定选择电路22 高速缓冲存储器23 DMA24 判定信号31 多路转换器32 输出选择电路33 状态生成电路34 设定寄存器50,60,70 用户目标系统51,61,71 微型计算机52,62,72 存储器53,63,73 输入/输出控制电路54,76 处理器总线
55,68,80 调试工具56 调试用微型计算机57 监控程序存储器64 串行接口65 序列发生器66 总线控制器67 寄存器69 主计算机74 处理器内核75 调试单元77 内部调试接口78 内部处理器总线79 外部调试接口81 PC主计算机
权利要求
1.一种调试功能内置型微型计算机,所述调试功能内置型微型计算机在微型计算机内部置有具有总线追踪功能和总线中断功能的调试单元,其特征在于追踪总线时,所述调试单元输出被追踪的总线信息和表示被追踪信息内容的状态信息。
2.根据权利要求1所述的调试功能内置型微型计算机,其特征在于所述调试单元使用比总线位宽更少的输出位宽追踪总线。
3.根据权利要求1所述的调试功能内置型微型计算机,其特征在于所述状态信息包含用于信号分类、输出状态、容量、和读/写的信息。
4.根据权利要求1所述的调试功能内置型微型计算机,其特征在于当所述要追踪的总线信息是正数据且高位位全部是“0”时,只有其低位位和表示其状态的状态信息被输出。
5.根据权利要求1所述的调试功能内置型微型计算机,其特征在于当所述被追踪的总线信息是负数据且高位位全部是“1”时,只有其低位位和表示其状态的状态信息被输出。
6.根据权利要求1所述的调试功能内置型微型计算机,其特征在于当所述被追踪的总线信息是地址且高位位全部等于当前地址时,只有其低位位和表示其状态的状态信息被输出。
全文摘要
本发明提供了一种采用比指令总线的位宽更少的位宽输出信号,追踪指令总线内容时产生容易分析的环境,能够压缩输出信息的调试功能内置型微型计算机。在调试功能内置型微型计算机中,DBG(调试单元)3输出要追踪的信息36以及要从状态生成电路33追踪的信息内容的状态信息35。
文档编号G06F11/36GK1444141SQ0310713
公开日2003年9月24日 申请日期2003年3月7日 优先权日2002年3月8日
发明者森垣利彦, 工藤真 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1