专利名称:一种通讯片上系统芯片追踪调试的方法及装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种通讯片上系统芯片追踪调试的方法 及装置。
背景技术:
现在的通讯系统的相关芯片,包括系统侧和终端侧芯片,通常比丰支复杂, 一般设计成片上系统芯片,既包括硬件的设计,也包括软件的设计。
片上系统芯片的系统比较庞大,它的设计与调试,涉及的模块比较多, 比较复杂。对于追踪例如软件跑飞等复杂软件故障,传统的追踪调试方法有
两种,其中一种方法是利用处理器自带的ICE调试工具,将指令全部记录下 来进行分析,这种方法,只能将处理器运行的所有指令都记录下来,信息量 太大,记录没有重点,分析软件的设计方面存在的问题还有些作用,但对于 通讯系统中存在的问题,查找起来不容易;另外,ICE调试工具也非常昂贵。
另外一种追踪调试方法,是利用软件,实时将调试信息和通过串口或网 口等输送到另外一个处理器(可以是个人计算机),记录下来以供分析。这 里的调试信息,既包括软件中的调试追踪信息,最好还包括通讯系统的运行 信息和时间信息。时间信息也需要软件先读取时钟单元的时间信息,再输送 出来。这种方法,可以有针对性地记录信息,但开销太大,速度较慢,对原 有系统的运行有一定的影响。并且当软件出现致命性错误的时候,原有信息 发生丟失,无法定位问题。
综上所述,当前需要一种通过软件来控制要输出的追踪调试信息,通过 硬件追踪模块来保存追踪调试信息,并通过分析工具来对追踪调试信息进行 分析处理的技术方案,帮助设计人员在软件设计或IC设计中进行系统的分 析和侦错。
发明内容
本发明所要解决的技术问题是提供一种通讯片上系统芯片追踪调试的 方法及装置,根据设计的需要分批次将调试中需要的数据进行采集,减少了
原有系统软件的开销,更接近于真实系统;在记录追踪调试数据同时能自动 将通讯系统中非常重要的系统时间信息保存下来,经过软件的自动分析,帮 助设计人员更有效地理解分析的系统的整个过程,更快地定位问题,节省了 设计人员的工作量,提高了工作效率。
为了解决上述问题,本发明提供了 一种通讯片上系统芯片追踪调试的方
法,
所述通讯片上系统芯片包括硬件追踪模块;该方法包括以下步骤,
a、 将追踪调试数据写入到硬件追踪模块并保存;
b、 将追踪调试数据输出到追踪数据分析机,追踪数据分析机将追踪调 试数据保存后,对该追踪调试数据进行分析处理,定位系统的问题所在。
进一步地,上述方法还可包括,所述追踪数据分析机为嵌入式处理器, 或者为个人计算机;
所述通讯片上系统芯片还包括时钟模块,所述时钟模块用于网络侧和终 端侧进行同步;
所述硬件追踪模块是专用集成电路,或者是现场可编程门阵列; 所述硬件追踪模块包括随机存储器。
进一步地,上述方法还可包括,所述步骤a中还包括,将追踪调试数据 写入到硬件追踪模块,同时硬件追踪模块锁存时钟模块的时间信息,并将时 间信息附加在追踪调试数据中,并保存在所述随机存储器中。
进一步地,上述方法还可包括,所述步骤b中还包括,将所述随机存储 器中的追踪调试数据通过接口输出到追踪数据分析机,追踪数据分析机将追 踪调试数据保存在追踪数据文件中,并且根据需要将部分追踪调试数据实时 显示。
进一步地,上述方法还可包括,所述步骤b中对该追踪调试数据进行分
6析处理,定位系统的问题所在,进一步包括以下步骤,
bl、打开采集到的追踪数据文件,逐条处理追踪数据文件中的数据记录, 根据对已有的ID,信息数据,时间数据的格式定义,对追踪调试数据进行 转换;
b2.根据转换的数据对数据进行特定的分析,并进行统计,输出并显示;
b3.通过显示的操作内容,对系统的整个工作过程进行分析,并定位系 统的问题所在。
本发明还提供了 一种通讯片上系统芯片追踪调试的装置,
所述通讯片上系统芯片与追踪翁:据分析^L相连;
所述通讯片上系统芯片包括硬件追踪模块,硬件追踪模块用于将追踪调 试数据写入并保存,将追踪调试数据输出到追踪数据分析机;
追踪数据分析机用于将追踪调试数据保存后,对该追踪调试数据进行分 析处理,定位系统的问题所在。
进一步地,上述装置还可包括,所述通讯片上系统芯片与追踪数据分析 机通过接口相连;所述接口包括串口、 USB口、或者局域网接口;
所述追踪数据分析机为嵌入式处理器,或者为个人计算机;
所述通讯片上系统芯片还包括时钟模块,所述时钟模块用于网络侧和终 端側进行同步;
所述硬件追踪模块是专用集成电路,或者是现场可编程门阵列; 所述硬件追踪模块包括随机存储器。
进一步地,上述装置还可包括,所述硬件追踪模块还用于将追踪调试数 据写入块时,锁存时钟模块的时间信息,并将时间信息附加在追踪调试数据 中,并保存在所述随机存储器中。
进一步地,上述装置还可包括,所述随机存储器中的追踪调试数据通过 接口输出到追踪数据分析机,追踪数据分析机还用于将追踪调试数据保存在 追踪数据文件中,并且才艮据需要将部分追踪调试数据实时显示。
进一步地,上述装置还可包括,所述追踪数据分析机进一步用于,打开采集到的追踪数据文件,逐条处理追踪数据文件中的数据记录,根据对已有
的ID,信息数据,时间数据的格式定义,对追踪调试数据进行转换;根据 转换的数据对数据进行特定的分析,并进行统计,输出并显示;通过显示的 操作内容,对系统的整个工作过程进行分析,并定位系统的问题所在。
与现有技术相比,应用本发明,具有如下的优点
1. 软件发生致命性错误而必须复位时,追踪信息仍然能够输出
在设计片上系统时,增加了一个硬件追踪模块,软件要输出的信息,先 实时存放到硬件追踪模块,在软件空闲的时候,将数据从硬件追踪模块输出 到另外一个处理器(或者个人计算机),进行记录和分析。在嵌入式处理器 发生致命性故障时,可以重新启动软件,而硬件追踪模块中保存的信息不会 丢失,可以将调试信息继续读出来,不会因为这个软件的致命性问题而无法 定位问题。
2. 能以通讯系统时钟为基准,记录事件发生的时刻
硬件追踪模块每次追踪调试信息时,能自动将通讯系统的时间信息记录 下来,便于分析通讯系统的系统问题。
3. 软件开销低,接近于真实系统
由于软件只需要将代表一定意义ID和少量信息写入到硬件追踪模块, 硬件追踪^t块可以自动锁存系统时间,并自动记录时间,并利用追踪调试分 析机器另外对数据进行分析,所以原有的系统软件的开销很少,记录快,不 会影响原有的软件运行,更接近于真实系统。
图1是本发明具体实施方式
中通讯片上系统芯片追踪调试装置的总体 示意图2是本发明具体实施方式
中通讯片上系统芯片总体架构图; 图3是本发明具体实施方式
中追踪调试凄t据流向示意图4是本发明具体实施方式
中通讯片上系统芯片追踪调试的方法的流 程图;图5是本发明具体实例中TD终端芯片调试数据流示意图; 图6是本发明具体实例中硬件追踪模块RAM结构示意图; 图7是本发明具体实例中软件跑飞问题定位场景的流程图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步说明。
本发明中通讯系统片上芯片追踪调试分析的方法所采用的装置总体示 意图见图1,由101、 102、 103组成,其中101是通讯片上系统芯片;追踪 数据分析机102可以是嵌入式处理器,或者是普通的PC (个人计算机); 103是接口 ,是片上系统芯片与追踪数据分析机传送调试数据的通道,可以 是串口,也可以是USB 口,或者是局域网接口等,可以根据实际的系统已有 的4妄口来决定。
带有硬件追踪模块的通讯片上系统芯片的总体架构图请参考图2,由图2 中201, 202, 203, 204, 205, 206, 207七部分组成,其中201是硬件追踪才莫块, 202是嵌入式处理器,203是连接片上系统芯片内部各模块之间的总线,204 是通讯系统的时钟模块,205是通讯系统的其它一些模块,206硬件追踪模 块对时钟模块进行锁存的控制线,207是时钟模块传送锁存时间信息的数据 线。
硬件追踪模块,用于写入软件的追踪调试信息,并且当软件写入时,能 自动将时钟模块的时间信息自动加入到追踪调试信息中并保存;所述硬件追 踪模块包括随机存储器。
硬件追踪模块可以是ASIC ( Application Specific Integrated Circuit,专用 集成电^各),也可以由FPGA (Field Programmable Gate Array,现场可编程门 阵列)来实现。
嵌入式处理器,是通讯片上系统芯片中的软件运行的载体,可以是普通 的微处理器,也可以是DSP (数字信号处理器)。
时钟模块在一般的通讯系统中都需要,用于网络侧和终端侧进行同步。
如图4所示,本发明中通讯片上系统芯片追踪调试的方法,包括以下步
9骤
步骤IIO,将追踪调试数据写入到硬件追踪模块,同时硬件追踪模块自 动锁存时钟模块的时间信息,并将时间信息附加在追踪调试数据中,并保存 在RAM (随机存储器)中;
本步骤又可细分为以下几个小步骤
1101. 如图1的装置开始上电工作;
1102. 软件在需要输出追踪调试数据的时刻,将追踪调试数据写入到硬 件追踪模块;
1103. 硬件追踪模块在写入追踪调试数据的同时,自动锁存时钟模块的 时间信息,并将时间信息附加在追踪调试数据的尾部,保存在RAM中。
步骤120,将RAM中的追踪调试数据通过接口输出到追踪数据分析机, 追踪数据分析机将追踪调试数据保存在追踪数据文件中,并且根据需要可以 将部分追踪调试数据实时显示;
在软件空闲或需要的时候,软件控制硬件追踪模块将保存在RAM中的 数据通过接口输出到追踪数据分析机,追踪数据分析机将数据保存在追踪数 据文件中,并且根据需要可以将部分数据实时显示出来。
步骤130,对追踪调试数据进行分析处理,定位系统的问题所在。
该步骤又可细分为以下几个小步骤
1301. 打开釆集到的追踪数据文件,逐条处理追踪数据文件中的数据记 录,根据对已有的ID,信息数据,时间数据的格式定义,对追踪调试数据 进行转换;
1302. 根据转换的数据对数据进行特定的分析,并进行统计,输出并显
示;
1303. 设计人员通过显示的操作内容含义,对系统的整个工作过程进行
分析,并帮助定位系统的问题所在。
下面结合具体实例对本发明作进一步说明。
TD终端芯片是基于TD-SCDMA协议的3G终端片上系统芯片,片上系统芯片内由ZSPDSP、专门用于通讯处理的石更件加速器等;f莫块组成;软件 采用了 OSEck的实时操作系统,OSEck自带有HOOK工具,可以将任务切 换时的发生切换的TASK ID和切换到的任务ID都输出;在系统中专门设 计了运行在ZSP DSP上的软件和硬件加速器中的硬件追踪模块以及运行在 PC上的ANALYSER分析软件。硬件追踪模块中的RAM结构示意图如图6 所示,每项数据4个word (字节),分别存放动作ID、对象ID、时间信息 的系统帧号、码片号,其中数据深度可以定位1000,即可以保存1000条调 试追踪数据项。追踪调试数据流如图5所示。
当软件出现软件跑飞现象时,很难从调试器本身获得调试信息,可以利 用追踪工具来进行问题的定位。
具体过程见图7,方法如下
第一步,问题定位到任务级
由于软件采用了实时操作系统,所以将问题定位到哪个任务,将查找范 围缩小,能较少查找时间,提高查找效率,本步骤又可细分为以下几个小步 骤
1. 如图1和图2的装置所示,连接好系统;
2. 系统开始上电工作;
3. 在硬件追踪模块RAM中动作ID位置写入OXl,代表发生任务切换事 件,对象ID位置写入要切换到的任务ID(通过OSEck的自带工具HOOK获 得);
4. 硬件追踪模块在写入对象ID时,自动锁存时钟模块的时间信息,系 统帧号位置存放系统帧号SFN,码片号位置存放码片计数值;
5. 存放RA&的地址指针自动加一,下一次存力丈到下一位置;
6. 重复以上的过程,直到软件出现问题,跑飞掉;
7. 重选启动ZSPDSP,利用DMA将硬件追踪模块保存在RAM中的数 据通过串口输出到PC的分析软件ANALYSER,并保存在文件中;
8. 用ANALYSER来分析文件中的数据,找出最后软件运行的最后一 个任务LAST TASK。第二步,问题定位到函数
总体思想是将一个函数与一个ID——对应,在进入函数和退出函数的
时候将函数的进出动作记录在硬件追踪模块的RAM中,因为第一步中,已 经定位到了出现问题的LAST TASK,所以只需记录此任务中的所有函数的 进出动作。
具体过程又可细分为以下几个小步骤
1. 在LAST TASK中每个函数入口的地方,往石更件追踪才莫块RAM中 动作ID位置写入0X2,代表发生函数进入的事件,对象ID位置写入函数对 应的ID;对应的在LAST TASK中每个函数出口的地方,往硬件追踪才莫块 RAM中动作ID位置写入0X3,代表发生函数退出的事件,对象ID位置写入 函数对应的ID;
2. 硬件追踪模块在写入对象ID时,自动锁存时钟模块的时间信息,系 统帧号位置存放系统帧号SFN,码片号位置存放码片计数值;
3. 存放RAM的地址指针自动加一,下一次存放到下一位置
4. 重复以上的过程,直到软件出现问题,跑飞掉;
5. 重选启动ZSPDSP,利用DMA将硬件追踪模块保存在RAM中的数 据通过串口输出到PC的分析软件ANALYSER,并保存在文件中;
6. 用ANALYSER来分析文件中的数据,找出最后软件运行的最后一 个函数,并且统计此函数在运行过程中的运行次数run一number。
第三步,问题最终定位
总体思想是在第二步已经找出了出现问题的函数,问题查找的范围大大 缩小,可以在函数内进行查找,此时可以根据函数的大小采取合适的方法。 函数比较小可以通过读软件代码直接分析问题所在;函数规模较大时,可以 在软件中设定一个此函数运行次数的计数器,在计数器达到跑飞时运行次数 run—number后,设定断点,让软件停下,用单步跟踪的方法,进行问题的查 找。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到 的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求的保护范围为准。
权利要求
1、一种通讯片上系统芯片追踪调试的方法,其特征在于,所述通讯片上系统芯片包括硬件追踪模块;该方法包括以下步骤,a、将追踪调试数据写入到硬件追踪模块并保存;b、将追踪调试数据输出到追踪数据分析机,追踪数据分析机将追踪调试数据保存后,对该追踪调试数据进行分析处理,定位系统的问题所在。
2、 如权利要求l所述的方法,其特征在于,所述追踪数据分析机为嵌入式处理器,或者为个人计算机;所述通讯片上系统芯片还包括时钟模块,所述时钟模块用于网络侧和终 端侧进行同步;所述硬件追踪模块是专用集成电路,或者是现场可编程门阵列; 所述硬件追踪模块包括随机存储器。
3、 如权利要求2所述的方法,其特征在于,所述步骤a中还包括,将追踪调试数据写入到硬件追踪模块,同时硬件 追踪模块锁存时钟模块的时间信息,并将时间信息附加在追踪调试数据中, 并保存在所述随机存储器中。
4、 如权利要求3所述的方法,其特征在于,所述步骤b中还包括,将所述随机存储器中的追踪调试数据通过接口输 出到追踪数据分析机,追踪数据分析机将追踪调试数据保存在追踪数据文件 中,并且根据需要将部分追踪调试数据实时显示。
5、 如权利要求4所述的方法,其特征在于,所述步骤b中对该追踪调试数据进行分析处理,定位系统的问题所在, 进一步包括以下步骤,bl、打开采集到的追踪数据文件,逐条处理追踪数据文件中的数据记录, 根据对已有的ID,信息数据,时间数据的格式定义,对追踪调试数据进行转换;b2.根据转换的数据对数据进行特定的分析,并进行统计,输出并显示;b3.通过显示的操作内容,对系统的整个工作过程进行分析,并定位系 统的问题所在。
6、 一种通讯片上系统芯片追踪调试的装置,其特征在于,所述通讯片上系统芯片与追踪数据分析机相连;所述通讯片上系统芯片包括硬件追踪模块,硬件追踪模块用于将追踪调 试数据写入并保存,将追踪调试数据输出到追踪数据分析机;追踪数据分析机用于将追踪调试数据保存后,对该追踪调试数据进行分 析处理,定位系统的问题所在。
7、 如权利要求6所述的装置,其特征在于,所述通讯片上系统芯片与追踪数据分析机通过接口相连;所述接口包括 串口、 USB口、或者局域网接口;所述追踪数据分析机为嵌入式处理器,或者为个人计算机;所述通讯片上系统芯片还包括时钟模块,所述时钟模块用于网络侧和终 端侧进行同步;所述硬件追踪模块是专用集成电路,或者是现场可编程门阵列; 所述硬件追踪模块包括随机存储器。
8、 如权利要求7所述的装置,其特征在于,所述硬件追踪模块还用于将追踪调试数据写入块时,锁存时钟模块的时 间信息,并将时间信息附加在追踪调试数据中,并保存在所述随机存储器中。
9、 如权利要求8所述的装置,其特征在于,所述随机存储器中的追踪调试数据通过接口输出到追踪数据分析机,追 踪数据分析机还用于将追踪调试数据保存在追踪数据文件中,并且根据需要 将部分追踪调试数据实时显示。
10、 如权利要求9所述的装置,其特征在于,所述追踪数据分析机进一步用于,打开釆集到的追踪数据文件,逐条处 理追踪数据文件中的数据记录,根据对已有的ID,信息数据,时间数据的 格式定义,对追踪调试数据进行转换;根据转换的数据对数据进行特定的分 析,并进行统计,输出并显示;通过显示的操作内容,对系统的整个工作过 程进行分析,并定位系统的问题所在。
全文摘要
本发明公开了一种通讯片上系统芯片追踪调试的方法及装置,所述通讯片上系统芯片包括硬件追踪模块;该方法包括以下步骤,首先将追踪调试数据写入到硬件追踪模块并保存;然后将追踪调试数据输出到追踪数据分析机,追踪数据分析机将追踪调试数据保存后,对该追踪调试数据进行分析处理,定位系统的问题所在。应用本发明,根据设计的需要分批次将调试中需要的数据进行采集,减少了原有系统软件的开销,更接近于真实系统;在记录追踪调试数据同时能自动将通讯系统中非常重要的系统时间信息保存下来,经过软件的自动分析,帮助设计人员更有效地理解分析的系统的整个过程,更快地定位问题,节省了设计人员的工作量,提高了工作效率。
文档编号G06F17/50GK101493847SQ20081000439
公开日2009年7月29日 申请日期2008年1月22日 优先权日2008年1月22日
发明者夏长松 申请人:中兴通讯股份有限公司