一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种程序调试方法及装置与流程

2022-06-01 14:22:04 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种程序调试方法及装置。


背景技术:

2.随着蓝牙无线通信技术的发展,可通过蓝牙控制器控制设备的运行。蓝牙控制器内部含有集成电路(integrated circuit,ic),对蓝牙控制器进行调试时,一般使用集成电路的多个通用输入/输出接口(general-purpose input/output ports,gpio)输出的信号跟踪程序执行情况,比如用一个gpio标记一处程序代码的运行位置。然而,有些ic中元器件的管脚(pin)较少,用以调试的gpio数量不足,无法跟踪全部程序代码的运行位置,从而无法准确的调程序以控制数据的收发状态。


技术实现要素:

3.本技术实施例提供一种程序调试方法及装置,用以实现程序的调试。
4.第一方面,本技术实施例提供一种程序调试方法,包括:
5.获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;
6.根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;
7.根据所述程序的运行时间长度,调试所述程序。
8.本技术的一些实施例中,还包括:
9.获取数据接收状态信号、数据发送状态信号和射频控制信号;
10.根据数据接收状态信号、数据发送状态信号和射频控制信号,确定程序的类型;
11.根据程序的类型和运行时间长度,确定数据收发状态;
12.根据所述数据收发状态,调试程序。
13.本技术的一些实施例中,还包括:
14.获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;
15.获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;
16.若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。
17.本技术的一些实施例中,获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值,包括:
18.在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者
19.根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。
20.本技术的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;
21.方法还包括:
22.获取程序的起始位置和结束位置之间,第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;
23.若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。
24.第二方面,本技术的实施例提供一种程序调试装置,包括:
25.获取模块,用于获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;
26.运行时间长度确定模块,用于根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;
27.调试模块,用于根据所述数据收发状态,调试程序。
28.本技术的一些实施例中,获取模块,还用于获取数据接收状态信号、数据发送状态信号和射频控制信号;
29.所述装置还包括类型确定模块,用于根据数据接收状态信号、数据发送状态信号和射频控制信号,确定程序的类型;
30.所述装置还包括状态确定模块,用于根据程序的类型和运行时间长度,确定数据收发状态;
31.调试模块,还用于根据数据收发状态,调试程序。
32.本技术的一些实施例中,获取模块,还用于获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;
33.装置还包括位置确定模块,用于若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。
34.本技术的一些实施例中,获取模块具体用于:
35.在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者
36.根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。
37.本技术的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;
38.获取模块,还用于获取程序的起始位置和结束位置之间,第一调试信号的脉冲信
号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;
39.装置还包括嵌入程序确定模块,用于若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。
40.第三方面,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行数据收发状态确定方法。
41.本技术的上述实施例中,获取第一调试信号和第二调试信号,其中,第一调试信号和第二调试信号用于指示程序的起始位置和结束位置,可根据程序的起始位置和结束位置,确定程序的运行时间长度,由于蓝牙基带集成电路在哪个时间收发数据由程序控制,不同程序的运行时间长度对应不同的数据收发状态,故可根据程序的运行时间长度,调试程序以控制数据的收发状态。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1示例性示出了蓝牙基带集成电路的管脚输出的信号波形图;
44.图2示例性输出了本技术实施例提供的一种程序调试方法流程图;
45.图3a示例性示出了本技术实施例提供的pka中断程序的起始位置和结束位置示意图;
46.图3b示例性示出了本技术实施例提供的no_pkt_rcvd中断程序的起始位置和结束位置示意图;
47.图3c示例性示出了本技术实施例提供的定时器中断程序的起始位置和结束位置示意图;
48.图3d示例性示出了本技术实施例提供的中断程序中嵌入程序的位置示意图;
49.图4示例性出处了本技术实施例提供的数据收发状态确定方法的流程图;
50.图5示例性出处了本技术实施例提供的数据收发状态确定装置功能结构图。
具体实施方式
51.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部份实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
52.基于本技术中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单
独构成一个完整技术方案。
53.应当理解,本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本技术实施例图示或描述中给出那些以外的顺序实施。
54.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
55.本技术中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
56.目前,蓝牙基带集成电路(比如蓝牙控制器的集成电路)的管脚可输出数据接收状态信号rx_data、数据发送状态信号tx_data、射频控制信号。其中,在集成电路中,通用输入/输出接口gpio用于输出各类信号,gio(general input/output ports的缩写)比gpio功能强大,可以精确控制在哪个微秒拉高脉冲信号,在哪个微秒拉低脉冲信号,gio用于输出射频控制信号。
57.图1示例性示出了蓝牙基带集成电路的管脚输出的信号波形图。如图1所示,集成电路的管脚输出的数据接收状态信号rx_data、数据发送状态信号tx_data、射频控制信号(也称为gio状态信号)为由高电平1和低电平0组成的方波信号,根据上述三种信号可方便的知道蓝牙基带集成电路是否在收发数据,比如,数据接收状态信号rx_data为高电平1时,表示蓝牙基带集成电路接收到了数据包;数据发送状态信号tx_data为高电平1时,表示蓝牙基带集成电路发送了数据包,gio状态信号为高电平1时,表示蓝牙基带集成电路中的射频模块在工作。
58.值得说明的是,图1仅是一种示例,数据接收状态信号rx_data、数据发送状态信号tx_data、gio状态信号还可为其他波形的信号,比如正弦信号、余弦信号、三角波信号等。但根据图1输出的数据接收状态信号rx_data、数据发送状态信号tx_data、gio状态信号无法判断程序的执行位置。
59.蓝牙基带集成电路只提供了数据收发功能,至于在哪个时间哪个物理信道采用哪种方式收发数据,则由蓝牙基带集成电路的程序进行控制,蓝牙基带模块、蓝牙射频模块、蓝牙调制解调器等电路模块间的配合工作也由程序控制。程序运行出错可能会导致蓝牙基带集成电路收发数据的时间出错,最终无法工作。因此,需要确定程序的运行位置。
60.目前的一种解决方法是,通过应用程序控制台输出的打印信息确定程序的运行位置,一般对实时性要求较低或没有实时性要求的程序的调试,可添加一些简单的打印信息跟踪程序的运行位置。但蓝牙控制器等设备对程序的实时性要求较高,由于打印信息的速度较慢,且大量的打印信息会占用较长的时间,继而导致程序因添加较多的打印信息而无法在规定的时间内运行完毕,最终导致蓝牙基带集成电路数据收发时间出错。另一方面,打印信息仅用于指示程序中代码的执行情况,无法指示程序的运行时间长度。
61.为解决上述问题,本技术的实施例提供一种程序调试方法及装置。本技术的一些实施例中,通过使用蓝牙基带集成电路的两个gpio输出第一调试信号dbg_clk和第二调试信号dbg_data来指示程序的起始位置和结束位置,与数据接收状态信号rx_data、数据发送
状态信号tx_data、gio状态信号类似,将第一调试信号dbg_clk和第二调试信号dbg_data的信号线接到逻辑分析仪上,对第一调试信号dbg_clk和第二调试信号dbg_data的波形进行分析,确定程序的运行时间长度,从而根据程序的运行时间长度调试程序以实现蓝牙控制器准确控制数据的收发状态。
62.图2示例性输出了本技术实施例提供的一种程序调试方法流程图。如图2所示,该方法可由软件方式执行,也可由软硬件结合方式执行,主要包括以下几步:
63.s201:获取第一调试信号和第二调试信号。
64.该步骤中,第一调试信号dbg_clk和第二调试信号dbg_data用于指示程序的起始位置和结束位置,可根据第一调试信号和第二调试信号确定程序的起始位置和结束位置。具体地,获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量,并获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与特定程序设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与特定程序设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。
65.其中,第一位置脉冲信号的数量可以是第一调试信号中第一位置的脉冲信号序列中脉冲信号的上升沿数量、下降沿数量或高电平脉冲信号的宽度;第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值可以为第一调试信号上脉冲信号的上升沿、下降沿或高电平脉冲信号宽度内第二调试信号上脉冲信号对应的电平值。
66.s202:根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度。
67.该步骤中,用结束位置对应的时间减去开始位置对应的时间得到程序的运行时间长度。
68.s203:根据程序的运行时间长度,调试程序。
69.在本技术的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序,根据程序的起始位置和结束位置之间包含的第一调试信号的脉冲信号序列,则可根据第一调试信号和第二调试信号确定程序运行期间的嵌入程序。
70.具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,可获取程序的起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值是否与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序运行期间运行了该嵌入程序。
71.本技术的上述实施例,通过确定程序运行期间执行的嵌入程序,可进一步了解程序的运行情况,从而进一步了解蓝牙基带集成电路收发数据的状态。
72.本技术的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序,根据程序的起始位置和结束位置之间包含的第一调试信号的脉冲信号序列,则可根据第一调试信号和第二调试信号确定程序运行期间的嵌入程序。
73.具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,可获取程序的起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值是否与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序运行期间运行了该嵌入程序,如图3d所示。
74.本技术的上述实施例,通过确定程序运行期间执行的嵌入程序,可进一步了解程序的运行情况,从而进一步了解蓝牙基带集成电路收发数据的状态。
75.本技术的一些实施例中,根据第一调试信号和第二调试信号还可确定根据蓝牙基带集成电路的特性无法确定的程序的类型。
76.具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,判断第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间的第一调试信号上是否还包括脉冲信号序列,若包括,则获取起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量,以及起始位置和结束位置之间第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,是否与设定的定时器程序的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序为定时器程序,如图3c所示。
77.本技术的上述实施例中,根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间的脉冲信号序列,可解决基于蓝牙基带集成电路特性无法确定的程序的类型,从而进一步了解蓝牙基带集成电路收发数据的状态。
78.下面以中断程序为例详细描述本技术实施例提供的程序调试方法。值得说明的是,本技术实施例提供的程序调试方法可适用于对时序要求较高的中断程序,也适用于其他程序的调试。
79.本技术的一些实施例中,设置第一调试信号dbg_clk和第二调试信号dbg_data,分别定义用于表征中断程序的起始位置和结束位置的波形特征,在中断程序开始执行时,第一调试信号dbg_clk和第二调试信号dbg_data的波形发生变化,且波形特征与预先定义的中断程序的起始位置的波形特征相同,在中断程序执行结束时,第一调试信号dbg_clk和第二调试信号dbg_data的波形发生变化,且波形特征与预先定义的中断程序的结束位置的波形特征相同。第一调试信号dbg_clk和第二调试信号dbg_data由蓝牙基带集成电路的两个gpio分别输出,这样,通过检测蓝牙基带集成电路输出的第一调试信号dbg_clk和第二调试信号dbg_data,对这两个信号的波形特征进行提取和分析,即可确定出中断程序的起始位置和结束位置。
80.其中,第二调试信号dbg_data脉冲宽度可根据第一调试信号dbg_clk的脉冲宽度进行设置,具体包括以下任一情况:
81.情况一:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk上升沿的数量。
82.情况二:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk下升沿的数量。
83.情况三:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk高电平脉冲宽度。
84.值得说明的是,用于表征中断程序的起始位置的波形特征,与用于表征中断程序的结束位置的波形特征不同,以便对中断程序的起始位置和结束位置进行分区。
85.在一些实施例中,用于表征中断程序的起始位置和结束位置的波形特征,可包括:在中断程序的起始位置和结束位置,第一调试信号dbg_clk输出设定数量的脉冲,第二调试信号dbg_data在其中设定的一个或多个脉冲的上升沿和/或下降处于设定的状态(比如高电平状态或低电平状态)。即,可用第一调试信号dbg_clk的脉冲数量,以及第二调试信号dbg_data在第一调试信号dbg_clk的脉冲的上升沿或下降沿的电平值,来标识中断程序的起始位置和结束位置。具体实施时,表征中断程序的起始位置和结束位置的波形特征可用坐标(x,y)表示,x表示第一调试信号dbg_clk的脉冲数量,y表示第二调试信号dbg_data在设定位置上的电平值,具体可包括以下任一情况:
86.情况一:x为第一调试信号dbg_clk的上升沿个数,y为第二调试信号dbg_data在第一调试信号dbg_clk的上升沿位置的电平值。
87.情况二:x为第一调试信号dbg_clk的下降沿个数,y为第二调试信号dbg_data在第一调试信号dbg_clk的下降沿位置的电平值。
88.其中,用于表征中断程序的起始位置的波形特征,与用于表征中断程序的结束位置的波形特征不同,具体可包括以下几种情况:
89.情况1:在中断信号的起始位置和结束位置上,第一调试信号dbg_clk的脉冲数量不同;
90.情况2:在中断信号的起始位置和结束位置上,第二调试信号dbg_data在第一调试信号dbg_clk的上升沿或下降沿位置的电平值不同;
91.情况3:在中断信号的起始位置和结束位置上,第一调试信号dbg_clk的脉冲数量和第二调试信号dbg_data在第一调试信号dbg_clk的上升沿或下降沿位置dbg_data的电平值不同。
92.在另一些实施例中,还可用第一调试信号dbg_clk的脉冲宽度以及第二调试信号dbg_data在该脉冲宽度范围内的电平值,来标识中断程序的起始位置和结束位置。具体实施时,表征中断程序的起始位置和结束位置的波形特征可用坐标(x,y)表示,x表示第一调试信号dbg_clk的脉冲宽度,y表示第二调试信号dbg_data在第一调试信号dbg_clk的脉冲宽度范围内的电平值。具体情况如下:
93.情况三:x为第一调试信号dbg_clk的高电平脉冲宽度,y为第二调试信号dbg_data在第一调试信号dbg_clk的高电平脉冲宽度内的电平值。
94.值得说明的是,第一调试信号dbg_clk的脉冲宽度可用比特位表示。
95.本技术的一些实施例中,根据集成电路的特性,蓝牙基带集成电路中特定中断程序的类型可根据蓝牙基带集成电路的管脚输出的数据接收状态信号rx_data、数据发送状态信号tx_data、gio状态信号进行确定,比如,tx_data结束的位置为数据包汇编器(packet assembler,pka)中断,rx_data开始有数据的位置为同步(synchronization,简称sync)中断,rx_data完成数据接收的位置为数据包分解器(packet disassambler,pkd)中断,rx_data未收到数据且gio状态信号结束的位置为没有收到数据包(no packet received,no_
pkt_rcvd)中断。
96.以x、y的取值通过情况三的确定方式为例,图3a至图3c示例性示出了本技术实施例提供的中断程序的起始位置和结束位置的波形图。
97.图3a为本技术实施例提供的pka中断程序的起始位置和中断位置的波形图,如图3a所示,tx_data存在高电平比特位,而rx_data的比特位全部为低电平,表示蓝牙基带集成电路正在发送数据,根据集成电路特性,tx_data结束的位置会执行pka中断程序,可预计箭头处为tx_data结束的位置,箭头后虚线圈出的位置依次为pka中断程序的起始位置和结束位置。其中,起始位置处dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的高电平,y记为1,起始位置可表示为(1,1);结束位置处dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的低电平,y记为0,结束位置可表示为(1,0)。
98.图3b为本技术实施例提供的no_pkt_rcvd中断程序的起始位置和中断位置的波形图,如图3b所示,tx_data的比特位全部为低电平,表示蓝牙基带集成电路没有发送数据,rx_data的比特位全部为低电平,但gio状态信号被拉高,表示蓝牙基带集成电路的射频模块在工作,当前蓝牙基带集成电路处于接收数据状态,只是没有接收到数据。根据集成电路的特性,gio状态信号从高电平拉低为低电平的位置处(箭头标注处)执行no_pkt_rcvd中断,箭头后虚线圈出的位置依次为no_pkt_rcvd中断程序的起始位置和结束位置。其中,起始位置处dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的高电平,y记为1,起始位置可表示为(1,1);结束位置处dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的低电平,y记为0,结束位置可表示为(1,0)。
99.值得说明的是,根据蓝牙基带集成电路输出的数据接收状态信号rx_data、数据发送状态信号tx_data、gio状态信号无法确定定时器中断程序。本技术的一些实施例中,根据第一调试信号dbg_clk和第二调试信号dbg_data确定中断程序的起始位置和结束位置外,还可根据第一调试信号dbg_clk和第二调试信号dbg_data指示的中断程序的起始位置和结束位置之间的第一调试信号的脉冲信号序列,确定定时器中断程序。
100.图3c为本技术实施例提供的定时器中断程序的起始位置和中断位置的波形图。如图3c所示,rx_data的比特位全部为低电平,tx_data的比特位存在高电平,gio状态信号被拉高时,dbg_clk和dbg_data存在高电平。在虚线圈出的a位置处,dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的高电平,y记为1,a位置可表示为(1,1);虚线圈出的b位置处,dbg_clk有两个比特位为高电平,x记为2,dbg_clk中第一个高电平对应的dbg_data的高电平1,第二个高电平对应的dbg_data的高电平1,y记为“01”,b位置可表示为(2,1);虚线圈出的c位置处,dbg_clk有一个比特位为高电平,x记为1,dbg_clk高电平比特位对应的dbg_data的低电平,y记为0,c位置可表示为(1,0)。由于a位置和c位置占用的比特数少,运行定时器中断程序花费的时间较少,故将a位置作为定时器中断程序的起始位置,将c位置作为定时器中断程序的结束位置,b位置可用于表示定时器中断程序中中断函数的结束位置。
101.值得说明的是,在同一位置处,dbg_clk有多个比特位为高电平时,各高电平比特位对应的dbg_data的电平值的顺序可以由低比特位到高比特位,比如b位置处中y记为“01”,也可以由高比特位到低比特位,比如b位置处中y记为“10”。
102.为了跟踪更多程序的运行位置,可根据第一调试信号和第二调试信号指示中断程序运行期间的嵌入程序的位置,得到更多的坐标。其中,不同类型的嵌入程序的位置坐标不同。中断程序中坐标(x,y)标记的位置是唯一的。比如,在no_pkt_rcvd中断程序中(1,1)表示起始位置,便不能用(1,1)表示no_pkt_rcvd中断程序中其他嵌入程序的位置。
103.图3d为本技术实施例提供的no_pkt_rcvd中断程序的起始位置和中断位置之间执行嵌入程序的波形图。如图3d所示,以no_pkt_rcvdd中断程序为例,数据接收状态信号rx_data、数据发送状态信号tx_data和gio状态信号与图3c一致,与图3c不同的是,在no_pkt_rcvd中断程序的起始位置和结束位置之间,第一调试信号dbg_clk存在高电,如虚线圈出的位置,表示在执行no_pkt_rcvd中断程序运行期间执行了嵌入程序,如图3d示出的,dbg_clk有三个比特位为高电平,x记为3,dbg_clk中第一个高电平对应的dbg_data的低电平0,第二个高电平对应的dbg_data的高电平1,第三个高电平对应的dbg_data的低电平0,y记为“010”,该嵌入程序的位置可表示为(3,2),用于表示在no_pkt_rcvd中断程序运行期间执行了降低acl链路优先级的嵌入程序。
104.基于第一调试信号dbg_clk和第二调试信号dbg_data指示中断程序的起始位置和结束位置的方式,本技术实施例提供一种数据收发状态确定方法及装置。
105.图4示例性出处了本技术实施例提供的中断程序调试方法的流程图。该流程主要包括以下几步:
106.s401:获取用于指示中断程序的起始位置和结束位置第一调试信号和第二调试信号。
107.该步骤中,可根据第一调试信号和第二调试信号确定中断程序的起始位置和结束位置。具体描述参见图s202,在此不再重复。
108.在s401中,可在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值,比如,在图3c所示的定时器中断程序中,a位置(起始位置)上,第一调试信号的脉冲信号序列中脉冲信号有1个上升沿,获取该上升沿对应的第二调试信号的脉冲信号序列中脉冲信号为高电平1,得到第一位置的坐标(1,1);或者,根据第一位置上第一调试信号的脉冲信号序列中高电平脉冲信号的宽度,获取第二调试信号上与高电平脉冲信号对应的位置上高电平脉冲信号宽度内的电平值,比如,在图3c所示的定时器中断程序中,a位置(起始位置)上,第一调试信号的脉冲信号序列中脉冲信号有1个比特位宽度的高电平,获取该高电平比特位对应的第二调试信号的脉冲信号序列中脉冲信号为高电平1,得到第一位置的坐标(1,1)。
109.s402:根据第一调试信号和第二调试信号指示的中断程序的起始位置和结束位置,确定中断程序的运行时间长度。
110.该步骤中,用结束位置对应的时间减去开始位置对应的时间得到中断程序的运行时间长度。以图3c所示的定时器中断程序为例,起始位置(1,1)对应的时间a1为3.507292426秒,结束位置(1,0)对应的时间a2为3.507301824秒,得到定时器中断程序的运行时间长度a为9.398微秒(μs)。
111.s403:根据中断程序的运行时间长度,调试中断程序。
112.该步骤中,由于中断程序控制蓝牙基带集成电路在什么时间发送何种数据,不同中断程序的运行时间长度对应不同的数据收发状态,根据中断程序的运行时间长度,可确
定数据收发状态(比如数据收发的时间,数据类型等)。根据通信协议中规定的数据收发状态,调试人员可了解中断程序的运行情况,便于调试。
113.举例来说,以图3c所示的定时器中断程序为例,定时器中断程序的运行时间长度为9.398μs,根据定时器中断程序的运行时间长度与协议中对应的数据收发时间进行比较,根据比较结果对中断程序进行调试,从而提高蓝牙基带集成电路收发数据的时间精度。
114.在本技术的一些实施例中,特定类型的程序可根据集成电路输出的数据接收状态信号、数据发送状态信号和gio状态信号的特性确定,以中断程序为例,比如,tx_data结束的位置为pka中断,rx_data开始有数据的位置为sync中断,rx_data完成数据接收的位置为pkd中断,rx_data未收到数据且gio状态信号结束的位置为no_pkt_rcvd中断,具体描述参见图3a至图3c。具体实施时,获取蓝牙基带集成电路输出的数据接收状态信号、数据发送状态信号和视频控制信号,根据数据接收状态信号、数据发送状态信号和gio状态信号,确定程序的类型;根据程序的类型和运行时间长度,确定数据收发状态,根据数据收发状态调试程序。
115.基于相同的技术构思,本技术实施例提供了一种程序调试装置,该装置可实现上述实施例中程序调试方法。
116.参见图5,该装置包括获取模块501、运行时间长度确定模块502、调试模块503。
117.获取模块501,用于获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;
118.运行时间长度确定模块502,用于根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;
119.调试模块503,用于根据程序的运行时间长度,调试程序。
120.本技术的一些实施例中,获取模块,还用于数据接收状态信号、数据发送状态信号和视频控制信号;
121.该装置还包括类型确定模块,用于根据数据接收状态信号、数据发送状态信号和gio状态信号,确定程序的类型;
122.该装置还包括状态确定模块,用于根据程序的类型和运行时间长度,确定数据收发状态;
123.调试模块,还用于根据数据收发状态,调试程序。
124.本技术的一些实施例中,获取模块,还用于获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;
125.装置还包括位置确定模块,用于若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。
126.本技术的一些实施例中,获取模块具体用于:
127.在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者
128.根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。
129.本技术的一些实施例中,若第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间,第一调试信号上还包括脉冲信号序列;
130.获取模块,还用于获取起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量,以及起始位置和结束位置之间第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;
131.类型确定模块,还用于若起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的定时器程序的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序为定时器程序。
132.本技术的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;
133.获取模块,还用于获取程序的起始位置和结束位置之间,第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;
134.装置还包括嵌入程序确定模块,用于若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。
135.在此需要说明的是,本技术实施例提供的上述数据收发状态确定装置,能够实现上述方法实施例所实现的数据收发状确定方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
136.本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的方法。
137.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
138.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
139.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
140.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
141.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献