CN113645052A - 一种固件调试方法及相关设备 - Google Patents
一种固件调试方法及相关设备 Download PDFInfo
- Publication number
- CN113645052A CN113645052A CN202010345790.2A CN202010345790A CN113645052A CN 113645052 A CN113645052 A CN 113645052A CN 202010345790 A CN202010345790 A CN 202010345790A CN 113645052 A CN113645052 A CN 113645052A
- Authority
- CN
- China
- Prior art keywords
- log information
- communication protocol
- firmware
- data
- computer
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种固件调试方法及相关设备,涉及通信技术领域,以解决现有固件调试工作难度大且效率低下问题。该方法包括:计算机接收终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。本发明实施例通过约定预设通讯协议,使得终端设备可以采用该预设通信协议发送其固件运行状态信息,计算机则可以通过该预设通讯协议同步解析终端设备发送的固件运行状态信息,而无需依赖人工判断,进而可降低调试工作难度,并提高调试效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种固件调试方法及相关设备。
背景技术
在对设备端软件进行开发调试或测试时,由于设备端对自身软件的分析能力受到限制,一般需要配合计算机等其它设备进行辅助分析,具体过程为:设备端将软件运行状态信息通过USB、串口或其他通讯方式传送给计算机上的调试软件,相关技术人员根据计算机收到的设备端软件运行信息(简称Log信息)进行分析,进而得到设备端软件的运行状况。通常我们将产生Log信息的设备端软件称为固件,将接收Log信息的计算机端软件称为调试工具。
现有技术中,在对固件进行开发调试时,通常是使用简单的字符串打印或AT指令的方式实现Log信息的传输,调试工具也只能实现简单的信息采集、展示和存储操作,而对Log信息的分析主要依赖于人工判断,从而导致调试工作难度大且效率低下。
发明内容
本发明实施例提供一种固件调试方法,应用于计算机,以解决现有固件调试工作难度大且效率低下的问题。
第一方面,本发明实施例提供了一种固件调试方法,应用于计算机,所述计算机与终端设备建立有通信连接,所述方法包括:
接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示所述解析结果。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
可选的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
可选的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
可选的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
可选的,所述按照所述预设通讯协议,对所述Log信息进行解析,包括:
按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取与所述Log信息的校验数据标识对应的目标校验数据;
采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
可选的,所述按照所述预设通讯协议,对所述Log信息进行解析,包括:
在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
对分割后的所述至少两条Log信息进行逐条解析。
第二方面,本发明实施例还提供一种固件调试方法,应用于终端设备,所述终端设备与计算机建立有通信连接,所述方法包括:
在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
第三方面,本发明实施例还提供一种固件调试系统,包括计算机和终端设备,所述计算机与终端设备建立有通信连接,其中,
所述终端设备用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
所述计算机用于接收所述终端设备发送的所述固件运行状态Log信息;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。
第四方面,本发明实施例还提供一种固件调试装置,设置于计算机,所述计算机与终端设备建立有通信连接,所述固件调试装置包括:
接收模块,用于接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
解析模块,用于按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示模块,用于展示所述解析结果。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
可选的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
可选的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
可选的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
可选的,所述解析模块包括:
第一确定单元,用于按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
第二确定单元,用于根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取单元,用于获取与所述Log信息的校验数据标识对应的目标校验数据;
校验单元,用于采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
可选的,所述解析模块包括:
第三确定单元,用于在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
分割单元,用于根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
解析单元,用于对分割后的所述至少两条Log信息进行逐条解析。
第五方面,本发明实施例还提供一种固件调试装置,设置于终端设备,所述终端设备与计算机建立有通信连接,所述固件调试装置包括:
发送模块,用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
第六方面,本发明实施例还提供一种计算机,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的固件调试方法中的步骤。
第七方面,本发明实施例还提供一种终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第二方面所述的固件调试方法中的步骤。
第八方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的固件调试方法中的步骤;或者,所述计算机程序被处理器执行时实现上述第二方面所述的固件调试方法中的步骤。
在本发明实施例中,接收终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为计算机与所述终端设备预先约定的通讯协议;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。这样,通过约定预设通讯协议,使得终端设备可以采用该预设通信协议发送其固件运行状态信息,计算机则可以通过该预设通讯协议同步解析终端设备发送的固件运行状态信息,而无需依赖人工判断,进而可降低调试工作难度,并提高调试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的固件调试方法的流程图;
图2是本发明又一实施例提供的固件调试方法的流程图;
图3a是本发明实施例提供的通讯协议结构图;
图3b是本发明实施例提供的固件调试中固件与调试工具的交互流程图;
图4是本发明实施例提供的固件调试装置的结构图;
图5是本发明又一实施例提供的固件调试装置的结构图;
图6是本发明实施例提供的计算机的结构图;
图7是本发明实施例提供的终端设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的固件调试方法的流程图,应用于计算机,所述计算机与终端设备建立有通信连接,如图1所示,该方法包括以下步骤:
步骤101、接收终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
本发明实施例中,为提高固件调试效率,减少调试中对人工的依赖,可以预先定义一种用于计算机与终端设备间传输固件运行状态Log信息的通讯协议,使所述终端设备可以使用该通讯协议来向所述计算机发送其固件运行状态信息,也即将其Log信息按照预设通讯协议规定的数据格式进行打包发送,而所述计算机也可以使用该通讯协议来接收所述终端设备发送的Log信息,并且所述计算机能够按照预设通讯协议规定的数据格式对接收的Log信息进行解析,获得所述终端设备的固件运行状态。
其中,所述计算机和所述终端设备中可以预先配置有所述预设通讯协议,并且可相互约定好在传输固件运行状态Log信息时按照所述预设通讯协议规定的数据格式对相关数据进行打包传输。
在所述计算机与所述终端设备建立通信连接以进行固件调试时,所述终端设备可以在检测到固件启动的情况下,使用所述预设通讯协议向所述计算机发送对应固件的Log信息,使所述计算机获得其实时的固件运行状态信息。具体地,所述计算机上可以运行对应的调试工具,来接收所述Log信息,并对所述Log信息作进一步分析。
步骤102、按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果。
具体地,所述计算机可以按照所述预设通讯协议规定的数据格式,如各字段的名称、长度、对应的信息等,对所述Log信息进行拆解、提取、数据解读、校验等,得到所述Log信息中所反应的所述终端设备的固件运行状态,也即解析结果。
例如,若所述预设通讯协议规定每条Log信息包括起始字段、模块字段、Log信息数据字段和结束字段,则可以按照所述预设通讯协议,从所述终端设备发送的Log信息中确认起始字段、模块字段、Log信息数据字段和结束字段的位置,并可对模块字段和Log信息数据段进行数据解读,得知该条Log信息是终端设备的哪个模块发送的,并且可从Log信息数据字段中解读到该模块的运行状态。
其中,所述预设通讯协议中各字段的长度可以进行预先约定,使得所述计算机可按照预先约定的字段长度,从中提取出各个字段,得到各个字段对应的信息。当然,各字段的长度也可以直接在所述预设通讯协议中约定。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
通常固件调试的目的是为了对终端设备的某些功能模块进行测试,故在调试中,为了便于使计算机获知终端设备发送的Log信息所针对的具体功能模块和运行状况,可以定义每条Log信息中需包括固件的模块标识和固件运行状况信息,也就是说,所述预设通讯协议可以包括Log信息头部和Log信息数据段,使所述终端设备按照所述预设通讯协议约定的数据格式,封装Log信息,即将固件中各模块的标识和对应的运行状况数据携带在Log信息中,发送至所述计算机。其中,所述预设通讯协议还可以约定所述Log信息头部和所述Log信息数据段各自的长度。
所述计算机则可以按照所述预设通讯协议约定的数据格式,对接收的Log信息进行解析,从中提取出固件的模块标识和对应的运行状况数据,进而通过数据分析得到所述终端设备各模块的运行状况。
例如,若所述预设通讯协议规定每条Log信息包括Log信息头部和Log信息数据段,则可以按照所述预设通讯协议,从所述终端设备发送的Log信息中确认所述Log信息头部和所述Log信息数据段的位置,进而可从所述Log信息头部中提取出固件的模块标识,从所述Log信息数据段中提取出对应模块的运行状况数据。
其中,所述Log信息头部和所述Log信息数据段的字段长度可以进行预先约定,使得所述计算机可按照预先约定的字段长度,从中提取出所述Log信息头部和所述Log信息数据段,得到各字段对应的信息。当然,所述Log信息头部和所述Log信息数据段的长度也可以直接在所述预设通讯协议中约定。
进一步的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
为使Log信息中携带与固件相关的更多信息,如信息提示级别、数据校验方法等,可以约定所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,且可以进一步约定各字段的长度,便于所述计算机对Log信息进行解析时快速确定所述Log信息头部中各个字段的位置。
其中,所述Log级别(即Log Level)字段用于表明每条Log信息的提示级别,例如,一般可以将固件产生的Log信息分类为一般信息、警告信息、错误信息、致命信息等,并可用01、02、03、04等来分别表示,从而在生成Log信息时,可以根据其所属的提示级别,生成该字段;一般此字段可使用16进制表示,体现为一个字节或两个字符。
所述模块标识(即Module ID)字段作为固件的软件模块标志,用于判断每条Log信息的发送模块;此处的软件模块,是指固件内实现某个或某类功能的系列代码块,例如,GPS功能模块、WIFI功能模块、显示功能模块、按键功能模块等;一般此字段可使用16进制表示,体现为一个字节或两个字符;例如,可以规定GPS、WIFI、显示、按键等功能模块的ID依次使用01、02、03、04等表示。
所述校验标志(即Check Tag)字段用于表明该Log信息内的数据校验方法;某些应用场景下,Log信息仅作为简单的信息提示,但是某些情况下我们往往需要在Log信息内加入一些参数、值等来体现固件情况,此情况下技术人员或计算机端的调试工具必须对Log信息的这些特殊内容做出校验;为方便调试工具自动化地分析Log信息,特设立此字段以表示Log信息的数据校验方法,常见的Log数据校验方法有:关键字查找、数值范围判断、字符串对比等;例如,可以将无需校验、关键字查找、数值范围判断、字符串对比等方法依次定义为00、01、02、03等;一般此字段可使用16进制表示,体现为一个字节或两个字符。
这样,所述终端设备可以按照上述预设通讯协议约定的数据格式,封装Log信息,即将信息提示级别、模块标识和需采用的数据校验方法等信息封装在Log信息头部,发送至所述计算机。所述计算机则可以按照所述预设通讯协议约定的数据格式,对接收的Log信息进行解析,从中解析出对应的信息提示级别、固件的模块标识、数据校验方法等信息。
需说明的是,上述各字段的具体长度和采用的数据类型(如字符串、字节流等)可由所述预设通讯协议根据实际需求自定义,且各字段也可以使用其他进制表示,如十进制、二进制等,对此,本发明实施例不作具体限定。
进一步的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
在Log信息需要进行数据校验时,为便于指示所述计算机在Log信息输出时实现同步分析,可以设立校验数据标识字段,使所述计算机按照所述校验数据标识字段获取对应的数据来对所述Log信息内的数据进行校验。
具体地,可以将校验数据标识字段设立在Log信息数据段中,也就是说,所述Log信息数据段可以包括校验数据标识字段和Log数据字段,且所述预设通讯协议可以进一步约定这两个字段的长度,便于所述计算机对Log信息进行解析时快速确定所述Log信息数据段中各个字段的位置。
其中,所述校验数据标识(即Data ID)字段作为每条需要被校验的Log信息的唯一特殊编号,可方便调试工具在接收Log信息时实现同步分;在调试过程中,当固件调试工具根据Check Tag字段检测到此Log信内的Log数据字段需要做数据校验时,可以从预置数据库(或配置文件等)内读获取与Data ID对应的数据来与Log数据字段中的数据做校验;一般地,为简化协议,降低调试工具的配置难度,Data ID仅用于校验Log信息内的参数,当CheckTag字段提示为不需要做数据校验时,此字段可以统一为默认值。
需说明的是,该字段的具体长度和采用的数据类型(如字符串、字节流等)可由所述预设通讯协议根据实际需求自定义,对此,本发明实施例不作具体限定。
所述Log数据(即Data Bytes)字段为每条Log信息的主体部分,是Log信息内能够真正反映固件运行状况的数据内容,此部分内容可由固件开发者根据需求设定,协议本身可不对其作长度及内容的规定。
这样,所述终端设备可以按照上述预设通讯协议约定的数据格式,封装Log信息,即将校验数据标识和对应的Log数据等信息封装在Log信息数据段,发送至所述计算机。所述计算机则可以按照所述预设通讯协议约定的数据格式,对接收的Log信息进行解析,从中提取出对应的校验数据标识和Log数据。
可选的,所述步骤102包括:
按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取与所述Log信息的校验数据标识对应的目标校验数据;
采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
在所述预设通讯协议包括Log级别字段、模块标识字段、校验标志字段、校验数据标识字段和Log数据字段的情况下,可以在接收Log信息后,按照所述预设通讯协议约定的数据格式,从所述Log信息中提取出校验标志字段、校验数据标识字段和Log数据字段,进而获得所述校验标志字段中的校验标志、所述校验数据标识字段中的校验数据标识和所述Log数据字段中的Log数据。
然后,可按照所述预设通讯协议对各字段的定义,确定所述校验标志所指示的数据校验方法,并可以通过所述校验数据标识,获取对应的目标校验数据,以使用所述目标校验数据,采用所述数据校验方法对所述Log数据进行校验。
其中,所述获取与所述Log信息的校验数据标识对应的目标校验数据,具体可以包括:
从所述预置数据库中查找与所述Log信息的校验数据标识对应的目标校验数据,其中,所述预置数据库中预先配置有校验数据标识和校验数据的对应关系。
也就是说,可以预先将校验数据标识和校验数据的对应关系配置在预置数据库(或配置文件)中,或者还可以配置校验数据标识、校验标志和校验数据三者的对应关系,具体地,可以根据固件调试需求进行相应地配置,从而可以从所述预置数据库中查找出与所述校验数据标识对应的目标校验数据。
最后,可采用所述校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验,以根据校验结果确定所述终端设备侧的固件运行是否存在异常。
这样,通过上述方式可使所述计算机自动化地对接收的Log信息完成数据校验,而无需依赖人工,从而更加丰富了固件调试功能。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
在实际中,所述计算机可能会同时对多个终端设备进行调试,或同时对同一终端设备的多个功能模块进行调试,从而可能接收到多条Log信息,为便于所述计算机区分来自不同设备或不同功能模块的Log信息,可以在每条Log信息中引入起始标志和结束标志,使所述计算机可以通过起始标志和结束标志对接收的Log信息进行按条解析。
也即所述预设通讯协议还包括Log信息起始标志(即Start Tag)段和Log信息结束标志(即Stop Tag)段,其中,所述Start Tag段作为每条Log信息的起始标志,可位于每条Log信息的起始位置,其功能在于识别被调试设备,并作为各条Log信息的分割依据;因此,同一台设备发送的所有Log信息此部分相同,且和其他设备发送的Log信息内的此部分不同,也就是说,此部分须符合设备的唯一性,并且不与Stop Tag段相同;例如,可以将StartTag段设定为设备的产品序列号(Serial Number,简称SN)、国际移动设备识别码(International Mobile Equipment Identity,简称IMEI)号等。
所述Stop Tag段作为每条Log信息的结束标志,可位于每条Log信息的结束位置,其功能在于识别被调试设备,并作为各条Log信息的分割依据;因此,同一台设备发送的所有Log信息此部分相同,且和其他设备发送的Log信息内的此部分不同,也就是说,此部分须符合设备的唯一性,并且不与Start Tag字段相同;例如,可以将Stop Tag设定为设备的SN、IMEI号等,但与Start Tag段不同。
需说明的是,所述Log信息起始标志段和Log信息结束标志段的字段长度和采用的数据类型(如字符串、字节流等)可由所述预设通讯协议根据实际需求自定义,对此,本发明实施例不作具体限定。
进一步的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
为便于所述计算机更快速准确地从Log信息中确认起始标志段和结束标志段,还可以通过所述预设通讯协议约定各标志段的长度,也就是说,所述预设通讯协议还包括标志位长度段,更具体地,所述标志位长度段可以包括起始标志长度(即Start Tag Length)字段和结束标志长度(即Stop Tag Length)字段,用于分别指示Log信息中起始标志段的长度和Log信息中结束标志段的长度。
其中,所述Start Tag Length字段表示Log信息中起始标志的长度,一般此字段可使用16进制表示;例如,当Start Tag为“12345ABCDE”时,此字段为字符串“0A”或字节“0x0A”;此字段一般不超过一个字节或两个字符。
所述Stop Tag Length字段表示Log信息结束标志的长度,一般此字段可使用16进制表示;例如,当Stop Tag为“ABC123”时,此字段为字符串“06”或字节“0x06”;此字段一般不超过一个字节或两个字符。
需说明的是,上述各字段的具体长度和采用的数据类型(如字符串、字节流等)可由所述预设通讯协议根据实际需求自定义,且各字段也可以使用其他进制表示,如十进制、二进制等,对此,本发明实施例不作具体限定。
可选的,所述步骤102包括:
在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
对分割后的所述至少两条Log信息进行逐条解析。
上述接收到至少两条Log信息的情况包括接收到同一终端设备发送的多条Log信息的情况和接收到不同设备发送的多条Log信息的情况。
在接收到至少两条Log信息的情况下,可以先对所述至少两条Log信息进行分割,以保证逐条对每条Log信息进行解析,得到每条Log信息所指示的终端设备的固件运行状态信息。
具体地,可以按照所述预设通讯协议约定的Log信息起始标志段和Log信息结束标志段,从所述至少两条Log信息中分别确认各起始标志段和结束标志段的位置,进而按照各起始标志段和结束标志段的位置,对所述至少两条Log信息进行分割,也就是,将连续包括一个起始标志段和一个结束标志段的Log信息作为一条独立的Log信息,从而可以得到至少两条独立的Log信息。
在分割后,便可对分割后的每条Log信息进行逐条解析,得到每条Log信息所反应的终端设备的固件运行状态信息,具体地解析方式可参照前述方式所介绍的,为避免重复,此处不再赘述。
这样,由于可对多条Log信息进行分割解析,从而能够快速完成对多台设备的调试或完成批量调试,提高调试效率。
步骤103、展示所述解析结果。
在解析得到对应的解析结果后,便可将解析结果进行存储或直接展示,以便所述计算机端的开发人员能够通过查看展示的解析结果,得知所述终端设备的固件运行状态,进而便于开发人员依据固件运行状态信息对所述终端设备进行更具针对性的调试。
本发明实施例的固件调试方法,接收终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为计算机与所述终端设备预先约定的通讯协议;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。这样,通过约定预设通讯协议,使得终端设备可以采用该预设通信协议发送其固件运行状态信息,计算机则可以通过该预设通讯协议同步解析终端设备发送的固件运行状态信息,而无需依赖人工判断,进而可降低调试工作难度,并提高调试效率。
参见图2,图2是本发明实施例提供的固件调试方法的流程图,应用于终端设备,所述终端设备与计算机建立有通信连接,如图2所示,该方法包括以下步骤:
步骤201、在固件启动的情况下,使用预设通讯协议向计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
需说明的是,本实施例作为与图1所示的方法实施例中的终端设备侧的实施方式,其具体实施方式可以参见图1所述实施例中的相关介绍,且能达到相同的有益效果,为避免重复,此处不再赘述。
本发明实施例的固件调试方法,终端设备通过使用约定的预设通讯协议向计算机发送其固件运行状态信息,使得计算机可以通过该预设通讯协议同步解析终端设备发送的固件运行状态信息,而无需依赖人工判断,进而可降低调试工作难度,并提高调试效率。
本发明实施例还提供一种固件调试系统,包括计算机和终端设备,所述计算机与终端设备建立有通信连接,其中,
所述终端设备用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
所述计算机用于接收所述终端设备发送的所述固件运行状态Log信息;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。
需说明的是,本发明实施例中所述计算机和所述终端设备作为与图1所示的实施例中分别对应的计算机和终端设备的实施方式,其具体实施方式可参见图1所示的实施例中的相关描述,为避免重复,此处不再赘述。
下面结合图3a和图3b,以一个可选的应用实例对本发明实施方式进行详细说明:
如图3a所示,本发明实施例提供一种通讯协议结构,该协议依次包括:标志位长度段、Log信息起始标志段、Log信息头部、Log信息数据段和Log信息结束标志段,其中,标志位长度段包括起始标志长度Start Tag Length和结束标志长度Stop Tag Length,Log信息起始标志段包括起始标志Start Tag,Log信息头部包括Log级别Log Level、模块标识ModuleID和校验标志Check Tag,Log信息数据段包括数据标识Data ID和Log数据Data Bytes,Log信息结束标志段包括结束标志Stop Tag。
更具体地,上述各字段的名称、长度和相关参数等可以定义如下:
表1各字段定义
特别地,为了让调试工具(运行于计算机端)实现Log信息内的Data段的自动校验,在调试工具对固件进行自动化调试时候,需要使用到包含如下信息的配置表(可以体现为数据库或配置文件等),可以称之为Data ID校验表:
表2 Data ID校验表
Data ID | Check Tag | Check Data |
0001 | 1 | 100,300 |
0002 | 1 | 50,100;150,200 |
0003 | 3 | It is OK |
0004 | 3 | Connect Success |
0005 | 2 | Pass |
... | ... | ... |
0A12 | 2 | OK |
... | ... | ... |
需说明的是,调试工具可以提供动态配置此表的方法,即Data ID校验表内的Check Data信息可以支持更改,以满足不同的固件调试需求。
根据以上协议规定,可以作出Log信息实例分析,假设有字符串格式的Log信息“0A05 1234512345 1 1A 2 0A12 Connect Error 56789”,按照上述协议,可以解析如下内容:
1)产生此Log信息的设备,SN号后10位是1234512345;
2)产生此Log信息的设备,IMEI号后5位是56789;
3)此条Log为一般信息;
4)此条Log来源于固件内的网络模块;
5)此条Log的Data ID是0A12;
6)调试工具需要在此条Log内的Data段做一个关键字查找的校验,即需要从调试工具配置数据即Data ID校验表内找到ID为0A12对应的关键字,校验此关键字是否存在于“Connect Error”中;例如,若此时0A12对应的是“OK”,则校验结果为此条Log内没有找到应有的信息,网络模块可能存在异常。
下面参见图3b,对本发明实施例提供的固件调试过程中固件与调试工具之间的交互流程进行举例说明:
使用本通讯协议进行固件调试的实现步骤如下:
1、固件调试前步骤
1)根据本通讯协议,针对具体产品制定实例化协议,即在固件开发前制定类似本发明实施例中表1的具体方案;
2)固件开发时,使用本通讯协议对Log信息进行编程,并生成类似本发明实施例中表2的Data ID校验表;
3)调试工具开发时,根据本通讯协议实现Log信息解析方案。
2、固件调试过程
1)连通调试工具(运行于计算机端)和固件(终端设备上的固件);由于通讯本协议的特殊定义,调试工具能够识别来自不同设备的Log,所以此步骤可以为“一对一”(即调试一个设备)或“一对多”(即调试多个设备)的调试连接方式;
2)调试工具启动,开启自动调试功能,使调试工具进入Log信息接收状态;
3)设备固件启动;
4)调试工具所连设备的固件内相应模块产生Log信息,并进行打包发送;
5)调试工具接收到Log信息,并根据本通讯协议中的Start Tag和Stop Tag对接收到的连续Log信息进行分割;
6)调试工具对分割后的Log信息进行逐条解析;
7)调试工具根据调试需求对Log内的各字段信息做相应处理,如存储、显示调试结果等;如果此步骤中根据协议内的Check Tag字段分析得知需要做Data校验,则需要进入第8步,否则直接到达第9步;
8)调试工具根据Log信息内的Data ID,从预置校验表中获取校验数据,对Data段进行校验,并根据调试需求反馈Data校验结果;其中,调试工具可以启动不同线程分别进行解析和校验工作,以提高效率,如启动线程T1对Log信息进行解析,启动线程T2对Log信息进行数据校验;
9)调试工具自动生成固件调试报告等。
可见,本发明实施例提供的固件调试方法和具有以下技术优点:
1)本协议使固件调试工作高度自动化:使用本发明实施例中提供的通讯协议,将log信息的分析工作尽可能的交给调试工具进行,可减少人工操作,提高固件调试和测试的效率,从而缩短开发周期;
2)本通讯协议有效支持“一对多”调试方法,缩短测试周期:使用本发明实施例中提供的通讯协议,当有测试样本量需求时候,能够快速完成多台设备的调试或测试,从功能性上实现真正的“一对多”;
3)本通讯协议有效支持Log信息同步分析:使用本发明实施例中提供的通讯协议,能够在设备固件运行过程中,通过调试工具对Log信息实现同步分析,提高固件调试或测试的效率;
4)本通讯协议便于调试工具对Log信息的处理:使用本发明实施例中提供的通讯协议,调试工具能够根据固件Log信息进行快速的分类、判断、显示、存储、生成报告等操作。
本发明实施例还提供了一种固件调试装置,设置于计算机,所述计算机与终端设备建立有通信连接。参见图4,图4是本发明实施例提供的固件调试装置的结构图。由于该固件调试装置解决问题的原理与图1所示实施例中的固件调试方法相似,因此该固件调试装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,固件调试装置400包括:
接收模块401,用于接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
解析模块402,用于按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示模块403,用于展示所述解析结果。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
可选的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
可选的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
可选的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
可选的,解析模块402包括:
第一确定单元,用于按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
第二确定单元,用于根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取单元,用于获取与所述Log信息的校验数据标识对应的目标校验数据;
校验单元,用于采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
可选的,解析模块402包括:
第三确定单元,用于在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
分割单元,用于根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
解析单元,用于对分割后的所述至少两条Log信息进行逐条解析。
本发明实施例提供的固件调试装置,可以执行图1所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种固件调试装置,设置于终端设备,所述终端设备与计算机建立有通信连接。参见图5,图5是本发明实施例提供的固件调试装置的结构图。由于该固件调试装置解决问题的原理与图2所示实施例中的固件调试方法相似,因此该固件调试装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,固件调试装置500包括:
发送模块501,用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
本发明实施例提供的固件调试装置,可以执行图2所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种计算机,所述计算机与终端设备建立有通信连接。由于该计算机解决问题的原理与图1所示实施例中的固件调试方法相似,因此该计算机的实施可以参见方法的实施,重复之处不再赘述。如图6所示,本发明实施例的计算机,包括:
处理器600,用于读取存储器620中的程序,执行下列过程:
通过收发机610接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示所述解析结果。
收发机610,用于在处理器600的控制下接收和发送数据。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
可选的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
可选的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
可选的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
可选的,处理器600还用于读取所述计算机程序,执行如下步骤:
按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取与所述Log信息的校验数据标识对应的目标校验数据;
采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
可选的,处理器600还用于读取所述计算机程序,执行如下步骤:
在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
对分割后的所述至少两条Log信息进行逐条解析。
本发明实施例提供的计算机,可以执行图1所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种终端设备,所述终端设备与计算机建立有通信连接。由于终端设备解决问题的原理与图2所示实施例中的固件调试方法相似,因此该终端设备的实施可以参见方法的实施,重复之处不再赘述。如图7所示,本发明实施例的终端设备,包括:
处理器700,用于读取存储器720中的程序,执行下列过程:
在固件启动的情况下,通过收发机710使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
收发机710,用于在处理器700的控制下接收和发送数据。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器700代表的一个或多个处理器和存储器720代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机710可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口730还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器700负责管理总线架构和通常的处理,存储器720可以存储处理器700在执行操作时所使用的数据。
本发明实施例提供的终端设备,可以执行图2所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
此外,本发明实施例的计算机可读存储介质,用于存储计算机程序,一种实施方式中,所述计算机程序可被处理器执行实现以下步骤:
接收终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为计算机与所述终端设备预先约定的通讯协议;
按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示所述解析结果。
可选的,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
可选的,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
可选的,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
可选的,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
可选的,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
可选的,所述计算机程序可被处理器执行实现以下步骤:
按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取与所述Log信息的校验数据标识对应的目标校验数据;
采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
可选的,所述计算机程序可被处理器执行实现以下步骤:
在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
对分割后的所述至少两条Log信息进行逐条解析。
另一种实施方式中,所述计算机程序可被处理器执行实现以下步骤:
在固件启动的情况下,使用预设通讯协议向计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与终端设备预先约定的通讯协议。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种固件调试方法,应用于计算机,其特征在于,所述计算机与终端设备建立有通信连接,所述方法包括:
接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示所述解析结果。
2.根据权利要求1所述的方法,其特征在于,所述预设通讯协议包括Log信息头部和Log信息数据段,所述Log信息头部用于指示固件内的模块标识,所述Log信息数据段用于指示固件的运行状况。
3.根据权利要求2所述的方法,其特征在于,所述Log信息头部包括Log级别字段、模块标识字段和校验标志字段,所述Log级别字段用于指示提示级别,所述模块标识字段用于指示固件内的模块标识,所述校验标志字段用于指示数据校验方法。
4.根据权利要求3所述的方法,其特征在于,所述Log信息数据段包括校验数据标识字段和Log数据字段,所述校验数据标识字段用于指示预置数据库中的校验数据标识,所述Log数据字段用于指示固件的运行状况。
5.根据权利要求4所述的方法,其特征在于,所述按照所述预设通讯协议,对所述Log信息进行解析,包括:
按照所述预设通讯协议,确定所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段;
根据所述Log信息中的校验标志字段、校验数据标识字段和Log数据字段,确定所述Log信息的校验标志、校验数据标识和携带的Log数据;
获取与所述Log信息的校验数据标识对应的目标校验数据;
采用所述Log信息中的校验标志所对应的数据校验方法,对所述Log信息中携带的Log数据与所述目标校验数据进行校验。
6.根据权利要求2所述的方法,其特征在于,所述预设通讯协议还包括Log信息起始标志段和Log信息结束标志段,所述Log信息起始标志段用于指示Log信息的起始标志,所述Log信息结束标志段用于指示Log信息的结束标志。
7.根据权利要求6所述的方法,其特征在于,所述预设通讯协议还包括标志位长度段,所述标志位长度段用于指示所述Log信息起始标志段的长度和所述Log信息结束标志段的长度。
8.根据权利要求6或7所述的方法,其特征在于,所述按照所述预设通讯协议,对所述Log信息进行解析,包括:
在接收到至少两条Log信息的情况下,按照所述预设通讯协议,确定所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段;
根据所述至少两条Log信息中的Log信息起始标志段和Log信息结束标志段,对所述至少两条Log信息进行分割;
对分割后的所述至少两条Log信息进行逐条解析。
9.一种固件调试方法,应用于终端设备,其特征在于,所述终端设备与计算机建立有通信连接,所述方法包括:
在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
10.一种固件调试系统,其特征在于,包括计算机和终端设备,所述计算机与终端设备建立有通信连接,其中,
所述终端设备用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
所述计算机用于接收所述终端设备发送的所述固件运行状态Log信息;按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;展示所述解析结果。
11.一种固件调试装置,设置于计算机,其特征在于,所述计算机与终端设备建立有通信连接,所述固件调试装置包括:
接收模块,用于接收所述终端设备使用预设通讯协议发送的固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议;
解析模块,用于按照所述预设通讯协议,对所述Log信息进行解析,得到解析结果;
展示模块,用于展示所述解析结果。
12.一种固件调试装置,设置于终端设备,其特征在于,所述终端设备与计算机建立有通信连接,所述固件调试装置包括:
发送模块,用于在固件启动的情况下,使用预设通讯协议向所述计算机发送固件运行状态Log信息,其中,所述预设通信协议为所述计算机与所述终端设备预先约定的通讯协议。
13.一种计算机,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于读取存储器中的程序实现如权利要求1至8中任一项所述的固件调试方法中的步骤。
14.一种终端设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于读取存储器中的程序实现如权利要求9所述的固件调试方法中的步骤。
15.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的固件调试方法中的步骤;或者,所述计算机程序被处理器执行时实现如权利要求9所述的固件调试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345790.2A CN113645052B (zh) | 2020-04-27 | 2020-04-27 | 一种固件调试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345790.2A CN113645052B (zh) | 2020-04-27 | 2020-04-27 | 一种固件调试方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645052A true CN113645052A (zh) | 2021-11-12 |
CN113645052B CN113645052B (zh) | 2022-11-08 |
Family
ID=78415200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010345790.2A Active CN113645052B (zh) | 2020-04-27 | 2020-04-27 | 一种固件调试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645052B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023240558A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京小米移动软件有限公司 | 一种固件的调试方法及其装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08171501A (ja) * | 1994-12-19 | 1996-07-02 | Fujitsu Ltd | ファームウェアデバッグ方法 |
US6272454B1 (en) * | 1998-03-20 | 2001-08-07 | Fujitsu Limited | Debugging and cosimulation method for wide band switch firmware |
US20050108514A1 (en) * | 2003-11-14 | 2005-05-19 | Rothman Michael A. | Firmware emulation environment for developing, debugging, and testing firmware components including option ROMs |
CN101945155A (zh) * | 2010-09-03 | 2011-01-12 | 展讯通信(上海)有限公司 | 实时抓取终端调试信息的方法及终端设备 |
US20140068342A1 (en) * | 2012-09-03 | 2014-03-06 | Chia Chien Chuang | Wireless Debugging and Updating of Firmware |
US10133654B1 (en) * | 2017-02-28 | 2018-11-20 | American Megatrends, Inc. | Firmware debug trace capture |
CN109032928A (zh) * | 2018-07-03 | 2018-12-18 | 中国电子科技集团公司第十四研究所 | 嵌入式软件构件监测方法 |
CN109521702A (zh) * | 2017-09-19 | 2019-03-26 | 蓝星(北京)技术中心有限公司 | 一种监视分布式控制系统运行状态的方法及服务器 |
CN111008113A (zh) * | 2019-12-20 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种SAS-Expander测试方法和工具 |
US10628285B1 (en) * | 2018-07-19 | 2020-04-21 | American Megatrends International, Llc | Dynamic configuration of availability of debugging messages |
-
2020
- 2020-04-27 CN CN202010345790.2A patent/CN113645052B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08171501A (ja) * | 1994-12-19 | 1996-07-02 | Fujitsu Ltd | ファームウェアデバッグ方法 |
US6272454B1 (en) * | 1998-03-20 | 2001-08-07 | Fujitsu Limited | Debugging and cosimulation method for wide band switch firmware |
US20050108514A1 (en) * | 2003-11-14 | 2005-05-19 | Rothman Michael A. | Firmware emulation environment for developing, debugging, and testing firmware components including option ROMs |
CN101945155A (zh) * | 2010-09-03 | 2011-01-12 | 展讯通信(上海)有限公司 | 实时抓取终端调试信息的方法及终端设备 |
US20140068342A1 (en) * | 2012-09-03 | 2014-03-06 | Chia Chien Chuang | Wireless Debugging and Updating of Firmware |
US10133654B1 (en) * | 2017-02-28 | 2018-11-20 | American Megatrends, Inc. | Firmware debug trace capture |
CN109521702A (zh) * | 2017-09-19 | 2019-03-26 | 蓝星(北京)技术中心有限公司 | 一种监视分布式控制系统运行状态的方法及服务器 |
CN109032928A (zh) * | 2018-07-03 | 2018-12-18 | 中国电子科技集团公司第十四研究所 | 嵌入式软件构件监测方法 |
US10628285B1 (en) * | 2018-07-19 | 2020-04-21 | American Megatrends International, Llc | Dynamic configuration of availability of debugging messages |
CN111008113A (zh) * | 2019-12-20 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种SAS-Expander测试方法和工具 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023240558A1 (zh) * | 2022-06-16 | 2023-12-21 | 北京小米移动软件有限公司 | 一种固件的调试方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113645052B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459794B (zh) | 通信网络测试方法、装置、计算机设备和存储介质 | |
CN107656874B (zh) | 一种接口测试方法、装置、模拟挡板及系统 | |
CN110287109B (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
CN110532168B (zh) | 全链路接口压测方法、装置、计算机设备及存储介质 | |
CN109726108B (zh) | 基于模拟数据的前端代码测试方法、装置、系统和介质 | |
CN111352760B (zh) | 一种数据处理的方法以及相关装置 | |
CN106713011B (zh) | 一种获取测试数据的方法与系统 | |
CN115757483A (zh) | 一种自动化测试方法、装置、电子设备和存储介质 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、系统、电子设备和介质 | |
CN113645052B (zh) | 一种固件调试方法及相关设备 | |
CN113434405B (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN110943759A (zh) | 一种基于深度优先搜索算法的电力通信链路数据校核方法 | |
CN111190786A (zh) | 基于uvm的测试构架、测试平台及测试方法 | |
CN115842861A (zh) | 边缘连接设备适配方法、装置及计算机可读存储介质 | |
CN115657981A (zh) | 验证环境中的打印信息的打印等级的设置方法及验证方法 | |
CN112000579B (zh) | 一种软件接口测试方法、系统、设备及介质 | |
CN110377463A (zh) | 接口测试方法、装置、终端及计算机可读存储介质 | |
CN113360381B (zh) | 主机下平台的自动化测试中案例校对系统及方法 | |
CN114003484A (zh) | 接口测试的日志输出方法、装置、设备及存储介质 | |
CN112445195A (zh) | 一种车辆控制器的功能测试方法和装置 | |
CN114328231B (zh) | 测试方法、装置、电子设备及存储介质 | |
CN114816876B (zh) | 一种服务器Redfish接口规范的自动化测试系统 | |
CN116155322A (zh) | 一种用于hplc电力线载波模块串口调试的方法 | |
CN115687065A (zh) | 测试脚本的生成方法和装置、存储介质及电子装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |