一种数字信号处理器软件调试信息输出方法技术

技术编号:2859870 阅读:194 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数字信号处理器(DSP)软件调试信息输出方法,包括以下步骤:DSP程序中创建各种调试信息对象和对应的调试信息输出缓冲器以及输出调试信息的触发条件;编译生成加载文件;CPU根据段名检索加载文件并保存调试信息字符串段,获得解析调试信息所需的参数;DSP程序将相同类型的调试信息输出到对应的调试信息输出缓冲器;判断触发条件是否满足,如果满足就通过CPU与DSP之间的接口(HPI)输出调试信息缓冲器中的调试信息到CPU,否则返回;CPU解析输出调试信息。该方法可极大地节省HPI接口带宽、减少DSP的负载、方便地实现DSP异常时输出DSP软件调试信息。

【技术实现步骤摘要】

本专利技术涉及数字信号处理器(DSP)技术,特别是一种DSP软件调试信息输出方法。
技术介绍
由于具备强大的处理能力,DSP一般应用于高速信号处理的场所,尤其在通讯领域获得了非常广泛的应用。由于对DSP系统的实时性和处理性能有较高的要求,目前在DSP系统的设计中主要侧重于考虑DSP的数据吞吐能力和运算速率,而对于DSP系统的人机交互和调试手段却通常关注的不够。在DSP系统的设计中,调试DSP软件时需要输出调试信息,当DSP软件异常时为了准确地定位问题也需要输出调试信息。现有技术中常见的DSP软件调试信息输出方法为首先通过仿真工具加载DSP软件,然后通过所使用的仿真工具把调试信息输出到调试主机,最后在集成调试环境下输出。由于DSP上应用程序越来越庞大,特别是在移动通讯系统中广泛采用的分布式处理方式往往会在一块目标板上采用多片DSP,而DSP仿真工具的标准基本只能实现串行加载,所以应用仿真工具输出调试信息会降低DSP软件的调试效率,而且由于目前各个厂家提供的DSP仿真工具对于一些复杂的实时任务的调试并不完善,应用这种方法通常还是需要直接输出调试信息进行问题定位,从而造成对DSP软件调试的不便。同时,因为这种通过DSP仿真工具输出调试信息的方法是采用仿真工具来加载DSP软件,而DSP软件的实际应用环境基本上是由CPU负责进行后台加载,所以通过DSP仿真工具加载DSP软件时必须修改相应的环境配置,从而造成无法测试正常的DSP加载流程。现有技术中还有通过DSP与主机之间的主机接口(HPI)直接将调试信息输出到CPU,CPU再将调试信息通过CPU的调试通道直接输出到调试主机的调试信息输出方法,其中HPI接口包含HPI邮箱以及CPU和DSP的通讯协议。在一些复杂的应用场所中,可以将DSP互联起来组成DSP互联阵列。图1为现有技术中利用HPI接口的调试模式图。如图1所示,DSP应用板上有CPU和DSP互联阵列,其中DSP互联阵列通过HPI接口和CPU连接。输出调试信息到调试主机时需要先将调试信息格式化,现有技术一般通过调用Printf等打印函数将调试信息字符串格式化,然后以消息包的方式发往HPI接口的HPI邮箱,CPU读取HPI邮箱以获得调试信息消息包再调用打印函数通过CPU的调试通道而输出。图2为现有技术中利用HPI接口输出调试信息输出流程图。如图2所示,包括以下步骤步骤201CPU加载DSP程序,开始调试流程;步骤202DSP程序格式化调试信息字符串,并且将格式化后的调试信息字符串组包成调试信息包,然后将调试信息包发给HPI邮箱;步骤203CPU读取HPI邮箱获得调试信息包并通过CPU的调试通道打印输出。现有技术中这种利用HPI接口直接输出调试信息到CPU,CPU再将调试信息通过CPU的调试通道直接输出的方式由于不是利用仿真工具进行加载DSP程序,所以可以避免通过仿真工具输出调试信息所造成的问题,但是由于HPI接口是一个所有的DSP所公用拥有并且带宽受限的共享资源,而调试信息字符串的长度不固定并且可能很长,并且现有技术中每条调试信息都组成一个调试信息包输出会造成包头的开销很大,所以通过HPI接口输出大量由调试信息字符串所组成的调试信息包会占用大量的HPI带宽。同时,现有技术中输出调试信息前需要在DSP上格式化调试信息字符串,而在DSP上格式化调试信息字符串的时间同调试信息字符串的长度有关,动辄需要上百周期,增加了在DSP上处理调试信息的时间,从而加大了DSP的负载。特别的,如果DSP由于某种原因而处于异常情况时,因为一个异常通常会导致产生一连串的异常,而通常每个异常都会有调试信息输出,进而对DSP正常业务的处理造成极大冲击。现有技术中常见的方式还有通过将调试信息通过外部存储器接口输出到串口芯片,由串口芯片再输出到调试终端。由于只是简单采用串口芯片将调试信息上报给调试主机,因此调试信息只能是DSP主动输出,而当DSP程序发生异常时,DSP往往已经无法正常的输出,因此无法获取DSP程序异常时的现场信息,而很多情况下这些现场信息对于定位DSP程序的问题是必不可少的。同时,由于是通过串口芯片将调试信息上报给调试主机,调试信息输出速率会受到串口芯片速率的影响。
技术实现思路
有鉴于此,本专利技术的主要目的是提出一种DSP软件调试信息输出方法,以节省HPI传输所耗的带宽。为达到上述目的,本专利技术的技术方案是这样实现的一种DSP软件调试信息输出方法,包括以下步骤A、DSP程序中创建不少于1种类型的调试信息对象和不少于1个调试信息缓冲器以及调试信息输出到CPU的触发条件,其中每种调试信息对象对应于至少一个调试信息缓冲器并且每种调试信息对象对应于1种调试信息;B、DSP编译器编译所述DSP程序生成加载文件,所述加载文件至少包括调试信息字符串段,CPU根据段名检索所述的加载文件并保存调试信息字符串段的内容到CPU,获得调试信息字符串段映射到DSP的物理地址、调试信息字符串段的内容保存在CPU的地址;C、DSP程序将相同类型的调试信息对象所对应的调试信息输出到与该调试信息对象类型相对应的调试信息缓冲器;D、判断调试信息输出到CPU的触发条件是否满足,如果满足则通过主机接口(HPI)输出调试信息到CPU,CPU计算与调试信息相对应的调试信息字符串保存在CPU的物理地址并输出调试信息字符串,如果不满足则返回步骤D。所述的调试信息对象为错误信息对象、DSP程序调试信息对象、或函数运行轨迹信息对象。步骤D所述的计算与调试信息相对应的调试信息字符串保存在CPU的物理地址为计算调试信息字符串段中该调试信息字符串映射到DSP中的物理起始地址减去调试信息字符串段映射到DSP中的物理起始地址再加上调试信息字符串段的内容保存在CPU的起始地址。步骤B进一步解析检索文件获得DSP上所有调试信息缓冲器起始地址、DSP上所有调试信息缓冲器的长度。进一步在步骤A设置CPU与DSP程序的定时握手任务,当所述的定时握手任务失败时,CPU主动从调试信息缓冲器取得调试信息。步骤D所述的触发条件为定时查询触发条件、主动触发条件、或最大延迟输出触发条件。通过以上的技术方案可以看出,本专利技术中DSP输出到CPU的调试信息都包含与调试信息相对应的调试信息字符串映射到DSP的物理地址,而调试信息的长度与调试信息字符串长度无关,调试信息本身并不包括调试信息字符串,通过与调试信息相对应的调试信息字符串映射到DSP的物理地址和解析调试信息所需要的参数,CPU就可以获得与调试信息所对应的调试信息字符串,因此本专利技术中所传输的调试信息的长度远远小于调试信息字符串长度,同时,本专利技术在调试信息输出缓冲器中多条调试信息缓存后满足一定触发条件时同时组包输出,而不是输出每条调试信息就要输出一个消息包,因此本专利技术还大大降低了包头的开销,所以应用本专利技术极大地减少了HPI接口传送所耗的带宽。本专利技术中DSP程序只是将包含调试信息字符串的地址的调试信息输出到调试信息输出缓存器,而不用在DSP上格式化调试信息字符串,并且本专利技术调试信息的格式固定,调试信息本身并不包括调试信息字符串,从而使得DSP处理调试信息的时间大大缩小,所以本专利技术大大减少了DSP的负载。同时,本专利技术在DSP程序运行过程中将一些重要的运行信息循本文档来自技高网
...

【技术保护点】
一种数字信号处理器(DSP)软件调试信息输出方法,其特征在于,包括以下步骤:A、DSP程序中创建不少于1种类型的调试信息对象和不少于1个调试信息缓冲器以及调试信息输出到CPU的触发条件,其中每种调试信息对象对应于至少一个调试信息缓冲 器并且每种调试信息对象对应于1种调试信息;B、DSP编译器编译所述DSP程序生成加载文件,所述加载文件至少包括调试信息字符串段,CPU根据段名检索所述的加载文件并保存调试信息字符串段的内容到CPU,获得调试信息字符串段映射到DSP的 物理地址、调试信息字符串段的内容保存在CPU的地址;C、DSP程序将相同类型的调试信息对象所对应的调试信息输出到与该调试信息对象类型相对应的调试信息缓冲器;D、判断调试信息输出到CPU的触发条件是否满足,如果满足则通过主机接 口(HPI)输出调试信息到CPU,CPU计算与调试信息相对应的调试信息字符串保存在CPU的物理地址并输出调试信息字符串,如果不满足则返回步骤D。

【技术特征摘要】
1.一种数字信号处理器(DSP)软件调试信息输出方法,其特征在于,包括以下步骤A、DSP程序中创建不少于1种类型的调试信息对象和不少于1个调试信息缓冲器以及调试信息输出到CPU的触发条件,其中每种调试信息对象对应于至少一个调试信息缓冲器并且每种调试信息对象对应于1种调试信息;B、DSP编译器编译所述DSP程序生成加载文件,所述加载文件至少包括调试信息字符串段,CPU根据段名检索所述的加载文件并保存调试信息字符串段的内容到CPU,获得调试信息字符串段映射到DSP的物理地址、调试信息字符串段的内容保存在CPU的地址;C、DSP程序将相同类型的调试信息对象所对应的调试信息输出到与该调试信息对象类型相对应的调试信息缓冲器;D、判断调试信息输出到CPU的触发条件是否满足,如果满足则通过主机接口(HPI)输出调试信息到CPU,CPU计算与调试信息相对应的调试信息字符串保存在CPU的物理地址并输出调试信息字符串,如果不满足则返回步骤D。2.根据权利要求1所述的DSP软件调试信息输出方法...

【专利技术属性】
技术研发人员:王鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1