CN114546813A - A program debugging method and device - Google Patents
A program debugging method and device Download PDFInfo
- Publication number
- CN114546813A CN114546813A CN202011330110.6A CN202011330110A CN114546813A CN 114546813 A CN114546813 A CN 114546813A CN 202011330110 A CN202011330110 A CN 202011330110A CN 114546813 A CN114546813 A CN 114546813A
- Authority
- CN
- China
- Prior art keywords
- signal
- program
- pulse
- debugging
- pulse signal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/40—Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
- H04B5/48—Transceivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种程序调试方法及装置。该方法包括获取第一调试信号和第二调试信号,所述第一调试信号和所述第二调试信号用于指示程序的起始位置和结束位置;根据所述第一调试信号和所述第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;根据所述程序的运行时间长度,调试程序以控制数据的收发状态,从而提高蓝牙基带集成电路收发数据的时间精度。
Embodiments of the present application provide a program debugging method and device. The method includes acquiring a first debug signal and a second debug signal, the first debug signal and the second debug signal are used to indicate the start position and end position of a program; according to the first debug signal and the first debug signal 2. The start position and end position of the program indicated by the debugging signal determine the running time length of the program; according to the running time length of the program, debug the program to control the sending and receiving state of data, thereby improving the time accuracy of the bluetooth baseband integrated circuit for sending and receiving data .
Description
技术领域technical field
本申请涉及通信技术领域,尤其涉及一种程序调试方法及装置。The present application relates to the field of communication technologies, and in particular, to a program debugging method and device.
背景技术Background technique
随着蓝牙无线通信技术的发展,可通过蓝牙控制器控制设备的运行。蓝牙控制器内部含有集成电路(Integrated Circuit,IC),对蓝牙控制器进行调试时,一般使用集成电路的多个通用输入/输出接口(General-purpose Input/Output Ports,GPIO)输出的信号跟踪程序执行情况,比如用一个GPIO标记一处程序代码的运行位置。然而,有些IC中元器件的管脚(PIN)较少,用以调试的GPIO数量不足,无法跟踪全部程序代码的运行位置,从而无法准确的调程序以控制数据的收发状态。With the development of Bluetooth wireless communication technology, the operation of the device can be controlled through a Bluetooth controller. The Bluetooth controller contains an integrated circuit (Integrated Circuit, IC). When debugging the Bluetooth controller, the signal tracking program output by multiple general-purpose input/output ports (GPIO) of the integrated circuit is generally used. Execution, such as marking a place where program code runs with a GPIO. However, some ICs have fewer pins (PINs), and the number of GPIOs used for debugging is insufficient, so it is impossible to track the running position of all program codes, so that it is impossible to accurately adjust the program to control the sending and receiving status of data.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供一种程序调试方法及装置,用以实现程序的调试。Embodiments of the present application provide a program debugging method and apparatus, which are used to realize program debugging.
第一方面,本申请实施例提供一种程序调试方法,包括:In a first aspect, an embodiment of the present application provides a program debugging method, including:
获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;Obtain the first debugging signal and the second debugging signal; the first debugging signal and the second debugging signal are used to indicate the starting position and ending position of the program;
根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;Determine the running time length of the program according to the start position and end position of the program indicated by the first debugging signal and the second debugging signal;
根据所述程序的运行时间长度,调试所述程序。The program is debugged based on the length of time the program has been run.
本申请的一些实施例中,还包括:In some embodiments of the present application, it also includes:
获取数据接收状态信号、数据发送状态信号和射频控制信号;Obtain data reception status signal, data transmission status signal and radio frequency control signal;
根据数据接收状态信号、数据发送状态信号和射频控制信号,确定程序的类型;Determine the type of the program according to the data receiving state signal, the data sending state signal and the radio frequency control signal;
根据程序的类型和运行时间长度,确定数据收发状态;According to the type of the program and the length of the running time, determine the status of data sending and receiving;
根据所述数据收发状态,调试程序。Debug the program according to the data sending and receiving state.
本申请的一些实施例中,还包括:In some embodiments of the present application, it also includes:
获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;Obtain the number of pulse signals in the pulse signal sequence at the first position in the first debug signal;
获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;Obtain the level value corresponding to each pulse signal in the pulse signal sequence at the first position in the second debugging signal;
若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。If the number of pulse signals in the pulse sequence at the first position and the level value corresponding to each pulse signal in the pulse signal sequence at the first position match the number and level value of the pulse signals corresponding to the set starting position, Then determine the first position as the starting position of the program; if the number of pulse signals in the pulse sequence of the first position and the level value corresponding to each pulse signal in the pulse signal sequence of the first position, correspond to the set end position. If the number of pulse signals and the level value match, the first position is determined as the end position of the program.
本申请的一些实施例中,获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值,包括:In some embodiments of the present application, acquiring the level value corresponding to each pulse signal in the pulse signal sequence at the first position in the second debugging signal includes:
在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者Obtain the level value of the second debugging signal at the rising edge or falling edge of the pulse signal in the pulse signal sequence of the first debugging signal at the first position; or
根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。According to the width of the pulse signal in the pulse signal sequence of the first debugging signal at the first position, the level value within the pulse signal width at the position corresponding to the pulse signal on the second debugging signal is obtained.
本申请的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;In some embodiments of the present application, the first debug signal and the second debug signal are further used to indicate an embedded program during program execution;
方法还包括:Methods also include:
获取程序的起始位置和结束位置之间,第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;Obtain between the start position and the end position of the program, the number of pulse signals in the pulse signal sequence of the first debugging signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal;
若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。If the number of pulse signals in the pulse signal sequence of the first debug signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debug signal, the number of pulse signals and the voltage level of the pulse signals corresponding to the set embedded program If the values match, it is determined that the embedded program was run while the program was running.
第二方面,本申请的实施例提供一种程序调试装置,包括:In a second aspect, an embodiment of the present application provides a program debugging device, including:
获取模块,用于获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;an acquisition module for acquiring the first debug signal and the second debug signal; the first debug signal and the second debug signal are used to indicate the start position and end position of the program;
运行时间长度确定模块,用于根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;a running time length determining module, configured to determine the running time length of the program according to the starting position and the ending position of the program indicated by the first debugging signal and the second debugging signal;
调试模块,用于根据所述数据收发状态,调试程序。The debugging module is used to debug the program according to the data sending and receiving state.
本申请的一些实施例中,获取模块,还用于获取数据接收状态信号、数据发送状态信号和射频控制信号;In some embodiments of the present application, the acquisition module is further configured to acquire a data reception status signal, a data transmission status signal, and a radio frequency control signal;
所述装置还包括类型确定模块,用于根据数据接收状态信号、数据发送状态信号和射频控制信号,确定程序的类型;The device also includes a type determination module for determining the type of the program according to the data reception status signal, the data transmission status signal and the radio frequency control signal;
所述装置还包括状态确定模块,用于根据程序的类型和运行时间长度,确定数据收发状态;The device also includes a state determination module for determining the data sending and receiving state according to the type and running time of the program;
调试模块,还用于根据数据收发状态,调试程序。The debugging module is also used to debug the program according to the data sending and receiving state.
本申请的一些实施例中,获取模块,还用于获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;In some embodiments of the present application, the obtaining module is further configured to obtain the number of pulse signals in the pulse signal sequence at the first position in the first debugging signal; obtain each pulse signal in the pulse signal sequence at the first position in the second debugging signal the corresponding level value;
装置还包括位置确定模块,用于若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。The device also includes a position determination module, which is used for if the number of pulse signals in the pulse sequence of the first position and the level value corresponding to each pulse signal in the pulse signal sequence of the first position, the pulse signal corresponding to the set starting position If the number and level value of the first position match, the first position is determined as the starting position of the program; if the number of pulse signals in the pulse sequence at the first position and the level value corresponding to each pulse signal in the pulse signal sequence at the first position , and the number and level value of the pulse signal corresponding to the set end position match, then determine the first position as the end position of the program.
本申请的一些实施例中,获取模块具体用于:In some embodiments of the present application, the acquisition module is specifically used for:
在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者Obtain the level value of the second debugging signal at the rising edge or falling edge of the pulse signal in the pulse signal sequence of the first debugging signal at the first position; or
根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。According to the width of the pulse signal in the pulse signal sequence of the first debugging signal at the first position, the level value within the pulse signal width at the position corresponding to the pulse signal on the second debugging signal is obtained.
本申请的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;In some embodiments of the present application, the first debug signal and the second debug signal are further used to indicate an embedded program during program execution;
获取模块,还用于获取程序的起始位置和结束位置之间,第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;The acquisition module is also used to acquire the number of pulse signals in the pulse signal sequence of the first debugging signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal between the start position and the end position of the program;
装置还包括嵌入程序确定模块,用于若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。The device also includes an embedded program determination module, used for if the number of pulse signals in the pulse signal sequence of the first debugging signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal correspond to the set embedded program If the number of pulse signals and the level value of the pulse signal match, it is determined that the embedded program is run during the program execution.
第三方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行数据收发状态确定方法。In a third aspect, an embodiment of the present application further provides a computer-readable storage medium, where the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to cause a computer to execute a method for determining a state of data transmission and reception.
本申请的上述实施例中,获取第一调试信号和第二调试信号,其中,第一调试信号和第二调试信号用于指示程序的起始位置和结束位置,可根据程序的起始位置和结束位置,确定程序的运行时间长度,由于蓝牙基带集成电路在哪个时间收发数据由程序控制,不同程序的运行时间长度对应不同的数据收发状态,故可根据程序的运行时间长度,调试程序以控制数据的收发状态。In the above-mentioned embodiment of the present application, the first debug signal and the second debug signal are acquired, wherein the first debug signal and the second debug signal are used to indicate the start position and end position of the program, and can be determined according to the start position and the end position of the program. The end position determines the length of the running time of the program. Since the time when the Bluetooth baseband integrated circuit sends and receives data is controlled by the program, the running time length of different programs corresponds to different data sending and receiving states, so the program can be debugged according to the running time length of the program to control The sending and receiving status of data.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the accompanying drawings used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present application, and for those of ordinary skill in the art, other drawings can also be obtained from these drawings without any creative effort.
图1示例性示出了蓝牙基带集成电路的管脚输出的信号波形图;FIG. 1 exemplarily shows a signal waveform diagram of a pin output of a Bluetooth baseband integrated circuit;
图2示例性输出了本申请实施例提供的一种程序调试方法流程图;FIG. 2 exemplarily outputs a flowchart of a program debugging method provided by an embodiment of the present application;
图3a示例性示出了本申请实施例提供的PKA中断程序的起始位置和结束位置示意图;Fig. 3a exemplarily shows the schematic diagram of the starting position and the ending position of the PKA interrupt program provided by the embodiment of the present application;
图3b示例性示出了本申请实施例提供的NO_PKT_RCVD中断程序的起始位置和结束位置示意图;Figure 3b exemplarily shows a schematic diagram of the start position and end position of the NO_PKT_RCVD interrupt program provided by the embodiment of the present application;
图3c示例性示出了本申请实施例提供的定时器中断程序的起始位置和结束位置示意图;FIG. 3c exemplarily shows a schematic diagram of the start position and the end position of the timer interrupt program provided by the embodiment of the present application;
图3d示例性示出了本申请实施例提供的中断程序中嵌入程序的位置示意图;FIG. 3d exemplarily shows a schematic diagram of the location of the embedded program in the interrupt program provided by the embodiment of the present application;
图4示例性出处了本申请实施例提供的数据收发状态确定方法的流程图;FIG. 4 is an exemplary source of a flowchart of a method for determining a state of data transmission and reception provided by an embodiment of the present application;
图5示例性出处了本申请实施例提供的数据收发状态确定装置功能结构图。FIG. 5 is an exemplary source of a functional structure diagram of an apparatus for determining a state of data transmission and reception provided by an embodiment of the present application.
具体实施方式Detailed ways
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. . Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present application.
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。Based on the exemplary embodiments shown in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of this application. In addition, although the disclosures in this application are presented in terms of one or several exemplary examples, it should be understood that each aspect of these disclosures can also constitute a complete technical solution individually.
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。It should be understood that the terms "first", "second" and the like in the description and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that data so used may be interchanged under appropriate circumstances, eg, can be implemented according to an order other than those presented in the illustrations or descriptions of the embodiments of the present application.
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。Furthermore, the terms "comprising" and "having" and any variations thereof, are intended to cover but not exclusively include, for example, a product or device incorporating a series of components is not necessarily limited to those explicitly listed, but may include No other components are expressly listed or inherent to these products or devices.
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。The term "module" as used in this application refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic or combination of hardware or/and software code capable of performing the function associated with that element.
目前,蓝牙基带集成电路(比如蓝牙控制器的集成电路)的管脚可输出数据接收状态信号rx_data、数据发送状态信号tx_data、射频控制信号。其中,在集成电路中,通用输入/输出接口GPIO用于输出各类信号,GIO(General Input/Output Ports的缩写)比GPIO功能强大,可以精确控制在哪个微秒拉高脉冲信号,在哪个微秒拉低脉冲信号,GIO用于输出射频控制信号。Currently, pins of a Bluetooth baseband integrated circuit (such as an integrated circuit of a Bluetooth controller) can output a data reception status signal rx_data, a data transmission status signal tx_data, and a radio frequency control signal. Among them, in the integrated circuit, the general-purpose input/output interface GPIO is used to output various signals. GIO (abbreviation of General Input/Output Ports) is more powerful than GPIO, and can precisely control which microsecond to pull the pulse signal high, and which microsecond to pull the pulse signal. The pulse signal is pulled low in seconds, and the GIO is used to output the radio frequency control signal.
图1示例性示出了蓝牙基带集成电路的管脚输出的信号波形图。如图1所示,集成电路的管脚输出的数据接收状态信号rx_data、数据发送状态信号tx_data、射频控制信号(也称为GIO状态信号)为由高电平1和低电平0组成的方波信号,根据上述三种信号可方便的知道蓝牙基带集成电路是否在收发数据,比如,数据接收状态信号rx_data为高电平1时,表示蓝牙基带集成电路接收到了数据包;数据发送状态信号tx_data为高电平1时,表示蓝牙基带集成电路发送了数据包,GIO状态信号为高电平1时,表示蓝牙基带集成电路中的射频模块在工作。FIG. 1 exemplarily shows a signal waveform diagram of a pin output of a Bluetooth baseband integrated circuit. As shown in Figure 1, the data receiving state signal rx_data, the data sending state signal tx_data, and the radio frequency control signal (also called GIO state signal) output by the pins of the integrated circuit are composed of a high level 1 and a low level 0. Wave signal, according to the above three signals, it is convenient to know whether the Bluetooth baseband integrated circuit is sending and receiving data. For example, when the data reception status signal rx_data is high level 1, it means that the Bluetooth baseband integrated circuit has received a data packet; the data transmission status signal tx_data When it is a high level of 1, it means that the Bluetooth baseband integrated circuit has sent a data packet. When the GIO status signal is a high level of 1, it means that the radio frequency module in the Bluetooth baseband integrated circuit is working.
值得说明的是,图1仅是一种示例,数据接收状态信号rx_data、数据发送状态信号tx_data、GIO状态信号还可为其他波形的信号,比如正弦信号、余弦信号、三角波信号等。但根据图1输出的数据接收状态信号rx_data、数据发送状态信号tx_data、GIO状态信号无法判断程序的执行位置。It should be noted that FIG. 1 is only an example, the data receiving state signal rx_data, the data sending state signal tx_data, and the GIO state signal may also be signals of other waveforms, such as sine signal, cosine signal, triangular wave signal, etc. However, according to the data receiving state signal rx_data, the data sending state signal tx_data, and the GIO state signal output in FIG. 1 , the execution position of the program cannot be determined.
蓝牙基带集成电路只提供了数据收发功能,至于在哪个时间哪个物理信道采用哪种方式收发数据,则由蓝牙基带集成电路的程序进行控制,蓝牙基带模块、蓝牙射频模块、蓝牙调制解调器等电路模块间的配合工作也由程序控制。程序运行出错可能会导致蓝牙基带集成电路收发数据的时间出错,最终无法工作。因此,需要确定程序的运行位置。The Bluetooth baseband integrated circuit only provides the function of data transmission and reception. As for which physical channel and which method to send and receive data at which time, it is controlled by the program of the Bluetooth baseband integrated circuit. The Bluetooth baseband module, Bluetooth radio frequency module, Bluetooth modem and other circuit modules The coordination work is also controlled by the program. Errors in program operation may cause errors in the time when the Bluetooth baseband integrated circuits send and receive data, and ultimately fail to work. Therefore, it is necessary to determine where the program runs.
目前的一种解决方法是,通过应用程序控制台输出的打印信息确定程序的运行位置,一般对实时性要求较低或没有实时性要求的程序的调试,可添加一些简单的打印信息跟踪程序的运行位置。但蓝牙控制器等设备对程序的实时性要求较高,由于打印信息的速度较慢,且大量的打印信息会占用较长的时间,继而导致程序因添加较多的打印信息而无法在规定的时间内运行完毕,最终导致蓝牙基带集成电路数据收发时间出错。另一方面,打印信息仅用于指示程序中代码的执行情况,无法指示程序的运行时间长度。A current solution is to determine the running position of the program through the printing information output by the application console. Generally, for the debugging of programs with low real-time requirements or no real-time requirements, some simple printing information tracking programs can be added. operating position. However, devices such as Bluetooth controllers have high requirements on the real-time performance of the program. Due to the slow speed of printing information, and a large amount of printing information will take a long time, the program cannot be specified in the specified time due to adding more printing information. After the operation is completed within the time, the data sending and receiving time of the Bluetooth baseband integrated circuit is finally caused to be wrong. On the other hand, printing information is only used to indicate the execution of the code in the program, not the length of time the program has been run.
为解决上述问题,本申请的实施例提供一种程序调试方法及装置。本申请的一些实施例中,通过使用蓝牙基带集成电路的两个GPIO输出第一调试信号dbg_clk和第二调试信号dbg_data来指示程序的起始位置和结束位置,与数据接收状态信号rx_data、数据发送状态信号tx_data、GIO状态信号类似,将第一调试信号dbg_clk和第二调试信号dbg_data的信号线接到逻辑分析仪上,对第一调试信号dbg_clk和第二调试信号dbg_data的波形进行分析,确定程序的运行时间长度,从而根据程序的运行时间长度调试程序以实现蓝牙控制器准确控制数据的收发状态。To solve the above problems, embodiments of the present application provide a program debugging method and apparatus. In some embodiments of the present application, the first debug signal dbg_clk and the second debug signal dbg_data are output by using two GPIOs of the Bluetooth baseband integrated circuit to indicate the start position and end position of the program, and the data reception status signal rx_data, data transmission The status signal tx_data and GIO status signal are similar. Connect the signal lines of the first debugging signal dbg_clk and the second debugging signal dbg_data to the logic analyzer, and analyze the waveforms of the first debugging signal dbg_clk and the second debugging signal dbg_data to determine the program. The running time length of the program can be debugged according to the running time length of the program, so that the Bluetooth controller can accurately control the sending and receiving state of the data.
图2示例性输出了本申请实施例提供的一种程序调试方法流程图。如图2所示,该方法可由软件方式执行,也可由软硬件结合方式执行,主要包括以下几步:FIG. 2 exemplarily outputs a flowchart of a program debugging method provided by an embodiment of the present application. As shown in Figure 2, the method can be executed by software or by a combination of software and hardware, and mainly includes the following steps:
S201:获取第一调试信号和第二调试信号。S201: Acquire a first debugging signal and a second debugging signal.
该步骤中,第一调试信号dbg_clk和第二调试信号dbg_data用于指示程序的起始位置和结束位置,可根据第一调试信号和第二调试信号确定程序的起始位置和结束位置。具体地,获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量,并获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与特定程序设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与特定程序设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。In this step, the first debug signal dbg_clk and the second debug signal dbg_data are used to indicate the start position and end position of the program, and the start position and end position of the program can be determined according to the first debug signal and the second debug signal. Specifically, the number of pulse signals in the pulse signal sequence at the first position in the first debugging signal is obtained, and the level value corresponding to each pulse signal in the pulse signal sequence at the first position in the second debugging signal is obtained; if the first position The number of pulse signals in the pulse sequence and the level value corresponding to each pulse signal in the pulse signal sequence at the first position match the number and level value of the pulse signal corresponding to the starting position set by the specific program, then determine The first position is the starting position of the program; if the number of pulse signals in the pulse sequence at the first position and the level value corresponding to each pulse signal in the pulse signal sequence at the first position, correspond to the end position set by the specific program. If the number of pulse signals and the level value match, the first position is determined as the end position of the program.
其中,第一位置脉冲信号的数量可以是第一调试信号中第一位置的脉冲信号序列中脉冲信号的上升沿数量、下降沿数量或高电平脉冲信号的宽度;第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值可以为第一调试信号上脉冲信号的上升沿、下降沿或高电平脉冲信号宽度内第二调试信号上脉冲信号对应的电平值。The number of pulse signals at the first position may be the number of rising edges, the number of falling edges or the width of high-level pulse signals in the pulse signal sequence at the first position in the first debugging signal; The level value corresponding to each pulse signal in the pulse signal sequence of the position may be the rising edge, falling edge of the pulse signal on the first debugging signal or the level value corresponding to the pulse signal on the second debugging signal within the width of the high-level pulse signal.
S202:根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度。S202: Determine the running time length of the program according to the start position and the end position of the program indicated by the first debugging signal and the second debugging signal.
该步骤中,用结束位置对应的时间减去开始位置对应的时间得到程序的运行时间长度。In this step, the time corresponding to the start position is subtracted from the time corresponding to the end position to obtain the running time length of the program.
S203:根据程序的运行时间长度,调试程序。S203: Debug the program according to the running time length of the program.
在本申请的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序,根据程序的起始位置和结束位置之间包含的第一调试信号的脉冲信号序列,则可根据第一调试信号和第二调试信号确定程序运行期间的嵌入程序。In some embodiments of the present application, the first debug signal and the second debug signal are also used to indicate the embedded program during the running of the program, according to the pulse signal sequence of the first debug signal included between the start position and the end position of the program , the embedded program during the running of the program can be determined according to the first debug signal and the second debug signal.
具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,可获取程序的起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值是否与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序运行期间运行了该嵌入程序。During specific implementation, after the start position and end position of the program are determined according to the first debug signal and the second debug signal, the number of pulse signals in the pulse signal sequence of the first debug signal between the start position and the end position of the program can be obtained and the level value corresponding to each pulse signal in the pulse signal sequence of the second debug signal; determine the number of pulse signals in the pulse signal sequence of the first debug signal and the pulse signal sequence of the second debug signal between the start position and the end position Whether the level value corresponding to each pulse signal matches the number of pulse signals corresponding to the set embedded program and the level value of the pulse signal, if so, it is determined that the embedded program has been run during the program running.
本申请的上述实施例,通过确定程序运行期间执行的嵌入程序,可进一步了解程序的运行情况,从而进一步了解蓝牙基带集成电路收发数据的状态。In the above-mentioned embodiments of the present application, by determining the embedded program executed during the running of the program, it is possible to further understand the running status of the program, so as to further understand the status of the data sent and received by the Bluetooth baseband integrated circuit.
本申请的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序,根据程序的起始位置和结束位置之间包含的第一调试信号的脉冲信号序列,则可根据第一调试信号和第二调试信号确定程序运行期间的嵌入程序。In some embodiments of the present application, the first debug signal and the second debug signal are also used to indicate the embedded program during the running of the program, according to the pulse signal sequence of the first debug signal included between the start position and the end position of the program, Then, the embedded program during the running of the program can be determined according to the first debug signal and the second debug signal.
具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,可获取程序的起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值是否与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序运行期间运行了该嵌入程序,如图3d所示。During specific implementation, after the start position and end position of the program are determined according to the first debug signal and the second debug signal, the number of pulse signals in the pulse signal sequence of the first debug signal between the start position and the end position of the program can be obtained and the level value corresponding to each pulse signal in the pulse signal sequence of the second debug signal; determine the number of pulse signals in the pulse signal sequence of the first debug signal and the pulse signal sequence of the second debug signal between the start position and the end position Whether the level value corresponding to each pulse signal matches the number of pulse signals corresponding to the set embedded program and the level value of the pulse signal, if so, it is determined that the embedded program is run during the program running, as shown in Figure 3d .
本申请的上述实施例,通过确定程序运行期间执行的嵌入程序,可进一步了解程序的运行情况,从而进一步了解蓝牙基带集成电路收发数据的状态。In the above-mentioned embodiments of the present application, by determining the embedded program executed during the running of the program, it is possible to further understand the running status of the program, so as to further understand the status of the data sent and received by the Bluetooth baseband integrated circuit.
本申请的一些实施例中,根据第一调试信号和第二调试信号还可确定根据蓝牙基带集成电路的特性无法确定的程序的类型。In some embodiments of the present application, the type of the program that cannot be determined according to the characteristics of the Bluetooth baseband integrated circuit can also be determined according to the first debugging signal and the second debugging signal.
具体实施时,根据第一调试信号和第二调试信号确定程序的起始位置和结束位置后,判断第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间的第一调试信号上是否还包括脉冲信号序列,若包括,则获取起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量,以及起始位置和结束位置之间第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;判断起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,是否与设定的定时器程序的脉冲信号的数量以及脉冲信号的电平值相匹配,若是,则确定程序为定时器程序,如图3c所示。In specific implementation, after determining the start position and end position of the program according to the first debug signal and the second debug signal, determine the first position between the start position and the end position of the program indicated by the first debug signal and the second debug signal. Whether the debug signal also includes a pulse signal sequence, if included, obtain the number of pulse signals in the pulse signal sequence of the first debug signal between the start position and the end position, and the second debug signal between the start position and the end position The level value corresponding to each pulse signal in the pulse signal sequence of the first debug signal; determine the number of pulse signals in the pulse signal sequence of the first debug signal between the start position and the end position and the corresponding pulse signals in the pulse signal sequence of the second debug signal. Whether the level value of the timer program matches the number of pulse signals and the level value of the pulse signal in the set timer program, if so, the program is determined to be a timer program, as shown in Figure 3c.
本申请的上述实施例中,根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间的脉冲信号序列,可解决基于蓝牙基带集成电路特性无法确定的程序的类型,从而进一步了解蓝牙基带集成电路收发数据的状态。In the above embodiments of the present application, according to the pulse signal sequence between the start position and the end position of the program indicated by the first debugging signal and the second debugging signal, the type of the program that cannot be determined based on the characteristics of the Bluetooth baseband integrated circuit can be solved, In order to further understand the status of the bluetooth baseband integrated circuit sending and receiving data.
下面以中断程序为例详细描述本申请实施例提供的程序调试方法。值得说明的是,本申请实施例提供的程序调试方法可适用于对时序要求较高的中断程序,也适用于其他程序的调试。The program debugging method provided by the embodiment of the present application is described in detail below by taking an interrupt program as an example. It should be noted that the program debugging method provided by the embodiments of the present application may be applicable to interrupt programs with high timing requirements, and also applicable to the debugging of other programs.
本申请的一些实施例中,设置第一调试信号dbg_clk和第二调试信号dbg_data,分别定义用于表征中断程序的起始位置和结束位置的波形特征,在中断程序开始执行时,第一调试信号dbg_clk和第二调试信号dbg_data的波形发生变化,且波形特征与预先定义的中断程序的起始位置的波形特征相同,在中断程序执行结束时,第一调试信号dbg_clk和第二调试信号dbg_data的波形发生变化,且波形特征与预先定义的中断程序的结束位置的波形特征相同。第一调试信号dbg_clk和第二调试信号dbg_data由蓝牙基带集成电路的两个GPIO分别输出,这样,通过检测蓝牙基带集成电路输出的第一调试信号dbg_clk和第二调试信号dbg_data,对这两个信号的波形特征进行提取和分析,即可确定出中断程序的起始位置和结束位置。In some embodiments of the present application, the first debug signal dbg_clk and the second debug signal dbg_data are set to respectively define waveform characteristics used to represent the start position and end position of the interrupt program. When the interrupt program starts to execute, the first debug signal The waveforms of dbg_clk and the second debug signal dbg_data have changed, and the waveform characteristics are the same as the waveform characteristics of the pre-defined start position of the interrupt program. When the execution of the interrupt program ends, the waveforms of the first debug signal dbg_clk and the second debug signal dbg_data changes, and the waveform characteristics are the same as those at the end of the predefined interrupt routine. The first debug signal dbg_clk and the second debug signal dbg_data are respectively output by two GPIOs of the Bluetooth baseband integrated circuit. In this way, by detecting the first debug signal dbg_clk and the second debug signal dbg_data output by the Bluetooth baseband integrated circuit, these two signals are Extract and analyze the waveform features of the interrupt program to determine the start position and end position of the interrupt program.
其中,第二调试信号dbg_data脉冲宽度可根据第一调试信号dbg_clk的脉冲宽度进行设置,具体包括以下任一情况:Wherein, the pulse width of the second debugging signal dbg_data can be set according to the pulse width of the first debugging signal dbg_clk, which specifically includes any of the following situations:
情况一:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk上升沿的数量。Case 1: The pulse width of the second debug signal dbg_data is equal to the number of rising edges of the first debug signal dbg_clk.
情况二:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk下升沿的数量。Case 2: The pulse width of the second debug signal dbg_data is equal to the number of falling edges of the first debug signal dbg_clk.
情况三:第二调试信号dbg_data的脉冲宽度等于第一调试信号dbg_clk高电平脉冲宽度。Case 3: The pulse width of the second debugging signal dbg_data is equal to the high-level pulse width of the first debugging signal dbg_clk.
值得说明的是,用于表征中断程序的起始位置的波形特征,与用于表征中断程序的结束位置的波形特征不同,以便对中断程序的起始位置和结束位置进行分区。It should be noted that the waveform feature used to characterize the start position of the interrupt program is different from the waveform feature used to characterize the end position of the interrupt program, so as to partition the start position and the end position of the interrupt program.
在一些实施例中,用于表征中断程序的起始位置和结束位置的波形特征,可包括:在中断程序的起始位置和结束位置,第一调试信号dbg_clk输出设定数量的脉冲,第二调试信号dbg_data在其中设定的一个或多个脉冲的上升沿和/或下降处于设定的状态(比如高电平状态或低电平状态)。即,可用第一调试信号dbg_clk的脉冲数量,以及第二调试信号dbg_data在第一调试信号dbg_clk的脉冲的上升沿或下降沿的电平值,来标识中断程序的起始位置和结束位置。具体实施时,表征中断程序的起始位置和结束位置的波形特征可用坐标(X,Y)表示,X表示第一调试信号dbg_clk的脉冲数量,Y表示第二调试信号dbg_data在设定位置上的电平值,具体可包括以下任一情况:In some embodiments, the waveform characteristics used to characterize the start position and the end position of the interrupt program may include: at the start position and end position of the interrupt program, the first debug signal dbg_clk outputs a set number of pulses, and the second debug signal dbg_clk outputs a set number of pulses. The rising edge and/or falling edge of one or more pulses in which the debug signal dbg_data is set are in a set state (eg, a high-level state or a low-level state). That is, the number of pulses of the first debug signal dbg_clk and the level value of the second debug signal dbg_data at the rising or falling edge of the pulse of the first debug signal dbg_clk can be used to identify the start and end positions of the interrupt program. In specific implementation, the waveform characteristics representing the start position and end position of the interrupt program can be represented by coordinates (X, Y), where X represents the number of pulses of the first debug signal dbg_clk, and Y represents the pulse number of the second debug signal dbg_data at the set position. Level value, which can include any of the following:
情况一:X为第一调试信号dbg_clk的上升沿个数,Y为第二调试信号dbg_data在第一调试信号dbg_clk的上升沿位置的电平值。Case 1: X is the number of rising edges of the first debugging signal dbg_clk, and Y is the level value of the second debugging signal dbg_data at the rising edge position of the first debugging signal dbg_clk.
情况二:X为第一调试信号dbg_clk的下降沿个数,Y为第二调试信号dbg_data在第一调试信号dbg_clk的下降沿位置的电平值。Case 2: X is the number of falling edges of the first debugging signal dbg_clk, and Y is the level value of the second debugging signal dbg_data at the falling edge position of the first debugging signal dbg_clk.
其中,用于表征中断程序的起始位置的波形特征,与用于表征中断程序的结束位置的波形特征不同,具体可包括以下几种情况:Among them, the waveform feature used to characterize the start position of the interrupt program is different from the waveform feature used to characterize the end position of the interrupt program, and may specifically include the following situations:
情况1:在中断信号的起始位置和结束位置上,第一调试信号dbg_clk的脉冲数量不同;Case 1: The number of pulses of the first debug signal dbg_clk is different at the start position and end position of the interrupt signal;
情况2:在中断信号的起始位置和结束位置上,第二调试信号dbg_data在第一调试信号dbg_clk的上升沿或下降沿位置的电平值不同;Case 2: At the start position and end position of the interrupt signal, the level value of the second debug signal dbg_data at the rising edge or the falling edge of the first debug signal dbg_clk is different;
情况3:在中断信号的起始位置和结束位置上,第一调试信号dbg_clk的脉冲数量和第二调试信号dbg_data在第一调试信号dbg_clk的上升沿或下降沿位置dbg_data的电平值不同。Case 3: At the start position and end position of the interrupt signal, the number of pulses of the first debug signal dbg_clk is different from the level value of the second debug signal dbg_data at the rising or falling edge position of the first debug signal dbg_clk dbg_data.
在另一些实施例中,还可用第一调试信号dbg_clk的脉冲宽度以及第二调试信号dbg_data在该脉冲宽度范围内的电平值,来标识中断程序的起始位置和结束位置。具体实施时,表征中断程序的起始位置和结束位置的波形特征可用坐标(X,Y)表示,X表示第一调试信号dbg_clk的脉冲宽度,Y表示第二调试信号dbg_data在第一调试信号dbg_clk的脉冲宽度范围内的电平值。具体情况如下:In other embodiments, the pulse width of the first debug signal dbg_clk and the level value of the second debug signal dbg_data within the pulse width range can also be used to identify the start position and the end position of the interrupt program. During specific implementation, the waveform characteristics representing the start position and end position of the interrupt program can be represented by coordinates (X, Y), where X represents the pulse width of the first debug signal dbg_clk, and Y represents the second debug signal dbg_data in the first debug signal dbg_clk. level value within the pulse width range. Details are as follows:
情况三:X为第一调试信号dbg_clk的高电平脉冲宽度,Y为第二调试信号dbg_data在第一调试信号dbg_clk的高电平脉冲宽度内的电平值。Case 3: X is the high-level pulse width of the first debugging signal dbg_clk, and Y is the level value of the second debugging signal dbg_data within the high-level pulse width of the first debugging signal dbg_clk.
值得说明的是,第一调试信号dbg_clk的脉冲宽度可用比特位表示。It should be noted that the pulse width of the first debug signal dbg_clk can be represented by bits.
本申请的一些实施例中,根据集成电路的特性,蓝牙基带集成电路中特定中断程序的类型可根据蓝牙基带集成电路的管脚输出的数据接收状态信号rx_data、数据发送状态信号tx_data、GIO状态信号进行确定,比如,tx_data结束的位置为数据包汇编器(PacketAssembler,PKA)中断,rx_data开始有数据的位置为同步(synchronization,简称SYNC)中断,rx_data完成数据接收的位置为数据包分解器(Packet Disassambler,PKD)中断,rx_data未收到数据且GIO状态信号结束的位置为没有收到数据包(no packet received,NO_PKT_RCVD)中断。In some embodiments of the present application, according to the characteristics of the integrated circuit, the type of the specific interrupt program in the Bluetooth baseband integrated circuit can be based on the data reception status signal rx_data, the data transmission status signal tx_data, the GIO status signal output by the pins of the Bluetooth baseband integrated circuit Determine, for example, the location where tx_data ends is a packet assembler (PacketAssembler, PKA) interrupt, the location where rx_data begins with data is a synchronization (synchronization, referred to as SYNC) interrupt, and the location where rx_data completes data reception is the packet disassembler (Packet assembler) Disassambler, PKD) interrupt, rx_data does not receive data and the position where the GIO status signal ends is no packet received (NO_PKT_RCVD) interrupt.
以X、Y的取值通过情况三的确定方式为例,图3a至图3c示例性示出了本申请实施例提供的中断程序的起始位置和结束位置的波形图。Taking the determination of the values of X and Y through Case 3 as an example, FIG. 3 a to FIG. 3 c exemplarily show waveform diagrams of the starting position and the ending position of the interrupt program provided by the embodiment of the present application.
图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)。Fig. 3a is a waveform diagram of the starting position and the interrupt position of the PKA interrupt program provided by the embodiment of the application. As shown in Fig. 3a, tx_data has high-level bits, and all the bits of rx_data are low-level, indicating that Bluetooth The baseband integrated circuit is sending data. According to the characteristics of the integrated circuit, the PKA interrupt program will be executed at the position where tx_data ends. It can be expected that the arrow is the position where tx_data ends. The dotted position after the arrow is the start position and end of the PKA interrupt program. Location. Among them, one bit of dbg_clk at the starting position is high level, X is recorded as 1, the high level of dbg_data corresponding to the high level bit of dbg_clk, Y is recorded as 1, and the starting position can be expressed as (1,1 ); at the end position dbg_clk has a high level, X is recorded as 1, the dbg_clk high level bit corresponds to the low level of dbg_data, Y is recorded as 0, and the end position can be expressed as (1,0).
图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)。Figure 3b is a waveform diagram of the starting position and the interrupt position of the NO_PKT_RCVD interrupt program provided by the embodiment of the application. As shown in Figure 3b, the bits of tx_data are all low levels, indicating that the Bluetooth baseband integrated circuit does not send data, and the rx_data The bits are all low, but the GIO status signal is pulled high, indicating that the radio frequency module of the Bluetooth baseband integrated circuit is working, and the current Bluetooth baseband integrated circuit is in the state of receiving data, but no data is received. According to the characteristics of the integrated circuit, the NO_PKT_RCVD interrupt is executed at the position where the GIO status signal is pulled from a high level to a low level (marked by the arrow), and the dotted position after the arrow is the start position and end position of the NO_PKT_RCVD interrupt program. . Among them, one bit of dbg_clk at the starting position is high level, X is recorded as 1, the high level of dbg_data corresponding to the high level bit of dbg_clk, Y is recorded as 1, and the starting position can be expressed as (1,1 ); at the end position dbg_clk has a high level, X is recorded as 1, the dbg_clk high level bit corresponds to the low level of dbg_data, Y is recorded as 0, and the end position can be expressed as (1,0).
值得说明的是,根据蓝牙基带集成电路输出的数据接收状态信号rx_data、数据发送状态信号tx_data、GIO状态信号无法确定定时器中断程序。本申请的一些实施例中,根据第一调试信号dbg_clk和第二调试信号dbg_data确定中断程序的起始位置和结束位置外,还可根据第一调试信号dbg_clk和第二调试信号dbg_data指示的中断程序的起始位置和结束位置之间的第一调试信号的脉冲信号序列,确定定时器中断程序。It is worth noting that the timer interrupt program cannot be determined according to the data reception status signal rx_data, the data transmission status signal tx_data, and the GIO status signal output by the Bluetooth baseband integrated circuit. In some embodiments of the present application, in addition to determining the start position and end position of the interrupt program according to the first debug signal dbg_clk and the second debug signal dbg_data, the interrupt program can also be determined according to the first debug signal dbg_clk and the second debug signal dbg_data. The pulse signal sequence of the first debug signal between the start position and the end position determines the timer interrupt program.
图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位置可用于表示定时器中断程序中中断函数的结束位置。FIG. 3c is a waveform diagram of a start position and an interrupt position of a timer interrupt program provided by an embodiment of the present application. As shown in Figure 3c, the bits of rx_data are all low levels, the bits of tx_data are high levels, and when the GIO status signal is pulled high, dbg_clk and dbg_data are high levels. At the position A indicated by the dotted circle, one bit of dbg_clk is high, X is recorded as 1, the high level of dbg_clk corresponding to the high level bit of dbg_data is high, Y is recorded as 1, and the A position can be expressed as (1 ,1); At the B position of the dotted circle, two bits of dbg_clk are high, X is recorded as 2, the first high level in dbg_clk corresponds to the high level of dbg_data 1, the second high level The high level of the corresponding dbg_data is 1, Y is marked as "01", and the B position can be represented as (2, 1); at the C position of the dotted circle, dbg_clk has a high level, and X is marked as 1 , the low level of dbg_data corresponding to the high level bit of dbg_clk, Y is marked as 0, and the C position can be represented as (1,0). Due to the small number of bits occupied by the A position and the C position, it takes less time to run the timer interrupt program. Therefore, the A position is used as the starting position of the timer interrupt program, and the C position is used as the end position of the timer interrupt program. Location can be used to indicate where the interrupt function ends in a timer interrupt routine.
值得说明的是,在同一位置处,dbg_clk有多个比特位为高电平时,各高电平比特位对应的dbg_data的电平值的顺序可以由低比特位到高比特位,比如B位置处中Y记为“01”,也可以由高比特位到低比特位,比如B位置处中Y记为“10”。It is worth noting that, at the same position, when multiple bits of dbg_clk are high, the order of the level value of dbg_data corresponding to each high-level bit can be from low-bit to high-bit, such as the B position. The Y in the middle is recorded as "01", and it can also be from the high bit to the low bit, for example, the Y in the B position is recorded as "10".
为了跟踪更多程序的运行位置,可根据第一调试信号和第二调试信号指示中断程序运行期间的嵌入程序的位置,得到更多的坐标。其中,不同类型的嵌入程序的位置坐标不同。中断程序中坐标(X,Y)标记的位置是唯一的。比如,在NO_PKT_RCVD中断程序中(1,1)表示起始位置,便不能用(1,1)表示NO_PKT_RCVD中断程序中其他嵌入程序的位置。In order to track the running positions of more programs, more coordinates can be obtained according to the position of the embedded program during the running of the interrupt program indicated by the first debug signal and the second debug signal. Among them, the position coordinates of different types of embedded programs are different. The position marked by the coordinates (X, Y) in the interrupt program is unique. For example, in the NO_PKT_RCVD interrupt program (1,1) represents the starting position, then (1,1) cannot be used to represent the position of other embedded programs in the NO_PKT_RCVD interrupt program.
图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链路优先级的嵌入程序。FIG. 3d is a waveform diagram of executing the embedded program between the start position and the interrupt position of the NO_PKT_RCVD interrupt program provided by the embodiment of the present application. As shown in Figure 3d, taking the NO_PKT_RCVDD interrupt program as an example, the data reception status signal rx_data, data transmission status signal tx_data and GIO status signal are consistent with Figure 3c. Between the positions, the first debug signal dbg_clk has high power, such as the position circled by the dotted circle, indicating that the embedded program is executed during the execution of the NO_PKT_RCVD interrupt program. As shown in Figure 3d, dbg_clk has three bits high. X is recorded as 3, the first high level in dbg_clk corresponds to the low level of dbg_data, the second high level corresponds to the high level of dbg_data, and the third high level corresponds to the low level of dbg_data 0, Y is denoted as "010", and the position of the embedded program can be represented as (3, 2), which is used to indicate that the embedded program to reduce the priority of the ACL link is executed during the NO_PKT_RCVD interrupt program running.
基于第一调试信号dbg_clk和第二调试信号dbg_data指示中断程序的起始位置和结束位置的方式,本申请实施例提供一种数据收发状态确定方法及装置。Based on the manner in which the first debug signal dbg_clk and the second debug signal dbg_data indicate the start position and end position of the interrupt program, the embodiments of the present application provide a method and apparatus for determining a data transmission and reception state.
图4示例性出处了本申请实施例提供的中断程序调试方法的流程图。该流程主要包括以下几步:FIG. 4 is an exemplary source flow chart of the method for debugging an interrupt program provided by an embodiment of the present application. The process mainly includes the following steps:
S401:获取用于指示中断程序的起始位置和结束位置第一调试信号和第二调试信号。S401: Acquire a first debug signal and a second debug signal for indicating a start position and an end position of the interrupt program.
该步骤中,可根据第一调试信号和第二调试信号确定中断程序的起始位置和结束位置。具体描述参见图S202,在此不再重复。In this step, the start position and the end position of the interrupt program can be determined according to the first debug signal and the second debug signal. Refer to FIG. S202 for specific description, which will not be repeated here.
在S401中,可在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值,比如,在图3c所示的定时器中断程序中,A位置(起始位置)上,第一调试信号的脉冲信号序列中脉冲信号有1个上升沿,获取该上升沿对应的第二调试信号的脉冲信号序列中脉冲信号为高电平1,得到第一位置的坐标(1,1);或者,根据第一位置上第一调试信号的脉冲信号序列中高电平脉冲信号的宽度,获取第二调试信号上与高电平脉冲信号对应的位置上高电平脉冲信号宽度内的电平值,比如,在图3c所示的定时器中断程序中,A位置(起始位置)上,第一调试信号的脉冲信号序列中脉冲信号有1个比特位宽度的高电平,获取该高电平比特位对应的第二调试信号的脉冲信号序列中脉冲信号为高电平1,得到第一位置的坐标(1,1)。In S401, the level value of the second debug signal can be obtained at the rising edge or the falling edge of the pulse signal in the pulse signal sequence of the first debug signal at the first position, for example, in the timer interrupt program shown in FIG. 3c , at the A position (starting position), the pulse signal in the pulse signal sequence of the first debug signal has one rising edge, and the pulse signal in the pulse signal sequence of the second debug signal corresponding to the rising edge is obtained as high level 1 , obtain the coordinates of the first position (1,1); or, according to the width of the high-level pulse signal in the pulse signal sequence of the first debugging signal at the first position, obtain the second debugging signal corresponding to the high-level pulse signal The level value within the width of the high-level pulse signal at the position. For example, in the timer interrupt program shown in Figure 3c, at position A (starting position), the pulse signal in the pulse signal sequence of the first debug signal has 1 A high level of a bit width is obtained, the pulse signal in the pulse signal sequence of the second debugging signal corresponding to the high level bit is obtained as high level 1, and the coordinate (1, 1) of the first position is obtained.
S402:根据第一调试信号和第二调试信号指示的中断程序的起始位置和结束位置,确定中断程序的运行时间长度。S402: Determine the running time length of the interrupt program according to the start position and the end position of the interrupt program indicated by the first debug signal and the second debug signal.
该步骤中,用结束位置对应的时间减去开始位置对应的时间得到中断程序的运行时间长度。以图3c所示的定时器中断程序为例,起始位置(1,1)对应的时间A1为3.507292426秒,结束位置(1,0)对应的时间A2为3.507301824秒,得到定时器中断程序的运行时间长度A为9.398微秒(μs)。In this step, the time corresponding to the start position is subtracted from the time corresponding to the end position to obtain the running time length of the interrupt program. Taking the timer interrupt program shown in Figure 3c as an example, the time A1 corresponding to the start position (1,1) is 3.507292426 seconds, and the time A2 corresponding to the end position (1,0) is 3.507301824 seconds. The run time length A was 9.398 microseconds (μs).
S403:根据中断程序的运行时间长度,调试中断程序。S403: Debug the interrupt program according to the running time length of the interrupt program.
该步骤中,由于中断程序控制蓝牙基带集成电路在什么时间发送何种数据,不同中断程序的运行时间长度对应不同的数据收发状态,根据中断程序的运行时间长度,可确定数据收发状态(比如数据收发的时间,数据类型等)。根据通信协议中规定的数据收发状态,调试人员可了解中断程序的运行情况,便于调试。In this step, since the interrupt program controls what data is sent by the Bluetooth baseband integrated circuit at what time, the running time lengths of different interrupt programs correspond to different data sending and receiving states, and the data sending and receiving states (such as data time of sending and receiving, data type, etc.). According to the data sending and receiving state specified in the communication protocol, the debugger can understand the operation of the interrupt program, which is convenient for debugging.
举例来说,以图3c所示的定时器中断程序为例,定时器中断程序的运行时间长度为9.398μs,根据定时器中断程序的运行时间长度与协议中对应的数据收发时间进行比较,根据比较结果对中断程序进行调试,从而提高蓝牙基带集成电路收发数据的时间精度。For example, taking the timer interrupt program shown in Figure 3c as an example, the running time of the timer interrupt program is 9.398 μs. The interrupt program is debugged according to the comparison result, so as to improve the time precision of the bluetooth baseband integrated circuit sending and receiving data.
在本申请的一些实施例中,特定类型的程序可根据集成电路输出的数据接收状态信号、数据发送状态信号和GIO状态信号的特性确定,以中断程序为例,比如,tx_data结束的位置为PKA中断,rx_data开始有数据的位置为SYNC中断,rx_data完成数据接收的位置为PKD中断,rx_data未收到数据且GIO状态信号结束的位置为NO_PKT_RCVD中断,具体描述参见图3a至图3c。具体实施时,获取蓝牙基带集成电路输出的数据接收状态信号、数据发送状态信号和视频控制信号,根据数据接收状态信号、数据发送状态信号和GIO状态信号,确定程序的类型;根据程序的类型和运行时间长度,确定数据收发状态,根据数据收发状态调试程序。In some embodiments of the present application, a specific type of program can be determined according to the characteristics of the data reception status signal, data transmission status signal and GIO status signal output by the integrated circuit. Taking the interrupt program as an example, for example, the position where tx_data ends is PKA Interrupt, the location where rx_data starts to have data is SYNC interrupt, the location where rx_data completes data reception is PKD interrupt, the location where rx_data does not receive data and the GIO status signal ends is NO_PKT_RCVD interrupt, see Figure 3a to Figure 3c for details. During specific implementation, the data receiving state signal, data sending state signal and video control signal output by the Bluetooth baseband integrated circuit are obtained, and the type of the program is determined according to the data receiving state signal, the data sending state signal and the GIO state signal; Run time length, determine the data sending and receiving state, and debug the program according to the data sending and receiving state.
基于相同的技术构思,本申请实施例提供了一种程序调试装置,该装置可实现上述实施例中程序调试方法。Based on the same technical concept, an embodiment of the present application provides a program debugging apparatus, which can implement the program debugging method in the above-mentioned embodiments.
参见图5,该装置包括获取模块501、运行时间长度确定模块502、调试模块503。Referring to FIG. 5 , the apparatus includes an acquisition module 501 , a runtime length determination module 502 , and a debugging module 503 .
获取模块501,用于获取第一调试信号和第二调试信号;第一调试信号和第二调试信号用于指示程序的起始位置和结束位置;The acquiring module 501 is used to acquire the first debug signal and the second debug signal; the first debug signal and the second debug signal are used to indicate the start position and end position of the program;
运行时间长度确定模块502,用于根据第一调试信号和第二调试信号指示的程序的起始位置和结束位置,确定程序的运行时间长度;The running time length determination module 502 is used for determining the running time length of the program according to the start position and the end position of the program indicated by the first debugging signal and the second debugging signal;
调试模块503,用于根据程序的运行时间长度,调试程序。The debugging module 503 is used for debugging the program according to the running time length of the program.
本申请的一些实施例中,获取模块,还用于数据接收状态信号、数据发送状态信号和视频控制信号;In some embodiments of the present application, the acquisition module is further used for a data reception status signal, a data transmission status signal and a video control signal;
该装置还包括类型确定模块,用于根据数据接收状态信号、数据发送状态信号和GIO状态信号,确定程序的类型;The device also includes a type determination module for determining the type of the program according to the data reception status signal, the data transmission status signal and the GIO status signal;
该装置还包括状态确定模块,用于根据程序的类型和运行时间长度,确定数据收发状态;The device also includes a state determination module, which is used to determine the data sending and receiving state according to the type and running time of the program;
调试模块,还用于根据数据收发状态,调试程序。The debugging module is also used to debug the program according to the data sending and receiving state.
本申请的一些实施例中,获取模块,还用于获取第一调试信号中第一位置的脉冲信号序列中脉冲信号的数量;获取第二调试信号中第一位置的脉冲信号序列中各脉冲信号对应的电平值;In some embodiments of the present application, the obtaining module is further configured to obtain the number of pulse signals in the pulse signal sequence at the first position in the first debugging signal; obtain each pulse signal in the pulse signal sequence at the first position in the second debugging signal the corresponding level value;
装置还包括位置确定模块,用于若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的起始位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的起始位置;若第一位置的脉冲序列中脉冲信号的数量以及第一位置的脉冲信号序列中各脉冲信号对应的电平值,与设定的结束位置对应的脉冲信号的数量以及电平值相匹配,则确定第一位置为程序的结束位置。The device also includes a position determination module, which is used for if the number of pulse signals in the pulse sequence of the first position and the level value corresponding to each pulse signal in the pulse signal sequence of the first position, the pulse signal corresponding to the set starting position If the number and level value of the first position match, the first position is determined as the starting position of the program; if the number of pulse signals in the pulse sequence at the first position and the level value corresponding to each pulse signal in the pulse signal sequence at the first position , and the number and level value of the pulse signal corresponding to the set end position match, then determine the first position as the end position of the program.
本申请的一些实施例中,获取模块具体用于:In some embodiments of the present application, the acquisition module is specifically used for:
在第一位置上第一调试信号的脉冲信号序列中脉冲信号的上升沿或下降沿,获取第二调试信号的电平值;或者Obtain the level value of the second debugging signal at the rising edge or falling edge of the pulse signal in the pulse signal sequence of the first debugging signal at the first position; or
根据第一位置上第一调试信号的脉冲信号序列中脉冲信号的宽度,获取第二调试信号上与脉冲信号对应的位置上脉冲信号宽度内的电平值。According to the width of the pulse signal in the pulse signal sequence of the first debugging signal at the first position, the level value within the pulse signal width at the position corresponding to the pulse signal on the second debugging signal is obtained.
本申请的一些实施例中,若第一调试信号和第二调试信号指示的程序的起始位置和结束位置之间,第一调试信号上还包括脉冲信号序列;In some embodiments of the present application, if between the start position and the end position of the program indicated by the first debug signal and the second debug signal, the first debug signal further includes a pulse signal sequence;
获取模块,还用于获取起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量,以及起始位置和结束位置之间第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;The acquiring module is further configured to acquire the number of pulse signals in the pulse signal sequence of the first debug signal between the start position and the end position, and each pulse signal in the pulse signal sequence of the second debug signal between the start position and the end position the corresponding level value;
类型确定模块,还用于若起始位置和结束位置之间第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的定时器程序的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序为定时器程序。The type determination module is also used for if the number of pulse signals in the pulse signal sequence of the first debugging signal between the start position and the end position and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal are consistent with the setting. If the number of pulse signals of the given timer program and the level value of the pulse signal match, the program is determined to be a timer program.
本申请的一些实施例中,第一调试信号和第二调试信号还用于指示程序运行期间的嵌入程序;In some embodiments of the present application, the first debug signal and the second debug signal are further used to indicate an embedded program during program execution;
获取模块,还用于获取程序的起始位置和结束位置之间,第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值;The acquisition module is also used to acquire the number of pulse signals in the pulse signal sequence of the first debugging signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal between the start position and the end position of the program;
装置还包括嵌入程序确定模块,用于若第一调试信号的脉冲信号序列中脉冲信号的数量以及第二调试信号的脉冲信号序列中各脉冲信号对应的电平值,与设定的嵌入程序对应的脉冲信号的数量以及脉冲信号的电平值相匹配,则确定程序运行期间运行了嵌入程序。The device also includes an embedded program determination module, used for if the number of pulse signals in the pulse signal sequence of the first debugging signal and the level value corresponding to each pulse signal in the pulse signal sequence of the second debugging signal correspond to the set embedded program If the number of pulse signals and the level value of the pulse signal match, it is determined that the embedded program is run during the program operation.
在此需要说明的是,本申请实施例提供的上述数据收发状态确定装置,能够实现上述方法实施例所实现的数据收发状确定方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。It should be noted here that the above-mentioned apparatus for determining the state of data transmission and reception provided by the embodiment of the present application can realize the steps of the method for determining the state of transmission and reception of data realized by the above-mentioned method embodiment, and can achieve the same technical effect, and this embodiment will not be described here. In the example, the same parts and beneficial effects as the method embodiment will be described in detail.
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的方法。Embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to cause a computer to execute the methods in the foregoing embodiments.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by those skilled in the art, the embodiments of the present application may be provided as a method, a system, or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the present application. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flows of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330110.6A CN114546813A (en) | 2020-11-24 | 2020-11-24 | A program debugging method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330110.6A CN114546813A (en) | 2020-11-24 | 2020-11-24 | A program debugging method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546813A true CN114546813A (en) | 2022-05-27 |
Family
ID=81659741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011330110.6A Pending CN114546813A (en) | 2020-11-24 | 2020-11-24 | A program debugging method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546813A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486629A (en) * | 2010-12-01 | 2012-06-06 | 北京广利核系统工程有限公司 | Method for testing periodic running time of hardware board card |
CN105445648A (en) * | 2015-12-18 | 2016-03-30 | 浙江大华技术股份有限公司 | Testing trimming circuit and integrated circuit |
CN109283833A (en) * | 2018-10-26 | 2019-01-29 | 北京无线电测量研究所 | A kind of time statistical system and method |
JP2020149214A (en) * | 2019-03-12 | 2020-09-17 | ローム株式会社 | Semiconductor device and debugging system |
-
2020
- 2020-11-24 CN CN202011330110.6A patent/CN114546813A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486629A (en) * | 2010-12-01 | 2012-06-06 | 北京广利核系统工程有限公司 | Method for testing periodic running time of hardware board card |
CN105445648A (en) * | 2015-12-18 | 2016-03-30 | 浙江大华技术股份有限公司 | Testing trimming circuit and integrated circuit |
CN109283833A (en) * | 2018-10-26 | 2019-01-29 | 北京无线电测量研究所 | A kind of time statistical system and method |
JP2020149214A (en) * | 2019-03-12 | 2020-09-17 | ローム株式会社 | Semiconductor device and debugging system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360329B (en) | Bus monitoring and debugging control device and methods for monitoring and debugging bus | |
CN109669899B (en) | Method for adaptively adjusting serial port communication baud rate and serial port device | |
KR101702743B1 (en) | Sensor device and method for sending a data signal | |
JP2007513425A (en) | Apparatus and method for time sequencing events in a system having multiple time domain groups | |
WO2023207965A1 (en) | Chip verification method and platform | |
CN117388673A (en) | ATE equipment and chip testing method thereof, electronic equipment and storage medium | |
CN109743228B (en) | Method and system for measuring position of sampling point | |
CN111917532B (en) | Devices and systems and methods for device testing in data test environments | |
CN112069098B (en) | Baud rate identification method and device | |
CN103077144A (en) | Serial peripheral interface (SPI) communication interface for ensuring data integrity, and communication method thereof | |
CN103592599A (en) | USB-based logic analyzer triggering device | |
CN107632910A (en) | A kind of method of testing and device | |
CN108369565B (en) | Communication device, communication method, storage medium, and communication system | |
CN114546813A (en) | A program debugging method and device | |
US9479310B2 (en) | Method, apparatus and system to communicate with a device | |
CN115085829A (en) | Method for testing sensitivity under existence of multipath fading interference and electronic equipment | |
CN107463759B (en) | Simulation verification device and simulation verification method of timer | |
CN114548027A (en) | Method for tracking signal in verification system, electronic device and storage medium | |
WO2011080667A1 (en) | Method for providing a real time to an application running on a virtual platform | |
CN114281624A (en) | Method, system, device and equipment for testing I2C signal integrity | |
CN203117968U (en) | SPI (Serial Peripheral Interface) communication interface | |
CN104182317A (en) | DMI (desktop management interface) bus signal integrity testing method | |
CN115695268B (en) | CANFD second sampling point test method, device, electronic device and storage medium | |
JP6725692B2 (en) | Asynchronous feedback training | |
US12119826B2 (en) | Embedded pattern generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |