CN100440154C - Dma设备的实时调试支持及其方法 - Google Patents

Dma设备的实时调试支持及其方法 Download PDF

Info

Publication number
CN100440154C
CN100440154C CNB2004800407262A CN200480040726A CN100440154C CN 100440154 C CN100440154 C CN 100440154C CN B2004800407262 A CNB2004800407262 A CN B2004800407262A CN 200480040726 A CN200480040726 A CN 200480040726A CN 100440154 C CN100440154 C CN 100440154C
Authority
CN
China
Prior art keywords
dma
message
debugging
information
passage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800407262A
Other languages
English (en)
Other versions
CN1906589A (zh
Inventor
威廉·C·莫耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN1906589A publication Critical patent/CN1906589A/zh
Application granted granted Critical
Publication of CN100440154C publication Critical patent/CN100440154C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

一种数据处理系统(10),包括:通信总线(12);耦合至通信总线(12)的直接存储器访问设备(16),直接存储器访问设备(16)控制信息通道(X,CH0-CH3),信息通道的每一通道经由通道传输(通道X-图3)在系统中从源向目标传输信息;以及耦合至直接存储器访问设备(16)的调试控制电路(26),调试控制电路通过在每通道基础上的编程而提供与直接存储器访问设备(16)的操作参数相关的调试消息(图4-8)。操作参数包括下列至少一个:(1)DMA传输的开始或终止;(2)次循环迭代(59、61、63)传输开始和终止的时刻;(3)主循环迭代(65)开始和终止的时刻;(4)信息通道的状态信息;以及(5)与每一DMA通道请求关联的延迟(50、52、54)。

Description

DMA设备的实时调试支持及其方法
技术领域
本发明涉及数据处理系统,并且更具体地,涉及数据处理系统中的测试与调试特征。
背景技术
数据处理系统具有当作系统通信高速通道的一个或多个总线。该一个或多个总线在由时钟周期定义的时间段期间用于传输地址、数据和/或控制信息。在文献中记录了应用各种技术检测数据处理系统中电路的功能和校验与验证执行软件的功能,称为软件程序调试。测试方法的关键部分是获得数据处理系统各部分的外部可视性,例如寄存器的内容和系统操作的结果。数据处理系统外部的测试与调试设备用于监视由系统的一个或多个总线传送的地址值、数据和控制信息。
典型的数据处理系统使用称为直接存储器访问(DMA)的技术。利用直接存储器访问,可以最少地使用中央处理器(CPU)在输入/输出设备和存储器之间直接传送信息。从而,DMA控制器可用于在数据处理系统中从源向目标传送信息流。
片上系统(SOC)设计通常包括多个设备和总线,这些设备和总线能够利用实时技术产生调试消息。例如,称为IEEE ISTO 5001或者Nexus调试标准的IEEE标准是已经建立的实时调试标准,它利用多个片上设备支持实时调试消息产生。Nexus调试标准规定了一种机制,为外部记录重建工具标识系统中预定的操作条件。然而,此调试信息通常限于监视从系统存储器读取的或向系统存储器写入的信息和记录执行的软件执行流的变化,软件执行流例如为最后采用的分支以来执行的大量顺序指令。当前调试处理器功能提供非常有限数量的有关DMA活动的信息。
发明内容
根据本发明一个方面,提供一种数据处理系统,包括:通信总线;耦合至所述通信总线的直接存储器访问(DMA)设备,所述直接存储器访问设备控制信息通道,所述信息通道的每一通道经由通道传输在所述系统中从源向目标传输信息;以及耦合至所述直接存储器访问设备的调试控制电路,所述调试控制电路通过在每通道基础上的编程而提供与所述直接存储器访问设备的操作参数相关的调试消息,所述操作参数包括下列至少一个:(1)DMA传输的开始或终止;(2)次循环迭代传输开始和终止的时刻;(3)主循环迭代开始和终止的时刻;(4)信息通道的状态信息;以及(5)与每一DMA通道请求关联的延迟。
附图说明
本发明通过示例说明并且不限于附图,其中相同的引用标记表示相同的元件,其中:
图1以框图形式表示根据本发明一个实施例的数据处理系统;
图2以框图形式表示根据本发明的替换数据处理系统;
图3以时序图形式表示作为时间的函数的通道信息传送;
图4以示意图形式表示第一传送消息的格式;
图5以示意图形式表示第二传送消息的格式;
图6以示意图形式表示第三传送消息的格式;
图7以示意图形式表示第四传送消息的格式;
图8以示意图形式表示第五传送消息的格式;
图9以布局图形式表示用于DMA消息传递的控制寄存器;以及
图10以布局图形式表示用于周期性状态消息传递的控制寄存器。
技术人员明白,图中的各元件仅出于简明的目的说明,并不一定依比例绘制。例如,图中一些元件的尺度可能相对于其它元件夸大,以有助于提高对于本发明实施例的理解。
具体实施方式
此处使用的术语“总线”指多个信号或导体,可用于传送一种或者多种类型的信息,例如数据、地址、控制或状态。当涉及使信号、比特或者类似装置呈现其逻辑真或者逻辑假状态时,分别使用“有效”(assert)和“否定”。如果逻辑真状态是逻辑水平一,则逻辑假状态是逻辑水平零。进一步地,此处说明的存储器可为任何类型的存储器,例如只读存储器(ROM)、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、非易失性存储器(例如,闪存)以及MRAM等等。
图1以框图形式表示提供实时DMA专用调试功能的数据处理系统10。数据处理系统10允许专用于DMA总线主控器的一类实时调制消息类型,这些消息表明关键的状态参数。数据处理系统10因此经由DMA单元的实时消息提供改进的调试信息源。
在一种形式中,提供多导体系统总线12在所有系统设备间进行通信。处理器14双向连接至系统总线12。尽管通过斜线将此处说明的双向总线表示为多个导体总线,但是应当容易地理解,还可实现单个导体总线和/或多个单向总线。同样双向连接至系统总线12的是DMA控制器设备16、存储器18、存储器20、外围设备22、外围设备24、调试模块26和总线仲裁器28。调试模块26在其输出端提供用于提供调试信息的调试端口。DMA控制设备16和处理器14的每一个具有输出端,用于向调试模块26提供多比特状态信号。处理器14和DMA控制器设备16的每一个分别具有耦合至总线仲裁器28的多比特双向总线。外围设备22的输出端连接至DMA控制器设备16,以提供标记为DMA_REQ的DMA请求信号。类似地,外围设备24的输出端连接至DMA控制器设备16,以提供标记为DMA_REQ的DMA请求信号。尽管在图1中将此处说明的系统单元表示为直接连接至系统总线12,但是应当理解,诸如驱动器、缓冲器等的耦合电路(未示出)可位于系统总线12和说明的系统单元之间。
在操作中,数据处理系统10利用处理器14执行预定的指令集。信息存储在存储器18或存储器20之一中。应当理解,可以仅实现一个存储器或者其它数量的存储器,并且连接至系统总线12。DMA控制器设备16用于控制从数据处理系统10中的源向数据处理系统10中的目标传送信息流。数据处理系统10中的信息在通道中传送,该信息是在源与目标间关联的流。数据处理系统10中的外围设备,例如外围设备22或者外围设备24,可为任何种类的电路设备,但是通常通过不向总线仲裁器28请求系统总线12的控制而充当系统总线12的从设备。不管外围设备为何种设备,这些外围设备形成系统存储器映射的一部分。总线仲裁器28用于在数据处理系统10中请求控制系统总线12的任何设备间仲裁系统总线12的控制。大量常规仲裁算法中的任一种可用于实现数据处理系统10。调试模块26用于提供与DMA控制器设备16关联的一个或多个实时调试消息,如下所述。换言之,调试模块26通过从DMA控制器设备16和处理器14接收状态信号监视DMA控制器设备16,并且生成下述的实时调试消息以输出至调试端口。
图2所示的是图1的数据处理系统10配置的替换实施例。系统总线30双向连接至DMA控制器44和预定数量的其它系统单元,例如系统单元40和系统单元42。系统单元40和系统单元42可为任何类型的总线主控器或总线从设备。系统单元40、DMA控制器44和系统单元42的每一个分别双向连接至调试模块32、调试模块34和调试模块36。每一调试模块32、调试模块34和调试模块36的输出端连接至调试端口逻辑38。调试端口逻辑38提供用于提供实时调试消息的调试端口。如图2中的点线所示,任意数量的调试模块和系统单元可耦合在系统总线30和调试端口逻辑38之间。
在替换形式中,按照某种方式划分调试模块的功能,以针对耦合至系统总线30的每一系统单元分配调试模块,包括DMA控制器44。调试端口逻辑38从每一调试模块32、调试模块34和调试模块36接收消息,并且在调试端口逻辑处提供这些消息。在一种形式中,将调试端口逻辑38的逻辑配置为在时间顺序的基础上提供调试消息,其中按照从各种调试模块接收消息的顺序输出这些消息。然而,可使用其它逻辑配置实现调试输出的其它顺序。
图3中所示的是表明图1或图2的系统实施例中通道上传输活动的时序图,通道由X表示。假设通道X是与源和目标关联的任一系统实施例中的预定说明性数据流。DMA控制器设备16和DMA控制器44的每一个被配置为支持多个通道,以从源向目标传送信息流。当从任一源或目标设备接收到DMA请求消息时,例如DMA_REQ,产生通道中的传输。例如,在图3中示出了三个分别的请求。每一请求具有与其关联的延迟,例如延迟50与第一请求关联,延迟52与第二请求关联,延迟54与第三请求关联。每一延迟的长度不同,这是由于多种系统因素造成的,例如由总线仲裁器28确定的DMA控制器设备16的当前优先级和由DMA控制器设备16的操作确定的通道X的优先级。此延迟是系统特性,希望其在系统外部可知并且不中断系统。
信息流的传输继续,直到每次请求已经传送特定字节数的数据。在图3示出的形式中,假设DMA控制器设备16和DMA控制器44的每一个每次请求传送N字节的信息,其中N为整数。例如,响应于三个分离的和顺序的通道请求进行传输60、传输62和传输64。应当注意,传输可中断,例如与传输62关联的中断期66。中断期66可由多种系统因素导致,例如由总线仲裁器28确定的总线主控关系的改变。每一N字节的传输被称为“迭代”或者“次循环迭代”。在“主循环迭代”中执行大量次循环迭代。应当注意,术语“迭代”的使用并不暗示或者要求相同次循环或主循环传输的重复。相反,在此语境下,迭代指这样的事实,对于任何通道,例如图3的通道X,传输活动是共同的,并且因此出现多个连续的传输。在图3示例中,主循环迭代65中有三个次循环迭代,次循环迭代59、次循环迭代61和次循环迭代63。因此,可将所说明的通道操作视为两层嵌套传输操作,其中两个层次的嵌套是主循环和次循环。应当理解,可以存在任何数量的次循环迭代,如通道请求信号中点线所示。完成次循环迭代之后,系统总线12的控制可转移至具有未决请求的更高优先级通道。或者,可产生触发事件,以触发另一通道开始次循环迭代。还可在主循环迭代的终止处转移系统总线12的控制。
为了优化总体系统操作,当系统执行时DMA活动各方面的外部可视性非常重要。因此,此处提供一组与DMA活动相关的实时跟踪消息。
在图4中所示的是标识第一传输开始的第一实时DMA控制器消息,第一传输例如为图3的主循环迭代65的第一传输。第一传输消息示出为具有五个字段,其中两个字段是可选的。第一字段被标识为类型码(TCODE)字段,该字段标识消息的类型或功能。仅作为示例,选择六比特TCODE值110111将该消息标识为“第一传输开始”消息。第二字段是通道标识(通道ID)字段,在一种形式中,该字段的长度是四至八比特,通知与该消息关联的是什么通道和通道类型。第三字段是通道状态字段,仅作为示例,长度可为一至八比特中的任一个。通道状态的示例包括第一传输开始时通道的优先级、通道的利用因子(即,例如百分比)、之前是否发生通道的传输错误以及各种其它状态或者信息细节。第四字段可选,它是表示通道将传输多少信息的传输计数。该字段可包含与通道关联的每个次循环迭代的传输计数信息,并且/或者可包含与该通道关联的主循环迭代的传输计数信息。仅作为示例,传输计数字段的长度可从八至六十四比特,但也可采用其它比特长度。第五字段也是可选的,它是传输业务延迟。传输业务延迟标识从初始通道请求至开始传输活动需要多长时间。换言之,此字段中的值是与第一传输关联的中断延迟,例如延迟50。可利用调试模块26中或其它地方的计数器(未示出)测量此字段中的值,以计算与延迟50关联的时间段。在一种形式中,该传输业务延迟字段的长度可为八至六十四比特,但是也可使用其它比特长度。
图5中所示的是第二实时DMA控制器消息,该消息标识次循环迭代的开始,例如图3的任何次循环迭代59、61和63。此第二传输消息被示出为具有五个字段,其中两个字段是可选的。第一字段是类型码(TCODE)字段,该字段将消息标识为“次循环迭代开始”消息。仅出于示例的目的,类型码被表示为111000,但可以使用其它值和比特长度。第二字段是通道标识(ID)字段,该字段标识与次循环迭代开始关联的通道。第三字段是通道状态字段,该字段标识通道的一个或多个参数,例如上面对于第一消息说明的状态信息。第四字段是传输计数,用于标识通道将传送多少信息,如上对于第一消息的传输计数字段的说明。第五字段是传输业务延迟字段,该字段标识延迟,例如延迟50、延迟52或者延迟54。再一次地,为每一字段提供的比特长度仅作为示例。
图6中所示的是第三实时DMA控制器消息,该消息标识诸如图3的任何次循环迭代59、61和63的次循环迭代的终止。此第三传输消息被表示为具有五个字段,其中两个字段是可选的。第一字段是类型码(TCODE)字段,该字段将消息标识为“次循环迭代终止”消息。仅出于示例目的,类型码被表示为111001,但是可使用其它值和比特长度。第二字段是通道标识(ID)字段,该字段标识与次循环迭代终止关联的通道。第三字段是通道状态字段,该字段标识通道的一个或多个状态参数,例如上面针对第一消息说明的状态信息。第四字段是迭代计数,标识目前在系统总线上传送哪个次循环迭代。第五字段是迭代间隔,它是次循环迭代持续多长时间的计数值。可使用位于系统中任何位置的计数器(未示出),但是优选地,该计数器处于调试模块之中或者与其接近。再一次地,为每一字段提供的比特长度仅作为示例。还可配置调试模块26,使得即使通常由于传输错误造成整个次循环并未全部完成也可以生成第三传输消息。
图7中所示的是第四实时DMA控制器消息,该消息标识主循环迭代完成,例如图3的主循环迭代65。此第四传输消息被表示为具有五个字段,其中两个字段是可选的。第一字段是类型码(TCODE)字段,该字段将消息标识为“主循环迭代终止”消息。仅出于示例目的,类型码被表示为111010,但是可以使用其它值和比特长度。第二字段是通道标识(ID)字段,该字段标识与主循环迭代终止关联的通道。第三字段是通道状态字段,该字段标识通道的一个或多个状态参数,例如上面对于第一消息说明的状态信息。第四字段是传输计数,用于标识通道已经传送了多少信息,如上对于第一消息的传输计数字段的说明。第五字段是传输间隔字段,它是主循环迭代持续多长时间的计数值。可使用位于系统中任何位置的计数器(未示出),但优选地,该计数器处于调试模块26中或与其接近。再一次地,为每一字段提供的比特长度仅作为示例。还可配置调试模块26,使得即使通常由于传输错误造成整个主循环并未全部完成也可以生成第四传输消息。
图8中所示的是第五实时DMA控制器消息,该消息在周期性的基础上提供标识的通道的状态。该周期性的消息收发用于提供标识的通道的一个或者多个状态指标。此第五传输消息被表示为具有四个字段,其中一个字段是可选的。第一字段是类型码(TCODE)字段,该字段将消息标识为‘周期状态’消息。仅出于示例目的,类型码被表示为111011,但是可以使用其它值和比特长度。第二字段是通道标识(ID)字段,该字段标识与提供的状态信息关联的通道。第三字段是通道状态字段,该字段标识通道的一个或多个状态参数,例如上面结合第一消息的讨论而说明的状态信息。第四字段是当前传输计数,标识在与状态相关的时刻当前传输已经进行了多少。周期性的状态消息可用于确定系统中通道的相对进展和允许通道优先级以及DMA通道的总线主控器优先级的修改。为了生成周期性的状态消息,通过下面说明的可编程的寄存器控制启动该功能。当启动该功能时,何时提供周期性的状态消息的时序是明确的。无论何时出现预先确定或者预先定义数量的系统时钟或总线周期,可产生周期性的状态消息。或者,可根据固定周期生成周期性的状态消息,固定周期由系统中连接的特定硬件确定。
图9中所示的是一个DMA通道的控制寄存器70。仅在示例形式中,控制寄存器70具有启动或者禁止八五DMA实时消息的五个比特和启动或者禁止生成观察点触发的四个比特。在一种形式中,提供各种DMA通道的控制寄存器,每一个都类似于控制寄存器70,它们位于调试模块26中。控制寄存器70用于表示为通道“CH0”的DMA通道。紧接着控制寄存器70下方的是任何通道的控制比特功能的说明,通道表示为通道x,CHx。控制寄存器70的第一比特,比特0,启动周期性状态消息功能。当比特0具有有效(asserted)的逻辑一值时,调试模块26将产生具有图8所示格式的周期性的状态消息。按照类似的方式,控制寄存器70的比特五、六、七和八分别启动或者禁止图7、6、5和4的消息。除了图4-8的DMA消息外,控制寄存器70用于启动观察点的触发,以进行数据处理系统10的外部分析。此处使用的术语“观察点”指监视预定的内部系统事件和当发生这些系统事件时的信令或指示。控制寄存器70的比特1、2、3和4与观察点功能的启动关联。当启动这些观察点时,由调试模块26向与出现的功能关联的调试端口提供指示,而不是在事件发生时进行指示。例如,SOTWTE比特启动确定在关联通道中传输开始以及如果发生传输则在调试端口使信号有效或提供消息的功能。图9中提供的其它观察点比特用于指示出现迭代(可定义次循环或者主循环)的开始(比特3),出现迭代(次循环或主循环)的终止(比特2)以及出现传输(次循环或者主循环)的结束(比特1)。观察点功能的选择性使用可用于启动其它调试功能。例如,可在数据处理系统10中使用“传输终止”观察点来触发与系统单元40、系统单元42、处理器14关联的其它调试功能或者数据处理系统10中任何其它希望的功能。控制寄存器70的功能可从图9中所示的功能扩大或者缩小,这取决于希望的应用需求。控制寄存器70还可位于除调试模块26之外的数据处理系统10的其它区域中。
图10中所示的是周期性的状态消息控制寄存器80,具有针对于DMA控制器设备16的每一希望的通道数量的字段。在示出的形式中,提供四个通道并且分配三十二个比特,但是可使用任何数量的通道和比特。在第一通道字段中,表示为CH0,存储在其中的数字值控制由调试模块26产生的周期性状态消息的速率。因此,周期性的状态消息控制寄存器80允许用于每一将要产生的每一通道的可编程的和独立的报告速率。
到现在为止应当明白,已经提供了一种实时调试支持方法和结构,该方法和结构以DMA操作参数专用消息的形式提供信息。包括在DMA操作参数信息中的是知道DMA传输何时开始和终止,知道每一个次循环迭代的开始和终止时刻,知道主循环迭代开始和终止时刻,知道预定DMA通道的周期状态以及知道多大的延迟与每一DMA通道请求关联。此处说明的DMA调试消息根据DMA控制器设备16中现有的信号生成,并且在实时基础上生成,因此在DMA控制器设备16或处理器14的操作中不出现中断。通过具有对于包含在此处说明的DMA消息中包含的信息的外部访问,可容易地获得改进水平的片上系统(SOC)调试、验证和性能。
在一种形式中,提供了一种系统及其操作方法,该系统具有通信总线和耦合至该通信总线的直接存储器访问(DMA)设备。该直接存储器访问设备控制信息通道,信息通道的每一通道经由通道传输从系统中的源向目标传送信息。调试控制电路耦合至DMA设备,该调试控制电路提供调试消息,调试消息标识至少一个预定通道的DMA通道传输边界的存在。调试控制电路进一步包括可编程控制机制,用于选择调试消息将标识通道传输边界的存在的、由直接存储器访问设备控制的那个信息通道。由调试控制电路提供的调试消息之一表明至少一个预定通道的通道传输已经开始。另一调试消息进一步表明至少一个预定通道的状态参数。在一种形式中,状态参数为下列之一:(1)至少一个预定通道的通道优先级;(2)至少一个预定通道的利用因子;(3)对于至少一个预定通道以前是否发生传输错误。在另一形式中,调试消息之一进一步表明与通道传输关联的时间延迟,该时间延迟表明直接存储器访问设备接收到开始传送信息的请求和实际传送信息间的系统延迟。在又一形式中,由调试控制电路提供的调试消息之一表明至少一个预定通道的通道传输已经终止。在另一形式中,由调试控制电路提供的调试消息之一表明至少一个预定通道的多个次循环迭代的每一个已经开始。在另一形式中,由调试控制电路提供的调试消息之一表明至少一个预定通道的多个次循环迭代的每一个已经终止。在另一形式中,由调试控制电路提供的调试消息之一表明至少一个预定通道的周期性状态。或者,可将系统配置为具有多个系统单元,多个系统单元的每一个耦合至通信总线。在替换形式中,调试控制电路进一步包括多个调试模块,用于提供调试消息,多个调试模块的每一个均耦合至多个系统单元的预定的一个。调试端口逻辑耦合至多个调试模块,以向调试端口提供调试消息。
在另一形式中,提供了一种系统和操作方法,该系统具有通信总线和耦合至通信总线的直接存储器访问(DMA)设备。直接存储器访问(DMA)设备控制信息通道,信息通道的每一通道经由通道传输从系统中的源向目标传送信息。调试控制电路耦合至DMA设备,该调试控制电路提供调试消息,调试消息周期性地提供至少一个预定通道的至少一个状态参数。在一种形式中,至少一个状态参数是下列至少一个:(1)至少一个预定通道的优先级,(2)至少一个预定通道的利用因子,以及(3)对于至少一个预定通道之前是否发生传输错误。调试控制电路另外提供表明通道传输已经开始的调试消息。调试控制电路另外提供表明通道传输已经终止的调试消息。调试控制电路是可编程的,为每一信息通道启动调试消息的选择性生成。调试控制电路进一步地生成观察点指示符,该观察点指示符是至少一个预定通道的预定观察点条件,该预定的观察点条件是基于直接存储器访问设备活动的观察点条件。调试控制电路进一步生成多个观察点指示符,每一个观察点指示符分别表明不同的一个信息通道的观察点条件。控制寄存器存储启动和禁止提供调试消息的控制信号,调试消息周期性地提供至少一个预定通道的至少一个状态参数。直接存储器访问设备实现相同通道内的嵌套的信息传输,包括形成主循环迭代的多个次循环迭代。每一调试消息包括具有预定比特字段的多比特消息,这些字段包括消息类型字段、通道标识字段和状态信息字段。
在另一形式中,提供一种系统和操作方法,该系统具有通信总线和耦合至该通信总线的直接存储器访问(DMA)设备。该直接存储器访问(DMA)设备控制多个信息通道,信息通道的每一通道经由通道传输在系统中从源向目标传送信息。调试控制电路耦合至DMA设备。该调试控制电路通过在每通道基础上的可编程提供与直接存储器访问设备的操作参数相关的调试消息。该直接存储器访问设备的操作参数包括关于传输边界是否出现和周期性状态消息中至少一个的信息。调试控制电路进一步提供至少一个调试消息,调试消息包括与直接存储器访问设备的系统延迟相关的延迟信息,在直接存储器访问设备接收到通道传输请求后直接存储器访问设备开始通道传输。
应当明白,对于所公开的实施例可进行各种修改。例如,处理器14可实现为各种不同类型的数据处理电路,以执行各种处理功能。任何类型的外围设备可经由系统总线耦合至处理器14,包括协处理器。可利用任何不同的比特大小实现该系统。任何类型的存储设备可用于说明的贮存器、寄存器和存储器。可按照任何方式改变消息字段的顺序。可改变控制寄存器中控制比特的顺序。
上面对于特定实施例说明了益处、其它优势和问题的解决方案。然而,这些益处、优势、问题的解决方案以及使任何益处、优势或解决方案出现或显得更加明显的任何要素将不被视为任何或所有权利要求的关键的、必须的或本质的特征。如此处所使用,术语“包括”或其任何其它变形,目的是涵盖非排它性的内容,使得包括一系列要素的过程、方法、物品或装置不仅包括这些要素,而且包括没有明确列出的或这些过程、方法、物品或装置固有的要素。如此处所使用的,术语“一”(a或an)定义为一个或多个一个。如此处所使用,术语“多个”定义为两个或多于两个。如此处所使用,术语“另一”定义为至少第二或更多。如此处所使用,术语“包括”和/或“具有”定义为“包含”(例如,开放式语言)。如此处所使用,术语“耦合”,定义为“连接”,但是不一定是直接的也不一定是机械的连接。

Claims (5)

1.一种数据处理系统(10),包括:
通信总线(12);
耦合至所述通信总线(12)的直接存储器访问(DMA)设备(16),所述直接存储器访问设备(16)控制信息通道(X,CH0-CH3),所述信息通道的每一通道经由通道传输(通道X-图3)在所述系统中从源向目标传输信息;以及
耦合至所述直接存储器访问设备(16)的调试控制电路(26),所述调试控制电路通过在每通道基础上的编程而提供与所述直接存储器访问设备(16)的操作参数相关的调试消息(图4-8),所述操作参数包括下列至少一个:(1)DMA传输的开始或终止;(2)次循环迭代(59、61、63)传输开始和终止的时刻;(3)主循环迭代(65)开始和终止的时刻;(4)信息通道的状态信息;以及(5)与每一DMA通道请求关联的延迟(50、52、54)。
2.权利要求1的系统,其中所述调试消息(图4-8)标识至少一个预定通道的DMA通道传输边界的存在,所述调试消息之一指示与所述通道传输关联的时间延迟,该时间延迟指示所述直接存储器访问设备(16)接收到开始传输信息的请求和实际传输所述信息之间的系统延迟。
3.权利要求1的系统(10),其中,每一条所述调试消息(图4-8)指示各自通道的利用因子(通道状态字段)。
4.权利要求1的系统(10),其中所述调试消息(图4-8)标识至少一个预定通道的DMA通道传输边界的存在,其中,所述调试控制电路所提供的所述调试消息之一(图6)表明所述至少一个预定通道的通道传输已经终止。
5.权利要求1的系统(10),其中所述调试消息(图4-8)周期性地提供至少一个预定通道的至少一个状态参数,所述至少一个状态参数包括下列之一:(1)通道优先级;(2)利用因子;(3)对于至少一个预定通道以前是否发生过传输错误。
CNB2004800407262A 2004-01-23 2004-12-21 Dma设备的实时调试支持及其方法 Expired - Fee Related CN100440154C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/764,110 US6920586B1 (en) 2004-01-23 2004-01-23 Real-time debug support for a DMA device and method thereof
US10/764,110 2004-01-23

Publications (2)

Publication Number Publication Date
CN1906589A CN1906589A (zh) 2007-01-31
CN100440154C true CN100440154C (zh) 2008-12-03

Family

ID=34740159

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800407262A Expired - Fee Related CN100440154C (zh) 2004-01-23 2004-12-21 Dma设备的实时调试支持及其方法

Country Status (6)

Country Link
US (2) US6920586B1 (zh)
JP (1) JP4531773B2 (zh)
KR (1) KR101045475B1 (zh)
CN (1) CN100440154C (zh)
TW (1) TWI354885B (zh)
WO (1) WO2005073855A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447578B (zh) * 2010-01-22 2014-08-01 Synopsys Inc 用於以封包切換為基礎的邏輯複製之方法和系統

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
DE602005015632D1 (de) * 2005-06-30 2009-09-03 Freescale Semiconductor Inc Einrichtung und verfahren zur steuerung mehrerer dma-tasks
DE602005017948D1 (de) * 2005-06-30 2010-01-07 Freescale Semiconductor Inc Einrichtung und verfahren zum arbitrieren zwischen direktspeicherzugriffs-task-anforderungen
WO2007003986A1 (en) * 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling an execution of a dma task
DE602005023542D1 (de) * 2005-06-30 2010-10-21 Freescale Semiconductor Inc Einrichtung und verfahren zum ausführen einer dma-task
US8054752B2 (en) * 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US7756036B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Synchronous data communication
US7757028B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Multi-priority messaging
US7865704B2 (en) 2006-03-29 2011-01-04 Freescale Semiconductor, Inc. Selective instruction breakpoint generation based on a count of instruction source events
US8160084B2 (en) * 2006-09-22 2012-04-17 Nokia Corporation Method for time-stamping messages
US8402258B2 (en) 2008-07-25 2013-03-19 Freescale Semiconductor, Inc. Debug message generation using a selected address type
US7958401B2 (en) * 2008-07-25 2011-06-07 Freescale Semiconductor, Inc. Debug trace messaging with one or more characteristic indicators
US8024620B2 (en) * 2008-07-25 2011-09-20 Freescale Semiconductor, Inc. Dynamic address-type selection control in a data processing system
US8250250B2 (en) * 2009-10-28 2012-08-21 Apple Inc. Using central direct memory access (CDMA) controller to test integrated circuit
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US8713370B2 (en) * 2011-08-11 2014-04-29 Apple Inc. Non-intrusive processor tracing
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9645870B2 (en) 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9256399B2 (en) * 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
US9552279B2 (en) * 2013-08-16 2017-01-24 Nxp Usa, Inc. Data bus network interface module and method therefor
US20160299859A1 (en) * 2013-11-22 2016-10-13 Freescale Semiconductor, Inc. Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method
US9419621B1 (en) 2015-09-18 2016-08-16 Freescale Semiconductor, Inc. System on chip and method of operating a system on chip
US11231987B1 (en) * 2019-06-28 2022-01-25 Amazon Technologies, Inc. Debugging of memory operations
US11099966B2 (en) * 2020-01-09 2021-08-24 International Business Machines Corporation Efficient generation of instrumentation data for direct memory access operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065037A (en) * 1989-09-08 2000-05-16 Auspex Systems, Inc. Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system
US6145007A (en) * 1997-11-14 2000-11-07 Cirrus Logic, Inc. Interprocessor communication circuitry and methods
US20020178396A1 (en) * 2001-04-23 2002-11-28 Wong Joseph D. Systems and methods for providing automated diagnostic services for a cluster computer system
US6816924B2 (en) * 2000-08-10 2004-11-09 Infineon Technologies North America Corp. System and method for tracing ATM cells and deriving trigger signals

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688166A (en) 1984-08-03 1987-08-18 Motorola Computer Systems, Inc. Direct memory access controller supporting multiple input/output controllers and memory units
JPH0758475B2 (ja) * 1989-05-24 1995-06-21 株式会社日立製作所 端末装置のデータ収集システム
KR960016648B1 (ko) * 1993-12-29 1996-12-19 현대전자산업 주식회사 커먼 컨트롤 중복 스위치 방법
US6085037A (en) 1996-09-13 2000-07-04 Concord Camera Corp. APS camera structure for film preloading
US6145122A (en) 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US6032269A (en) * 1998-06-30 2000-02-29 Digi-Data Corporation Firmware recovery from hanging channels by buffer analysis
WO2000036492A2 (en) * 1998-12-18 2000-06-22 Triconex Corporation Method and apparatus for processing control using a multiple redundant processor control system
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
US6567933B1 (en) * 1999-02-19 2003-05-20 Texas Instruments Incorporated Emulation suspension mode with stop mode extension
US6615370B1 (en) * 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6470071B1 (en) 2001-01-31 2002-10-22 General Electric Company Real time data acquisition system including decoupled host computer
US6973229B1 (en) * 2001-02-28 2005-12-06 Lambda Opticalsystems Corporation Node architecture for modularized and reconfigurable optical networks, and methods and apparatus therefor
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
US20030204636A1 (en) * 2001-07-02 2003-10-30 Globespanvirata Incorporated Communications system using rings architecture
WO2003034225A2 (en) 2001-10-12 2003-04-24 Pts Corporation Debugging of processors
US6877114B2 (en) 2002-02-14 2005-04-05 Delphi Technologies, Inc. On-chip instrumentation
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065037A (en) * 1989-09-08 2000-05-16 Auspex Systems, Inc. Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system
US6145007A (en) * 1997-11-14 2000-11-07 Cirrus Logic, Inc. Interprocessor communication circuitry and methods
US6816924B2 (en) * 2000-08-10 2004-11-09 Infineon Technologies North America Corp. System and method for tracing ATM cells and deriving trigger signals
US20020178396A1 (en) * 2001-04-23 2002-11-28 Wong Joseph D. Systems and methods for providing automated diagnostic services for a cluster computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447578B (zh) * 2010-01-22 2014-08-01 Synopsys Inc 用於以封包切換為基礎的邏輯複製之方法和系統
US9052357B2 (en) 2010-01-22 2015-06-09 Synopsys, Inc. Packet switch based logic replication

Also Published As

Publication number Publication date
JP2007522550A (ja) 2007-08-09
KR20060126734A (ko) 2006-12-08
CN1906589A (zh) 2007-01-31
TWI354885B (en) 2011-12-21
JP4531773B2 (ja) 2010-08-25
TW200602852A (en) 2006-01-16
WO2005073855A1 (en) 2005-08-11
KR101045475B1 (ko) 2011-06-30
US20050193256A1 (en) 2005-09-01
US7287194B2 (en) 2007-10-23
US6920586B1 (en) 2005-07-19

Similar Documents

Publication Publication Date Title
CN100440154C (zh) Dma设备的实时调试支持及其方法
JP4805163B2 (ja) 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
JP4987182B2 (ja) コンピュータシステム
CN100533370C (zh) 多处理器系统及运行多处理器系统的方法
US8074131B2 (en) Generic debug external connection (GDXC) for high integration integrated circuits
CN107111572B (zh) 用于避免死锁的方法和电路
US10078568B1 (en) Debugging a computing device
CN1570907B (zh) 多处理器系统
CN105335548B (zh) 一种用于ice的mcu仿真方法
JP4865943B2 (ja) コンピュータシステム
US4549296A (en) Device for reporting error conditions occurring in adapters, to the data processing equipment central control unit
CN101529404B (zh) 用于时间戳消息的方法
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
TW201423413A (zh) 匯流排訊號監測裝置及方法
TW202324095A (zh) 用於系統單晶片系統之除錯或性能分析之可視化系統
CN106326172B (zh) 一种APB总线slave接口扩展电路及其使用方法
CN100517289C (zh) 总线转换电路
US8468394B2 (en) Method of tracing selected activities within a data processing system by tagging selected items and tracing the tagged items
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
CN111143141B (zh) 一种状态机设置方法及系统
Stollon et al. Infineon multicore debug solution
CN104021059A (zh) 一种事件顺序记录测试信号产生系统及其产生方法
SU911527A1 (ru) Пульт управлени мультипроцессорной вычислительной машины
Zheng et al. Statistics Monitor Design for Data Flow and Performance Analysis of an AMBABased SoC System
SU851391A1 (ru) Адаптер канал-канал

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081203

Termination date: 20161221