专利名称:一种总线的实时跟踪系统及相应的跟踪、调试方法
技术领域:
本发明涉及信息的跟踪和调试,尤其涉及一种总线实时跟踪装置及相应 的跟踪、调试方法。
背景技术:
片上集成系统(SoC)存在多个功能模块如处理器、硬件加速器等等。 图1所示为现有技术中常见的总线系统,包含有多个请求模块,各模块通过 独立的总线,经过存储器仲裁单元访问特定的存储装置如SRAM、 ROM、 SDRAM等等。各模块和存储器仲裁单元之间以及存储器仲裁单元和存储装 置之间采用某个标准的总线协议,如AHB, AXI, APB, OCP等。本发明 对总线类型不做限制。
这些功能模块各自独立运行,根据需要访问各种存储器资源。对于任意 可以访问的存储装置,SoC系统中都有确定唯一的地址空间以便和其他存储 空间相互区别开。同时为了保证系统的安全可靠,各个存储空间对于每一个 功能模块, 一般开放不同的访问控制权限,如对于片内的启动用的静态存储 器(SRAM),可能只允许主控制器读写,而禁止其他模块写。
当SoC的系统功能越来越复杂,任意功能模块如果出现违规访问受限 的存储空间时,将越来越难以及时和直接地观察到。这将导致一个复杂系统 的可靠性大幅度下降。
传统的开发调试手段,是逐个屏蔽各功能模块,通过一一推断排查的方 式获得调试结果。釆用这种逐个屏蔽的做法来跟踪模块对总线的访问操作, 不仅费时费力,效率低下,而且无法获知潜在的未暴露在系统错误中的违规 访问操作,因此有必要对现有的调试技术加以改进。
对于具有类似应用场景的嵌入式系统也存在相似的问题。
发明内容
本发明所要解决的技术问题是提供一种总线的实时跟踪系统,可以很方 便地实现对模块总线的访问和特定事件的实时监测。
为了解决上述技术问题,本发明提供了一种总线的实时跟踪系统,包括 要跟踪的总线以及与该总线连接的至少 一 实时跟踪装置,该实时跟踪装置至
少包括触发条件配置单元、触发信号生成单元、跟踪单元和存储单元,其中
所述触发条件配置单元用于配置实时跟踪的触发条件参数;
所述触发信号生成单元包括一 IO接口和一比较电路,用于在跟踪使能 信号有效后,通过该10接口实时^^查要跟踪的总线上的总线访问信息并在 该比较电路中对总线访问信息和触发条件参数进行比较,经根据设定触发条 件生成的该比较电路的运算逻辑判定为满足触发条件时,生成一触发信号通 知跟踪单元开始跟踪;
所述跟踪单元包括一 IO接口和一存储控制电路,用于在收到触发信号 后,通过该IO接口将要跟踪的总线上的总线访问信息引入,通过该存储控 制电路将全部或部分总线访问信息保存到存储单元;
所述存储单元用于保存总线访问信息。
进一步地,上述实时跟踪系统还可具有以下特点还包括保存条件配置 单元,该保存条件配置单元与所述跟踪单元连接,其中
所述保存条件配置单元用于配置总线信息的保存条件参数;
所述跟踪单元还包括一比较电路,将总线访问信息接入后,在该比较电 路中比较总线访问信息和保存条件参数,经根据设定保存条件生成的该比较 电路的运算逻辑判定为满足保存条件的总线访问信息,由所述存储控制电路 实时写入到存储单元。
进一步地,上述实时跟踪系统还可具有以下特点
所述触发条件配置单元中配置的触发条件参数为触发跟踪的起始地址、 访问类型、访问模块标识、设定访问数据和特定二进制序列中的一种或多种;所述保存条件配置单元中配置的保存条件参数为访问地址和访问数据 中的一种或多种。
进一步地,上述实时跟踪系统还可具有以下特点
还包括结束条件配置单元,用于配置结束条件参数的阈值;且所述跟踪 单元在跟踪过程中,实时检测所述结束条件参数的当前值,如已达到结束条 件参数的阈值则结束跟踪;和/或
还包括中断条件配置单元,用于配置中继条件参数的阈值;且所述跟踪 单元在跟踪过程中,实时检测所述中断条件参数的当前值,如已达到中断条 件参数的阈值则向调试装置发出中断。
进一步地,上述实时跟踪系统还可具有以下特点
所述结束条件参数和中断条件参数均为保存的总线访问信息的数据量, 且所述结束条件参数的阈值和中断条件参数的阈值小于等于所述存储单元 的容量。
进一步地,上述实时跟踪系统还可具有以下特点
所述要跟踪的总线为片上集成系统总线系统中的存储器仲裁模块与功 能模块之间,或者存储器仲裁模块与存储装置之间的总线。
上总线的实时跟踪系统简单有效地实现了对模块总线的访问或特定事 件的实时监测,可以独立和各种总线组成完整的可调试总线系统,并且对总 线本身时序无影响,面积小,可移植性高。特别适用于SoC系统。
本发明所要解决的又一技术问题是提供一种总线的实时跟踪方法,可以 实时监测模块总线的访问或特定事件。
为了解决上述技术问题,本发明提供了一种总线的实时跟踪方法,应用 于包括要跟踪的总线和与该总线连接的至少 一实时跟踪装置的跟踪系统,对 一-各要跟踪的总线进行实时跟踪时,该实时跟踪方法包括
根据欲要跟踪的总线访问信息,在所述实时跟踪装置中配置实时跟踪的 触发条件参数;打开跟踪功能后,所述实时跟踪装置实时检查总线上的总线访问信息并 与触发条件参数比较,在符合设定触发条件时开始跟踪,并保存跟踪结束前 的全部或部分总线访问信息。
进一步地,上述实时跟踪方法还可具有以下特点
打开跟踪功能前,还在所述实时跟踪装置中配置总线信息的保存条件参
数;
开始跟踪后,所述实时跟踪装置按照配置的保存条件参数,实时保存符 合设定保存条件的总线访问信息。
进一步地,上述实时跟踪方法还可具有以下特点
所述触发条件参数为触发跟踪的起始地址、访问类型 设定访问数据和特定二进制序列中的一种或多种;
所述保存条件参数为访问地址和访问数据中的 一种或
进一步地,上述实时跟踪方法还可具有以下特点
打开跟踪功能前,还在所述实时跟踪装置中配置结束条件参数的阈值, 所述实时跟踪装置在跟踪过程中,实时检测所述结束条件参数的当前值,如 已达到所述结束条件参数的阈值则结束跟踪;和/或
打开跟踪功能前,还在所述实时跟踪装置中配置中断条件参数的阈值, 所述实时跟踪装置在跟踪过程中,实时检测所述中断条件参数的当前值,如 已达到所述中断条件参数的阈值则向调试装置发出中断。
进一步地,上述实时跟踪方法还可具有以下特点
所述结束条件参数和中断条件参数均为保存的总线访问信息的数据量, 且所述结束条件参数的阈值和中断条件参数的阈值小于等于所述存储单元 的容量。
进一步地,上述实时跟踪方法还可具有以下特点
所述要跟踪的总线为片上集成系统总线系统中的存储器仲裁模块与功 能模块之间,或者存储器仲裁模块与存储装置之间的总线。
、访问才莫块标识、 多种。上述总线的实时跟踪方法,可以实时监测任意模块总线的访问或特定事 件,提供定位违规访问操作的信息,还可主动通知系统来修复或规避错误。 特别适用于SoC系统。
本发明所要解决的再一技术问题是提供一种基于上述总线实时跟踪方 法的调试方法,可以利用实时跟踪到的总线访问信息,方便、快速地定位违 规访问操作。
为了解决上述技术问题,本发明提供了 一种基于上述总线实时跟踪方法 的调试方法,在保存了跟踪到的总线访问信息后,调试装置读取实时跟踪时 保存的总线访问信息,利用该总线访问信息进行调试。
上述调试方法,可以利用实时监测任意模块总线的访问或特定事件,方
便、快速地定位违规访问操作,特别适用于SoC系统。
图1为现有技术中常见的SoC总线系统示意图。
图2为本发明实施例实时跟踪系统的结构图。
图3为本发明实施例实时跟踪调试方法的流程图。
具体实施例方式
以下将结合附图及实施例来详细说明本发明的实施方式。
图2所示为本实施例基于片上集成系统(SoC)总线系统的实时跟踪系 统, 一个实时跟踪装置连接到存储器仲裁模块与一模块之间的总线上,也可 以连接到存储器仲裁模块与 一存储装置之间的总线上。在利用该实时跟踪系 统进行调试时,完整的调试系统中还应包括一调试装置(图中未示出),用 于读取实时跟踪装置保存的总线访问信息(控制信号、读写地址、数据等),
完成调试。
图2中还示出了实时跟踪装置的结构,包括触发条件配置单元、触发 信号生成单元、保存条件配置单元、跟踪单元和存储单元。其中触发条件配置单元包括一个或多个用于配置实时跟踪的触发条件参数 的寄存器,该触发条件参数可以是用于触发跟踪的起始地址、访问类型(读 或写)、访问模块标识和设定访问数据中的一种或多种,也可以是其他任何 在总线上传输的信息即总线访问信息,也可以是特定的二进制序列。
触发信号生成单元用包括IO接口和比较电路的逻辑电路实现,与总线、
触发条件配置单元和跟踪单元连接,用于在跟踪使能信号有效后,通过IO
接口实时检查总线上的总线访问信息并在比较电路中与触发条件参数比较, 经根据设定触发条件(包括总线访问信息与触发条件参数之间需满足的逻辑 关系)生成的比较电路运算逻辑(比较、与、或、非等等各种逻辑运算)判 定为满足触发条件(如总线访问信息中具有配置的起始地址、访问模块标识、 设定访问数据等)时,生成一触发信号通知跟踪单元开始跟踪。在一特例中, 可以在跟踪功能打开后即生成触发信号,此时可认为任何总线访问信息均符 合触发条件,此时可通过将触发条件参数配置为与其比较的任何总线访问信 息均可产生触发信号的特定二进制序列。
保存条件配置单元包括一个或多个用于配置总线信息的保存条件参数 的寄存器。在跟踪保存的空间有限时,总线访问信息难以完全保存,根据调 试需要可以只保存关心的总线访问信息,如访问地址、访问数据及其他任何 总线访问信息中的一种或多种。当然,如果跟踪信息的存储单元有足够的存 储空间,也可以不配置保存条件。
跟踪单元用包括IO接口 (可与触发信号生成单元共用)、比4交电^各和
存储控制电路的逻辑电路实现,与总线、保存条件配置单元、触发信号生成
单元和存储单元相连,用于在收到触发信号后,通过IO接口将总线访问信
号接入并在比较电路中与配置的保存条件参数比较,经比较电路运算逻辑 (根据保存条件生成)判定为满足保存条件的总线访问信息由存储控制电路 实时写入到存储单元。
存储单元用于保存全部或部分的总线访问信息,如可采用SRAM,主处 理器可以直接访问该SRAM,获取跟踪到的总线访问信息。该SRAM可以 是独立的SRAM,也可以复用片内已有SRAM,以节省面积。
可选的,在跟踪过程中跟踪装置可以主动停止跟踪,此时可以增加一结束条件配置单元,包括一个或多个寄存器,用于配置实时跟踪的结束条件参 数的阈值。跟踪单元在跟踪过程中,实时检测结束条件参数的当前值,如已 达到该阈值则结束跟踪。如,在需要保存的跟踪信息可能会大于存储单元的 容量时,该结束条件可以配置为一数据量,如1K个字节等,小于存储单元 的容量即可。在跟踪单元中设置一计数器,对已保存的跟踪信息的数据量进 行统计,如达到配置的数据量即停止跟踪。
可选地,在跟踪过程中跟踪装置可以主动通知调试装置。此时需增加一 中断条件配置单元,包括一个或多个用于配置中断条件参数的阈值的寄存 器。该中断条件参数如可以是已保存的跟踪信息的数据量,也可以是某个特 定信息,如特定地址、特定数据等。相应地,跟踪单元在跟踪过程中,实时 检测中继条件参数的当前值,如已达到相应阈值(如计数器统计的已保存的 跟踪信息的数据量达到设定值)则向调试装置发出中断。调试装置的中断服 务程序可以从存储单元中读取数据或进行其他调试相关的操作。发生中断信 号后,跟踪单元还可以继续对总线访问信息进行跟踪。
明显,上述实时跟踪装置并不局限于用在SoC系统中,根据具体应用
调整触发条件和保存条件等,可以独立和各种总线组成完整的实时跟踪调试 系统,对总线本身的时序无影响,面积小,可移植性高,并且能根据需要在 硬件结构上方便地进行复制和扩展,保证调试的规模可根据项目需要快速定 制,快速移植。
基于以上系统,图3示出了本实施例实时跟踪调试方法的流程图,描述 了对一路总线访问信息进行实时跟踪的步骤,包括
步骤S310,根据欲要跟踪的总线访问信息,在实时跟踪装置中配置实 时跟踪的触发条件参数和总线信息的保存条件参数;
在该步中,还可以选4奪性地配置跟踪的结束条件参凄t和在跟踪过程中产 生中断的中断条件参数。所述保存条件参数也是可选的。
步骤S320,打开跟踪功能后,实时跟踪装置实时^r查总线上的总线访问信息并与触发条件参数比较,在符合设定触发条件时开始跟踪;
步骤S330,实时跟踪装置按照配置的保存条件参数,实时保存符合设 定保存条件的总线访问信息,直到跟踪结束;
以上步骤已完成了对总线访问信息的实时跟踪。
步骤S340,调试装置读取实时跟踪时保存的总线访问信息,利用该总 线访问信息进行调试。
根据调试的情况,还可以重新产生更加符合需要的实时跟踪硬件,再从 步骤310开始下一次调试。这里主要关心跟踪信息的实时获取,对于具体调 试方法不做任何限制。
可选的,还可以配置实时跟踪的结束条件参数的阈值,在跟踪过程中, 实时跟踪装置实时检测结束条件参数的当前值,如达到该阈值则结束跟踪。 如,配置该结束条件参数的阈值为一数据量,跟踪时对已保存的跟踪信息的 凄t据量进行统计,如达到该数据量阈值即停止跟踪。跟踪结束也可以由调试 装置来触发,如置跟踪结束使能信号为有效。
可选地,还可以配置中断条件参数的阈值,在跟踪过程中,实时跟踪装 置实时检测中断条件参数的当前值,如达到该阈值则向调试装置发出中断信 号。发生中断信号后,可以继续对总线访问信息进行实时跟踪。如无中断, 则在软件运行结束后,读取实时跟踪过程保存的总线访问信息,进行进一步 的分析调试。
下面描述2个简单的3艮踪调试的示例
其一,对一功能模块和存储器仲裁单元之间的总线跟踪时,将触发条件 配置为功能模块的访问类型(读和写),保存条件配置为访问数据即只保存 总线访问信息中的访问数据。这样可以跟踪该功能模块的某段读写数据。
其二,对存储器仲裁单元和一存储装置之间的总线跟踪时,将触发条件 配置为访问存储的某个特定地址,将保存条件配置为访问的模块序号。这样 就可以跟踪对该地址读写的所有功能模块,从而方便地定位对该存储装置进 行违规访问操作的功能模块。
以上是以对功能模块与存储器仲裁单元之间的 一路 线进行跟踪为例进行说明的,在其他实施例和实际应用中,可以在功能模块与存储器仲裁单 元之间的多条总线上接入实时跟踪调试装置,实现对多条总线的实时跟踪。 对于不同总线,跟踪的目的往往不同,因此对每路总线所配置的实时跟踪的 触发条件、总线信息的保存条件、跟踪结束条件和产生中断的条件可以不同, 以实现不同的跟踪功能。而对同一实时跟踪装置,也可以通过触发条件、保 存条件等的不同配置和/或硬件电路的调整来实现对同 一总线的不同跟踪功 能。同 一 实时跟踪装置也可以先后与不同模块与存储器仲裁单元之间的总线 连接,逐一 实现对这些总线的访问信息的跟踪。
本发明提供的简单有效的实时跟踪调试技术,通过实时观测任意功能模 块或存储装置的总线访问或特定事件,通知系统来修复或规避错误,保证了 复杂系统的可靠性。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本 发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内 的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的 形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所 附的权利要求书所界定的范围为准。
权利要求
1、一种总线的实时跟踪系统,包括要跟踪的总线,其特征在于,还包括与该总线连接的至少一实时跟踪装置,该实时跟踪装置至少包括触发条件配置单元、触发信号生成单元、跟踪单元和存储单元,其中所述触发条件配置单元用于配置实时跟踪的触发条件参数;所述触发信号生成单元包括一IO接口和一比较电路,用于在跟踪使能信号有效后,通过该IO接口实时检查要跟踪的总线上的总线访问信息并在该比较电路中对总线访问信息和触发条件参数进行比较,经根据设定触发条件生成的该比较电路的运算逻辑判定为满足触发条件时,生成一触发信号通知跟踪单元开始跟踪;所述跟踪单元包括一IO接口和一存储控制电路,用于在收到触发信号后,通过该IO接口将要跟踪的总线上的总线访问信息引入,通过该存储控制电路将全部或部分总线访问信息保存到存储单元;所述存储单元用于保存总线访问信息。
2、 如权利要求1所述的实时跟踪系统,其特征在于,还包括保存条件 配置单元,该保存条件配置单元与所述跟踪单元连接,其中所述保存条件配置单元用于配置总线信息的保存条件参数;所述跟踪单元还包括一比较电路,将总线访问信息接入后,在该比较电 路中比较总线访问信息和保存条件参数,经根据设定保存条件生成的该比较 电路的运算逻辑判定为满足保存条件的总线访问信息,由所述存储控制电路 实时写入到存储单元。
3、 如权利要求2所述的实时跟踪系统,其特征在于所述触发条件配置单元中配置的触发条件参数为触发跟踪的起始地址、 访问类型、访问模块标识、设定访问数据和特定二进制序列中的 一种或多种;所述保存条件配置单元中配置的保存条件参数为访问地址和访问数据 中的一种或多种。
4、 如权利要求1或2或3所述的实时跟踪系统,其特征在于还包括结束条件配置单元,用于配置结束条件参数的阈值;且所述跟踪 单元在跟踪过程中,实时检测所述结束条件参数的当前值,如已达到结束条 件参数的阈值则结束跟踪;和/或还包括中断条件配置单元,用于配置中继条件参数的阈值;且所述跟踪 单元在跟踪过程中,实时检测所述中断条件参数的当前值,如已达到中断条 件参数的阈值则向调试装置发出中断。
5、 如权利要求4所述的实时跟踪系统,其特征在于所述结束条件参数和中断条件参数均为保存的总线访问信息的凄t据量, 且所述结束条件参数的阈值和中断条件参数的阈值小于等于所述存储单元的容量。
6、 如^l利要求1或2或3或5所述的实时^J宗系统,其特4正在于所述要跟踪的总线为片上集成系统总线系统中的存储器仲裁模块与功 能模块之间,或者存储器仲裁模块与存储装置之间的总线。
7、 一种总线的实时跟踪方法,应用于包括要跟踪的总线和与该总线连 接的至少 一 实时跟踪装置的跟踪系统,对 一路要跟踪的总线进行实时跟踪 时,该实时^艮踪方法包:fe:根据欲要跟踪的总线访问信息,在所述实时跟踪装置中配置实时跟踪的 触发条件参数;打开跟踪功能后,所述实时跟踪装置实时^r查总线上的总线访问信息并 与触发条件参数比较,在符合设定触发条件时开始跟踪,并保存跟踪结束前 的全部或部分总线访问信息。
8、 如权利要求7所述的实时跟踪方法,其特征在于 打开跟踪功能前,还在所述实时跟踪装置中配置总线信息的保存条件参数;开始跟踪后,所述实时跟踪装置按照配置的保存条件参数,实时保存符合设定保存条件的总线访问信息。
9、 如权利要求8所述的实时跟踪方法,其特征在于所述触发条件参数为触发跟踪的起始地址、访问类型、访问模块标识、 设定访问数据和特定二进制序列中的一种或多种;所述保存条件参^:为访问地址和访问数据中的 一种或多种。
10、 如权利要求7或8或9所述的实时跟踪方法,其特征在于打开跟踪功能前,还在所述实时跟踪装置中配置结束条件参数的阈值, 所述实时跟踪装置在跟踪过程中,实时检测所述结束条件参数的当前值,如 已达到所述结束条件参数的阈值则结束跟踪;和/或打开跟踪功能前,还在所述实时跟踪装置中配置中断条件参数的阈值, 所述实时跟踪装置在跟踪过程中,实时检测所述中断条件参数的当前值,如 已达到所述中断条件参数的阈值则向调试装置发出中断。
11、 如权利要求IO所述的实时跟踪方法,其特征在于所述结束条件参数和中断条件参数均为保存的总线访问信息的数据量, 且所述结束条件参数的阈值和中断条件参数的阈值小于等于所述存储单元 的容量。
12、 如权利要求7或8或9或11所述的实时跟踪系统,其特征在于所述要跟踪的总线为片上集成系统总线系统中的存储器仲裁模块与功 能模块之间,或者存储器仲裁模块与存储装置之间的总线。
13、 一种基于权利要求7中总线实时跟踪方法的调试方法,其特征在于在保存了跟踪到的总线访问信息后,调试装置读取实时跟踪时保存的总 线访问信息,利用该总线访问信息进行调试。
全文摘要
一种总线的实时跟踪系统及相应的跟踪、调试方法,该实时跟踪系统包括要跟踪的总线以及实时跟踪装置,该实时跟踪装置包括触发条件配置单元,用于配置实时跟踪的触发条件参数;触发信号生成单元,用于在跟踪使能信号有效后,检查要跟踪的总线上的总线访问信息并与触发条件参数进行比较,满足触发条件时,生成一触发信号;跟踪单元,用于在收到触发信号后,将要跟踪的总线上的总线访问信息引入,全部或部分总线访问信息保存到存储单元;存储单元用于保存总线访问信息。本发明还提供了相应的跟踪方法,另外,调试装置还可读取实时跟踪时保存的总线访问信息用于调试。本发明可以很方便地实现对模块总线的访问和特定事件的实时监测。
文档编号G06F13/14GK101639816SQ200910084560
公开日2010年2月3日 申请日期2009年5月21日 优先权日2009年5月21日
发明者川 林 申请人:北京中星微电子有限公司