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

文档序号:6442827阅读:140来源:国知局
专利名称:调试功能内置型微型计算机的制作方法
技术领域
本发明涉及一种调试功能内置型微型计算机,特别是具有改善了的追踪方法的调试功能内置型微型计算机。
具有这样调试功能的调试装置(调试工具),以往被称为通路仿真器。图6示出了使用这样的通路仿真器的调试系统。图6的调试系统由用户目标系统50和调试用户目标系统50的调试工具55构成。进一步,用户目标系统50由微型计算机51、存储器52和输入输出控制电路53构成。调试工具55由调试用微型计算机56和监控程序存储器57构成。
在本系统中,当调试时,从用户目标系统50中移去微型计算机51或是使其动作变为无效,把调试工具的探针连结到这部分上代替用户目标系统50上的微型计算机51,使调试工具55上的调试用微型计算机56工作,执行存储在调试工具55的监控程序存储器57中的监控程序以控制用户程序的执行。
据此调试用微型计算机56能够执行存储在用户目标系统50上的存储器52中的调试对象程序,调试用微型计算机56能够输出从用户目标系统50上的微型计算机51中不能得到的追踪信息。另外也能追踪处理器总线54信息之外微型计算机51内部的信息。
但是,在这种方法中,需要把用户目标系统50上的微型计算机51的全部引线连结到调试工具55上,信号线数量的增加使探针变的昂贵,存在造成探测动作不稳定等问题,尤其在频率高的微型计算机中问题更多。
图7示出了使用其它调试工具现有例的调试系统。
在此例中,在用户目标系统60上的微型计算机61中,内置有同调试工具68的通信中所必需的串行接口64和译码、执行从调试工具68送出的信号的序列发出器65。序列发生器65根据从调试工具68送出的信号,临时停止执行用户程序,而在寄存器67上存取,使用总线控制器66在存储器62或输入/输出控制电路63上存取,进行用户程序的控制。从串行接口64来的信号多不能直接连结到主计算机69。所以调试工具68一面把主计算机69来的指令变换成微型计算机61能够理解的信号,一面把从微型计算机61来的信号变换到主计算机69能够理解的数据形式。
这种情况,用户目标系统60上的微型计算机61内置序列发生器65。序列发生器65在微型计算机61或串行接口64上存取,所以与调试工具68连接的逻辑电路变得复杂,存在芯片面积变大的问题。另外,在发生追加寄存器等的时候,存在只要不变更序列发生器65就不能处理的问题。
图8示出了适用本发明的调试系统结构框图。
该调试系统由用户目标系统70和调试工具80构成。用户目标系统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倍的传送速度,这是不现实的。这样,假设需要4倍时间,处理器内核74转向下一个动作后,即使当正在输出的全部总线信息还没被全部输出时,正在输出的总线信息在那里被切断,追踪也转移到下一步,所以产生追踪结果不能被读取的问题,这就变成与希望减少用户目标系统70和调试工具80相连接的信号线数量(位宽)的要求相矛盾,并导致重要信息的输出被限制的问题。解决这些问题的一个方法是将全部总线信息临时存储到内部存储器,随后在所定时间内将其读出。但是,其导致的问题在于内部存储器需要有大的容量,元件的价格变得昂贵,芯片面积变得更大。
另外,在微型计算机芯片内部,在通用电路之外增加用户电路时,按照惯例,需要分配专用信号引线,通常从用户电路直接输出信号至芯片外部的单元,通过使用专用工具或逻辑分析器来进行调试。但是,存在下列问题专用工具的制造耗时较长并增加了成本,逻辑分析器的使用也耗时较长且很难容纳微型计算机中正在被执行的程序。进而,由于需要专用于调试用户电路的信号引线的事实,成本增加,且由于对引线数量的限制,产生了其它信号不能被输出给芯片外部的问题。
本发明使用比较简单的方法解决了上述问题。采用比内部总线位宽更少的位宽的输出信号,追踪内部总线内容,此时,只限制必要的信息,使其输出能够防止必要的信息在途中被终止,在能够更准确地实时追踪的同时,用户电路调试使用的工具和用于调试通用电路时的工具相同,在相同的环境用相同的软件能够执行,把实现这样的调试功能内置型的微型计算机作为本发明的课题。
为解决上述问题,本发明的目的是提供一种调试功能内置型微型计算机。该微型计算机内部具有总线追踪功能和总线中断功能的调试单元,该调试单元用比位宽更少的输出位宽追踪该总线上的信息。调试功能内置型计算机的特征在于包括总线信息存储装置,其通过调试单元为要被追踪的每一目标总线而设置,并临时储存总线信息;总线信息存储控制装置,其根据追踪条件控制在所述总线信息存储装置中临时存储的所述总线信息;追踪条件指示装置,其通过外部设定将追踪条件指示给所述总线信息存储控制装置;以及存储信息选择装置,其选择作为所述调试单元的输出的被临时存储在所述总线信息存储装置中的总线信息。
据此,该调试功能内置型微型计算机使用比内部总线的位宽少的位宽输出信号线追踪内部总线内容时,做到只限制必要的信息,实现能够防止必要的信息在中途终止,能更准确地实时追踪。
调试功能内置型微型计算机包括具有总线追踪功能和总线中断功能的调试单元;以及根据用户目的由用户设置的通用电路之外的用户电路。调试功能内置型微型计算机的特征在于包括总线信息选择装置,其选择将被调试单元追踪的作为调试单元的输出的在目标总线上的总线信息;其中总线信息选择装置也选择并输出从用户电路总线输入装置输入的作为调试单元的输出的用户电路的总线信息。
这样,调试功能内置型微型计算机能够实现用户电路的调试使用的工具与用于调试通用电路的工具相同,在相同的环境用相同的软件执行。


图1示出了使用本发明的调试功能内置型微型计算机的一个实施例的调试系统的主要部分结构图。在图1中,符号1表示CPU、符号2表示BCU(总线控制单元)、符号3表示DBG(调试单元)、符号4表示存储器、符号5表示外部调试工具、符号6表示调试用个人计算机。另外,符号24表示高速缓冲存储器、符号25表示DMA存储器。CPU1,BCU2,DBG3,高速缓冲存储器24,及DMA存储器25被设置在微型计算机芯片10的内部。图1的CPU1和BCU2相当图8的处理器内核24,DBG3相当图8的调试单元75,存储器4相当图8的存储器72,外部调试工具5和调试用个人计算机6相当图8的调试工具80。尽管图8的输入/输出控制电路73在此省略了,但位于与存储器4并列的位置上。
指令地址总线11,指令总线12,数据地址总线13,数据总线14和读/写信号15在CPU1和BCU2之间传送。各总线11~14用32位的位宽传送。BCU2和存储器4之间用32位宽的地址总线16、8~32位宽的数据总线17、以及读/写信号18连接。在此图中,用存储器4代表BCU2的连结目的地,但是,除存储器4以外,数据地址总线16、数据总线17通过图中未示出的输入/输出接口连接到周边单元和外部存储器,能够将地址和数据传送给它们,并从它们接收数据。另外,可以在高速缓冲存储器24和DMA存储器25之间交换数据。地址和数据被BCU2中的信号选择电路22转换,并被在CPU1和存储器4之间交换。
另外,指令地址总线11、指令总线12、数据地址总线13、数据总线14、地址总线16及数据总线17上的信号通过BCU2内的寄存器23-1~23-6进入DBG3,根据输出选择电路32的指定,由DBG3内的多路转换器(MUX)31选择,作为8位宽的追踪数据外部输出(相当于图8的外部调试接口79)传送到外部调试工具5中。
此时,该输出选择电路32接收ACK(ACKnowledge)信号的输入,当CPU1接受请求地址和指示返回数据的时限的有效信号,且根据这些信号控制多路转换器31时,CPU1将ACK信号发送给调用源以指示操作的完成。
为了输出,寄存器写入条件判定电路21允许仅将必要的信号写入寄存器23-1~23-6,不包括不需要的信息,这样就防止了寄存器23-1~23-6内存储的必要信息被不需要的信息重写。
通过设定通过外部调试工具5从调试用个人计算机6输入的寄存器设定信号36,用于将被追踪的信号的追踪条件等被送入设定寄存器34。例如,如果有剩余的信号引线,可以使用开关在设定寄存器34中手动设定追踪条件。设定在设定寄存器34中的追踪条件被发送给输出选择电路32和BCU2内的寄存器写入条件判定电路21。
例如,将能够在设定寄存器34中设定的追踪条件如下列出,通过指定寄存器34中指定的1位或2位的ON或OFF来设定追踪条件。
1)读(读出)输出使能(enable)(指定1位)设定是否输出来自存储器4的读访问信号(读出时的地址或数据)。
2)写(写入)输出使能(指定1位)设定是否输出至存储器4的写访问信号(写入时的地址或数据)。
3)设定地址输出字节数(指定2位)设定输出多少个地址数据低位。选择8位、16位、24位、32位中的任一种。
4)数据输出使能(指定1位)设定是否输出数据。
5)地址输出使能(指定1位)设定是否输出地址。
6)通过DMA存储器25的存储器存取输出使能(指定1位)设定当DMA存储器25存取存储器4时,是否输出地址或数据。
7)在高速缓冲存储器24中进行再填充/写回时,存储器存取输出使能(指定1位)在高速缓冲存储器24中再填充/写回时,访问存储器4时,设定是否输出地址或数据。
8)通过CPU1进行的存储器存取输出使能(指定1位)当CPU1访问存储器4时设定是否输出地址或数据。
这些追踪条件被一次设定在设定寄存器34上,然后发送给寄存器写入条件判定电路21和输出选择电路32。
图2~图4示出根据本实施例的信号的时序图,每一示出用于比较的现有技术与现有的情况相比较的本实施例的各信号的时序图。
图2示出当仅进行写存取时的例子。图2示出的信号如下(a)表示总线时钟脉冲,(b)表示地址总线16上的地址,(c)表示数据总线17上的32位数据,(d)表示读/写信号18,(e)表示没有设定寄存器34时的常规的追踪数据外部输出,(f)表示在本实施例中的追踪数据外部输出(DTD)35的信号。
以往,在写存取后,由于在地址②开始的读信息在地址③开始被输出,所以相应于寄存器23内的①的写存取信息被读信息重写,以致于输出选择电路32开始输出作为追踪数据外部输出的读地址。
在本实施例中,从地址②开始的读信息不包含在寄存器23中,因此在寄存器23内的①的写存取信息未被重写(overwrite)。输出选择电路32继续输出来自追踪数据外部输出(DTD)35的①的写存取信息,如(f)所示。
通过上述方法,将被写入寄存器23的信息被限制写入被观测的存取,此举将更多的必要信息通过信号引线向外部输出。
图3示出只有被CPU1访问的存储器将被观测的例子。图3示出如下信号(a)表示总线时钟脉冲,(b)表示地址总线16上的地址,(c)表示数据总线17上的32位数据,(d)表示读/写信号18,(e)表示没有设定寄存器34时的常规的追踪数据外部输出,(f)表示本实施例的追踪数据的外部输出(DTD)35输出的信号。
当DMA存储器25在CPU1访问存储器后进行存储器存取时,常规地,由于在地址②开始的利用DMA存储器25的存取信息在地址③开始被输出,所以,相应于寄存器23内的①的读存取信息被DMA存储器25的存取信息重写,以致于通过DMA存储器25,输出选择电路32开始输出作为追踪数据外部输出的存取信息,如(e)所示。
在本实施例中,由于在地址②开始的利用DMA存储器25的存取信息不被放到寄存器23中,在寄存器23内的①的写存取信息不被重写。因此,输出选择电路32如(f)所示,从追踪数据外部输出(DTD)35,继续输出①的写存取信息。
这种场合,通过利用CPU1将要观测的信息限制到存储器存取中,能通过信号引线向外输出更多的必要信息。
图4示出当只有数据将被观测的例子。图4示出如下信号(a)表示总线时钟脉冲,(b)表示地址总线16上的地址,(c)表示数据总线17上的32位数据,(d)表示读/写信号18,(e)表示没有设定寄存器34的现有的追踪数据外部输出,(f)表示从本实施例中的追踪数据外部输出(DTD)35输出的信号。
当写存取被观测时,常规地,尽管数据被期望在地址后向外输出,地址②转移到下一写存取,新的存取信息地址在③开始被输出,以使相应于寄存器23中的①被新的写访问地址信息重写,以使输出选择电路32继续输出作为追踪数据外部输出的写地址。
在本实施例中,由于地址信息不被放入寄存器23中,而只将数据信息放入寄存器中,所以寄存器23内所存①的写存取数据信息不被地址信息重写。因此,输出电路32继续更新并输出来自追踪电路数据外部输出(DTD)35的①中的写访问数据信息,如(f)所示。
根据上述方法,通过将要观测的信息限制到数据中,能将更多的必要信息通过信号引线向外部输出。
通过以上述方式设定追踪条件,当使用寄存器写入条件判定电路21和输出选择电路32的操作进行调试时,可以不输出不必要的信息,由于重新在总线上循环不必要信息的输出,所以,减小了必要信息被中途终止的概率。
图5示出了根据本发明的其它实施例的使用调试功能内置型微型计算机的主要部分的结构图。在图5中,CPU1、BCU2、存储器4、外部调试工具5、调试用个人计算机6与图1所示的大致相同。高速缓冲存储器24,DMA存储器25和指令地址总线11,指令总线12,数据地址总线13,数据总线14,读/写信号15等信号也与图1所示的大致相同。
在本实施例中,在DBG3中设置有状态生成电路33,表示下述信息的判定信号26被发送给状态生成电路33从BCU2追踪的总线信息是指令、地址或是数据,数据存取是由CPU1、由高速缓冲存储器24或是由DMA存储器25完成的,存取的数据的容量多大,是读取还是写入等。状态生成电路33解释这些信号并生成状态信号40。
另外,根据客户的使用目的,用户电路7被设置在微型计算机芯片10中。该用户电路7将用户电路追踪数据41和用户电路状态42输入到DBG3。在DBG3中设置相当于图1的多路转换器(MUX)31的多路转换器(MUXa)31,以及多路转换器(MUXb)38和多路转换器(MUXc)39。多路转换器(MUXb)38选择从多路转换器(MUXa)31输出的内部总线追踪数据和用户电路追踪数据41的任一个,并将其输出到外部调试工具5。多路转换器(MUXc)39选择从状态生成电路33来的状态信号40和用户电路状态42的任一个,并将其输出到外部调试工具5。
这样,DBG3设置有多路转换器(MUXb)38和多路转换器(MUXc)39,其根据设定选择用户电路追踪数据41和从用户电路7输出的用户电路状态。结果,不需要准备用于向外输出并确认的来自用户电路7的追踪数据41和状态42,从而能够避免由于引脚数量增加而增加成本。另外,由于来自用户电路7的输出信息可被通用调试工具5接收,不需要制作或准备专用程序或专用工具,从而可以消除制造专用工具的时间和成本,并且提高了调试效率。
另外,由于调试工具5能从用户电路7和其它调试输出信号同时接收输出信息,所以在同步方面,易于容纳正在微型计算机10上执行的程序或微型计算机10内的信号,提高了调试的效率。
如上所述,根据本发明,调试功能内置型微型计算机设置有总线信息存储装置,为每一将被追踪的目标总线而设置,临时储存总线信息;总线信息控制装置,根据追踪条件控制在总线信息存储装置中临时存储的总线信息;追踪条件指示装置,根据外部设定将追踪条件指定给该总线信息存储控制装置;以及存储信息选择装置,选择在总线信息存储装置中临时存储的作为调试单元输出的总线信息。
据此,通过对必要信息的限制,临时储存相同的信息并且输出存储的内容,减少了追踪时必要信息在中途终止地可能性,从而可以实时执行更准确的追踪。
本发明决定了追踪条件,该追踪条件指示总线信息是读出存取还是写入存取,总线信息是数据还是地址,总线信息的连接目的,被追踪的地址从低位输出到几位。据此,根据追踪条件,在总线信息存储装置中指定将被存储的内容。
据此,可以只选择必要信息,由于可以阻止不必要信息的循环,所以可以防止妨碍重要必要信息的追踪。
本发明的特征在于,根据追踪条件,在追踪中禁止在总线信息存储装置中临时存储不必要的信息。
据此,能够防止重要的必要信息被不必要的信息重写并防止必要信息的追踪。
本发明的特征在于,调试功能内置型微型计算机包括总线信息选择装置,通过调试单元选择并输出要追踪的目标总线上的总线信息,该总线信息选择装置也选择并输出用户电路的总线信息。
据此,用户电路的总线信息与通用电路的总线信息能够使用相同的工具、相同的环境、相同的软件进行追踪。
本发明的特征在于包括输出状态信息的状态信息输出装置,该状态信息输出装置也选择并输出用户电路的状态信息。
据此,用户电路的状态信息与通用电路的状态信息能够用使用相同的工具,相同的环境,相同的软件进行调试。
本发明的特征在于,状态信息包括信号类别、输出状态、容量、读出/写入的信息。
据此在调试时用户不需判断总线信息内容,可用调试工具进行判断,因而更容易分析并提高了调试效率。
符号说明1 CPU2 BCU(总线控制单元)3 DBG(调试单元)4 存储器5 外部调试工具6 调试用个人计算机
7 用户电路10 微型计算机11 指令地址总线12 指令总线13 数据地址总线14、17 数据总线15 读/写信号16 地址总线21 寄存器写入条件判定电路22 信号选择电路23 -1~23-6 寄存器24 高速缓冲存储器25 DMA存储器26 判定信号31、38、39多路转换器32 输出选择电路33 状态生成电路
34 设定寄存器35 追踪数据外部输出36 设定寄存器设定信号37 状态输出40 状态信号41 用户电路追踪数据42 用户电路状态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 外部调试接口
权利要求
1.一种调试功能内置型微型计算机,所述微型计算机内部置有具有总线追踪功能和总线中断功能的调试单元,所述调试单元使用比总线位宽更小的输出位宽追踪所述总线上的信息,其特征在于包括总线信息存储装置,设置在所述调试单元所追踪的每一目标总线上并临时储存所述总线信息;总线信息存储控制装置,其根据追踪条件控制在所述总线信息存储装置中临时存储的所述总线信息;追踪条件指定装置,其通过外部设定将追踪条件指定给所述总线信息存储控制装置;以及存储信息选择装置,其选择作为所述调试单元的输出而被临时存储在所述总线信息存储装置中的总线信息。
2.根据权利要求1所述的调试功能内置型微型计算机,其特征在于作为所述总线信息存储控制装置的控制标准的所述追踪条件包括所述总线信息是读出存取还是写入存取的信息。
3.根据权利要求1所述的调试功能内置型微型计算机,其特征在于作为所述总线信息存储控制装置的控制标准的所述追踪条件包括所述总线信息是数据还是地址的信息。
4.根据权利要求1所述的调试功能内置型微型计算机,其特征在于作为所述总线信息存储控制装置的控制标准的所述追踪条件包括所述总线信息的连接目的地。
5.根据权利要求1所述的调试功能内置型微型计算机,其特征在于作为所述总线信息存储控制装置的控制标准的所述追踪条件包括表示追踪地址从低位到某一位被输出的位数信息。
6.根据权利要求1所述的调试功能内置型微型计算机,其特征在于根据所述追踪条件,所述总线信息存储控制装置禁止在所述总线信息存储装置中临时存储用于追踪的不必要信息。
7.一种调试功能内置型微型计算机,所述微型计算机内部置有具有总线追踪功能和总线中断功能的调试单元,和根据用户的使用目的,设置了通用电路以外的用户电路,其特征在于包括总线信息选择装置,其选择将被所述调试单元追踪的作为所述调试单元的输出的目标总线上的总线信息;以及用户电路总线信息输入装置,其将所述用户电路的总线信息输入所述总线信息选择装置,其中,所述总线信息选择装置还选择并输出从所述用户电路总线信息输入装置输入的作为所述调试单元的输出的所述用户电路的总线信息。
8.根据权利要求7所述的调试功能内置型微型计算机,其特征在于还包括状态信息输出装置,其输出要追踪的总线信息以及指示被追踪的总线信息内容的作为所述调试单元的输出的状态信息;以及用户电路状态输入装置,其将所述用户电路的状态信息输入所述状态信息输出装置,其中,所述状态信息输出装置还选择并输出从所述用户电路状态信息输入装置输入的、作为所述调试单元的输出的所述用户电路的状态信息。
9.根据权利要求8所述的调试功能内置型微型计算机,其特征在于所述状态信息包括信号分类、输出状态、容量和读/写的信息。
全文摘要
本发明提供了一种调试功能内置型微型计算机,该计算机采用比内部总线位宽更少位宽的输出信号线,追踪内部总线信息时把输出只限制在需要的信息,防止需要的信息在中途终止,实现能更准确地追踪实时调试的。在调试功能内置型微型计算机中设置临时存储成为追踪对象的每条总线上所准备总线信息的寄存器23-1~23-6;根据存储在设定寄存器34存储的追踪条件,控制临时存储在寄存器23-1~23-6的总线信息,向寄存器写入判定电路21;以及选择输出临时存在寄存器23-1~23-6的总线信息的多路转换器31。
文档编号G06F11/28GK1444144SQ0310713
公开日2003年9月24日 申请日期2003年3月7日 优先权日2002年3月8日
发明者森垣利彦, 工藤真 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1