CN110554966A - 一种驱动调试方法、行为分析方法及驱动调试系统 - Google Patents
一种驱动调试方法、行为分析方法及驱动调试系统 Download PDFInfo
- Publication number
- CN110554966A CN110554966A CN201910849144.7A CN201910849144A CN110554966A CN 110554966 A CN110554966 A CN 110554966A CN 201910849144 A CN201910849144 A CN 201910849144A CN 110554966 A CN110554966 A CN 110554966A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- list
- debugging
- monitoring object
- response
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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)
- Debugging And Monitoring (AREA)
Abstract
一种驱动调试方法、行为分析方法及驱动调试系统,其中的驱动调试方法包括:响应驱动调试命令维护嵌入式设备的监控列表和响应列表,其中驱动调试命令包括嵌入式设备中至少一个监控对象的配置信息,监控列表用于记录一个或多个监控对象的目标地址,响应列表用于记录各个监控对象的动作信息;在监控列表或响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出该推送消息。由于嵌入式设备自身设置了监控列表和响应列表,使得在驱动调试嵌入式设备时可以方便地通过监控列表和响应列表对每个监控对象以及每个调试动作进行实时地记录,从而利于实时监控驱动调试的整个过程。
Description
技术领域
本发明涉及嵌入式技术领域,具体涉及一种驱动调试方法、行为分析方法及驱动调试系统。
背景技术
嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或微控制器(MCU)组成,相关支撑硬件包括显示卡、存储介质(ROM和RAM等)、通讯设备的读取设备;嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory)作为存储介质。嵌入式软件系统包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。当前,嵌入式设备具有便利灵活、性价比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。
随着嵌入式系统应用越来越广泛,嵌入式设备也越来越复杂,其中涉及到的硬件的数量也随之剧增,嵌入式软件系统往往通过驱动层来控制多种硬件,不同硬件间的协作关系需要满足时序要求,运行过程中各个硬件不断地变化自身的配置状态。对嵌入式设备进行调试时,现有的调试手段是通过增加调试打印来完成需要关注的硬件的配置变化,这种方法需要软件人员和硬件人员共同配合才能完成,很多时候需要重新修改软件代码来增加调试过程,致使调试效率低下。
发明内容
本发明主要解决的技术问题是如何提高嵌入式设备的硬件、软件的调试效率。为克服上述技术问题,本申请提供一种驱动调试方法、行为分析方法及驱动调试系统,通过主动监控线程来覆盖所有嵌入式设备硬件的控制接口,从而降低软件调试的难度,以及增加硬件调试的灵活性。
根据第一方面,一种实施例中提供一种设备端的驱动调试方法,包括:响应驱动调试命令维护嵌入式设备的监控列表和响应列表;其中所述驱动调试命令包括嵌入式设备中至少一个监控对象的配置信息;所述监控列表用于记录一个或多个所述监控对象的目标地址,所述响应列表用于记录各个所述监控对象的动作信息;在所述监控列表或所述响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出所述推送消息。
当所述嵌入式设备被驱动自动进行调试时,所述驱动调试命令被产生并被发送到所述嵌入式设备,以被所述嵌入式设备响应;当所述嵌入式设备被触发其中任意一个硬件时,所述嵌入式设备产生并响应所述驱动调试命令;其中,对于每个所述监控对象,该监控对象对应的配置信息包括添加监控、删除监控、添加响应和删除响应中的任意一者,以及包括对应的目标地址和响应值。
所述响应驱动调试命令维护所述嵌入式设备的监控列表和响应列表,包括:根据所述配置信息中的添加监控或删除监控更新所述监控列表中对应的所述监控对象的目标地址;根据所述配置信息中的添加响应或删除响应重设所述响应列表中对应的所述监控对象的动作信息。
所述在所述监控列表或所述响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出所述推送消息,包括:检测所述监控列表和所述响应列表,若判断更新所述监控列表中任意一个所述监控对象的目标地址,或者,判断重设所述响应列表中任意一个所述监控对象的动作信息,则根据该监控对象的目标地址和当前的动作信息生成推送消息;将所述推送消息实时地输出至一主机端,以使得所述主机端对每个所述监控对象的行为变化进行分析。
所述监控对象为所述嵌入式设备中各个硬件的硬件地址或寄存器地址;所述驱动调试命令和所述推送消息均采用预设的json数据格式。
根据第二方面,一种实施例中提供一种主机端的行为分析方法,包括:获取一嵌入式设备输出的推送消息;所述嵌入式设备按照上述第一方面中所述的驱动调试方法输出所述推送消息,所述推送消息包括所述嵌入式设备中至少一个所述监控对象的目标地址和当前的动作信息;生成图形化的行为分析列表,按照所述推送消息的时间顺序将所述监控对象的目标地址和当前的动作信息填入所述行为分析列表中,以对所述嵌入式设备中各个所述监控对象的行为变化进行分析。
根据第三方面,一种实施例中提供一种驱动调试系统,包括:数字示波器,包括一个或多个监控对象;客户端,与所述数字示波器建立通信连接;所述数字示波器用于根据上述第一方面中所述的驱动调试方法向所述客户端输出所述推送消息,所述推送消息包括所述数字示波器中至少一个所述监控对象的目标地址和当前的动作信息;所述客户端用于根据上述第二方面中所述的行为分析方法对所述数字示波器中各个所述监控对象的行为变化进行分析。
所述客户端和所述数字示波器之间通信连接的方式为socket TCP长连接,且所述数字示波器获取的驱动调试命令和所述客户端获取的推送消息均采用预设的json数据格式;在所述客户端驱动所述数字示波器自动进行调试时产生所述驱动调试命令且被发送到所述数字示波器以被所述数字示波器响应,和/或,在外部触发所述数字示波器的控制按钮时所述数字示波器产生所述驱动调试命令且被自身响应。
所述客户端包括显示器,在所述显示器上生成图形化的行为分析列表,所述行为分析列表包括每个所述监控对象的名称、目标地址、历史的动作信息、当前的动作信息,以通过每个所述监控对象的历史的动作信息和当前的动作信息确定该监控对象的行为进程,从而对该监控对象的行为变化进行分析。
根据第四方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现上述第一方面或第二方面中所述的方法。
本申请的有益效果是:
依据上述实施例的一种驱动调试方法、行为分析方法及驱动调试系统,其中的驱动调试方法包括:响应驱动调试命令维护嵌入式设备的监控列表和响应列表,其中驱动调试命令包括嵌入式设备中至少一个监控对象的配置信息,监控列表用于记录一个或多个监控对象的目标地址,响应列表用于记录各个监控对象的动作信息;在监控列表或响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出该推送消息。第一方面,由于嵌入式设备自身设置了监控列表和响应列表,使得在驱动调试嵌入式设备时可以方便地通过监控列表和响应列表对每个监控对象以及每个调试动作进行实时地记录,从而利于监控驱动调试的整个过程;第二方面,通过每个监控对象的配置信息可以随时对该监控对象进行删除监控或添加监控的操作,并将操作信息记录在监控列表中,如此可以在第一时间内了解到每个监控对象的存在变化情况;第三方面,通过每个监控对象的配置信息还可以随时对该监控对象的动作进行删除响应或添加响应的操作,并将操作信息记录在响应列表中,如此可以在第一时间内了解到每个监控对象的动作变化情况;第四方面,由于将监控列表或响应列表由任意一条改变的记录生成地推送消息实时地输出至主机端,使得主机端请求保护的行为分析方法及时地对每个监控对象的行为变化进行分析,从而帮助技术人员能够掌控嵌入式设备的驱动调试过程,为设备的软件和硬件调试带来便利,也增强了驱动调试的灵活性;第五方面,本申请的驱动调试系统包括数字示波器和客户端,从而可以借助socket TCP长连接的通信连接方式来进行驱动调试命令和推送消息的传输作业,既可以对数字示波器执行自动驱动调试,也可以及时地实现驱动调试结果的回传,从而在可视化的客户端上查看数字示波器的驱动调试效果,实现主动监控线程覆盖数字示波器中所有监控对象的目的;第六方面,方便技术人员对诸如数字示波器的嵌入式设备进行驱动调试时,可以有条件地将监控对象的硬件配置替换掉并立即生效,不影响原始运行过程,加强嵌入式设备驱动调试的可行性。
附图说明
图1为本申请中设备端-主机端构成的驱动测试系统的结构示意图;
图2为本申请中设备端的驱动测试方法的流程图;
图3为维护监控列表和响应列表的流程图;
图4为本申请中主机端的行为分析方法的流程图;
图5为本申请中数字示波器-客户端构成的驱动调试系统的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
请参考图1,为了完成设备端的驱动测试工作,本申请构建了设备端11和主机端12的测试系统构架1,该测试系统构1架类似于CS架构(即Client-Server结构),由Client端负责完成与用户的交互任务,Server端负责数据的管理和驱动处理任务。那么,这里的主机端12可以通过局域网与设备端11相连,主机端12接受用户的交互任务并通过网络向设备端11提出驱动测试请求,从而使得设备端11进行驱动测试。此外,设备端11接受主机端12的请求,将驱动测试数据发送至主机端12,从而使得主机端12对接收的测试数据进行计算并将结果呈现给用户。
为了清楚理解本申请技术方案,接下来将对设备端11上执行的驱动测试方法和主机端12上执行的行为分析方法分别进行说明。
实施例一、
请参考图2,本申请公开一种设备端的驱动调试方法,其主要包括步骤S110-S120,下面分别说明。
步骤S110,设备端11响应驱动调试命令维护嵌入式设备的监控列表和响应列表。其中,设备端11收到的驱动调试命令包括嵌入式设备中至少一个监控对象的配置信息;这里的监控列表用于记录一个或多个监控对象的目标地址,响应列表用于记录各个监控对象的动作信息。
在本实施例中,设备端11即为嵌入式设备,其包括一个或多个监控对象,监控对象为嵌入式设备中各个硬件的硬件地址或寄存器地址。需要说明的是,嵌入式设备是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机设备,核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成,与通用计算机能够运行用户选择的软件不同,嵌入式设备上的软件通常是暂时不变的,所以经常称为“固件”。嵌入式设备在测控测量、仪器仪表、工业控制、机器人等领域内被广泛应用,为一些特定场景应用带来了使用优势。
在本实施例中,当嵌入式设备被驱动自动进行调试时,那么驱动调试命令被产生并被发送到嵌入式设备,以被嵌入式设备响应。或者,当嵌入式设备被触发其中任意一个硬件时,该嵌入式设备产生并响应驱动调试命令。
需要说明的是,在对嵌入式设备(即设备端11)进行软硬件开发或者技术升级的时候,往往需要对其进行驱动调试,借助上位机(如主机端12)对嵌入式设备进行自动驱动调试,主机端12不断地产生驱动调试命令且发送给设备端11,以使得设备端11代表的嵌入式设备能够响应于该驱动调试命令并执行相应的软硬件调试工作。此外,嵌入式设备(即设备端11)上可能设有一些功能接口或功能按钮,技术人员在通过功能接口或者功能按钮使能某项功能时,都会触发嵌入式设备中的某一个硬件或者关联的多个硬件进行工作,此时嵌入式设备会依据被触发硬件的功能要求来产生驱动调试命令,从而根据该驱动调试命令执行相应的软硬件调试工作。
在本实施例中,对于每个监控对象,该监控对象对应的配置信息包括添加监控、删除监控、添加响应和删除响应中的任意一者,以及包括对应的目标地址和响应值。
例如,驱动调试命令中任意一个监控对象的配置信息可以定义为:[keyword],[添加监控/删除监控/添加响应/删除响应],[目标地址],{[条件],[值]}。其中,keyword表示关键字,可以指示驱动调试的类型;添加监控、删除监控分别用于添加一个监控对象、删除一个监控对象;添加响应、删除响应分别用于添加一个监控对象调试的动作、删除一个监控对象调试的动作;目标地址表示监控对象的硬件地址或寄存器地址;{[条件],[值]}在添加响应时有效,“条件”表示监控对象的动作变化条件,“值”表示监控对象在动作变化时的变化值。
在一具体实施例中,参见图3,该步骤S110可以包括步骤S111-S112,分别说明如下。
步骤S111,设备端11根据配置信息中的添加监控或删除监控更新监控列表中对应的监控对象的目标地址。
例如,若某一个监控对象的配置信息中存在添加监控、目标地址的信息,那么可以在嵌入式设备的监控列表中增加该目标地址,相当于把该目标地址对应的监控对象加入了被监控的行列中。
例如,若某一个监控对象的配置信息中存在删除监控、目标地址的信息,那么可以在嵌入式设备的监控列表中去除该目标地址,相当于把该目标地址对应的监控对象从被监控的行列中移除。
步骤S112,设备端11根据配置信息中的添加响应或删除响应重设响应列表中对应的监控对象的动作信息。
例如,若某一个监控对象的配置信息中存在添加响应、目标地址、条件、值的信息,那么可以在嵌入式设备的响应列表中添加该“条件”、“值”,并且将添加的内容与监控列表中的该目标地址相关联,相当于该目标地址对应的监控对象在条件满足时执行与“值”匹配的动作。
例如,若某一个监控对象的配置信息中存在删除响应、目标地址的信息,那么可以在嵌入式设备的响应列表中去除该目标地址所关联的“条件”、“值”,相当于把该目标地址对应的监控对象不再执行有关的动作。
需要说明的是,本具体实施例中的步骤S111和步骤S112可以并列进行,不必区分执行的先后顺序。也就是说,如果监控列表中已经存在了某一个监控对象的目标地址,则可以执行步骤S112对该监控对象进行添加响应或删除响应的操作即可。
步骤S120,设备端11在监控列表或响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出该推送消息。
在一具体实施例中,设备端11不断地检测该监控列表和响应列表,若判断更新监控列表中任意一个监控对象的目标地址的情形发生时,或者,判断重设响应列表中任意一个监控对象的动作信息的情形发生时,则设备端11可以根据该监控对象的目标地址和当前的动作信息生成推送消息,以及该设备端11将推送消息实时地输出至一主机端,以使得该主机端对每个监控对象的行为变化进行分析。
在一具体实施例中,推送消息可以定义为:[keyword],[添加监控/删除监控/添加响应/删除响应],[目标地址],[值]。其中,keyword表示关键字,可以指示驱动调试的类型;添加监控、删除监控用于表示一个监控对象的被监控状态;添加响应、删除响应用于表示一个监控对象调试的动作状态;目标地址表示监控对象的硬件地址或寄存器地址;值表示监控对象在动作变化时的变化值。
在本实施例中,嵌入式设备(即设备端11)内的各个监控对象为嵌入式设备中各个硬件的硬件地址或寄存器地址。而且,驱动调试命令和推送消息均采用预设的json数据格式。
需要说明的是,json(Java Script Object Notation)是一种轻量级的数据交换格式,它是基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得json成为理想的数据交换语言。json数据格式易于人阅读和编写,同时也易于机器解析和生成,能够有效地提升网络传输效率,通常,任何支持的类型都可以通过json数据格式来进行表示,例如字符串、数字、对象、数组等。简单地说,json可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。
实施例二、
请参考图4,在实施一中公开的驱动调试方法的基础上,本申请还公开一种主机端的行为分析方法,该行为分析方法包括步骤S210-S220,下面分别说明。
步骤S210,主机端12获取一嵌入式设备(如设备端11)输出的推送消息。这里的嵌入式设备按照实施例一中公开的驱动调试方法输出推送消息,该推送消息包括嵌入式设备中至少一个监控对象的目标地址和当前的动作信息。
例如,主机端12产生驱动调试命令来对设备端11进行自动驱动调试时,或者,设备端11内的某一个硬件被触发后产生驱动调试命令且对设备端11进行人为驱动调试时,则该设备端11表示的嵌入式设备将响应于该驱动调试命令来对调试自身的软硬件,随后,设备端11在监控列表或响应列表中的任意一条记录发生改变时,生成该记录对应的推送消息且实时地输出该推送消息至主机端12。
步骤S220,主机端12生成图形化的行为分析列表,按照推送消息的时间顺序将监控对象的目标地址和当前的动作信息填入该行为分析列表中,以对嵌入式设备中各个监控对象的行为变化进行分析。
需要说明的是,主机端12生成的行为分析列表可以包括每个监控对象的名称、目标地址、历史的动作信息、当前的动作信息,那么主机端在收到任意一个监控对象所对应的推送消息时,可以将推送消息中解析出来的当前的动作信息添加到行为分析列表内的相应位置。此外,主机端12可以通过每个监控对象的历史的动作信息和当前的动作信息确定该监控对象的行为进程,从而辅助技术人员(用户)对该监控对象的行为变化进行分析。
本领域的技术人员可以理解,在实施上述实施例一和实施例二公开的技术方案时,可以形成以下的技术优势:(1)由于嵌入式设备自身设置了监控列表和响应列表,使得在驱动调试嵌入式设备时可以方便地通过监控列表和响应列表对每个监控对象以及每个调试动作进行实时地记录,从而利于监控驱动调试的整个过程;(2)通过每个监控对象的配置信息可以随时对该监控对象进行删除监控或添加监控的操作,并将操作信息记录在监控列表中,如此可以在第一时间内了解到每个监控对象的存在变化情况;(3)通过每个监控对象的配置信息还可以随时对该监控对象的动作进行删除响应或添加响应的操作,并将操作信息记录在响应列表中,如此可以在第一时间内了解到每个监控对象的动作变化情况;(4)由于将监控列表或响应列表由任意一条改变的记录生成地推送消息实时地输出至主机端,使得主机端请求保护的行为分析方法及时地对每个监控对象的行为变化进行分析,从而帮助技术人员能够掌控嵌入式设备的驱动调试过程,为设备的软件和硬件调试带来便利,也增强了驱动调试的灵活性。
实施例三、
请参考图5,在实施例一中公开的驱动调试方法以及实施例二中公开的行为分析方法的基础上,本申请公开一种针对数字示波器的驱动调试系统2,该驱动调试系统主要包括数字示波器21和客户端22,下面分别说明。
数字示波器21包括一个或多个监控对象,这里的数字示波器21可视为是一种嵌入式设备,那么其包括的监控对象是指示波器内部各个硬件的硬件地址或寄存器地址。
客户端22与数字示波器21建立通信连接。这里的客户端22相当于上位机(或主机端12),可以产生驱动调试命令并发送至数字示波器21,也可以接收数字示波器21输出的推送消息。这里的客户端22可以是计算机、工作站等设备,不做具体限定。
在本实施例中,数字示波器21可以根据实施例一中公开的驱动调试方法向客户端22输出推送消息,该推送消息包括数字示波器21中至少一个监控对象的目标地址和当前的动作信息。关于数字示波器21的详细功能(如响应驱动调试命令、生成且输出推送消息)可以参见实施例一中的步骤S110-S120,这里不再进行赘述。
在本实施例中,客户端22可以根据实施例二中公开的行为分析方法对数字示波器21中各个监控对象的行为变化进行分析。关于客户端22的详细功能(如获取推送消息、生成行为分析列表、填入行为分析列表、行为变化分析)可以参见实施例二中的步骤S210-S220,这里不再进行赘述。
在本实施例中,客户端22驱动数字示波器21自动进行调试时产生驱动调试命令且被发送到数字示波器21以被数字示波器21响应,和/或,在外部触发数字示波器21的控制按钮时数字示波器21产生驱动调试命令且被自身响应。
例如,需要对数字示波器21进行驱动调试时,客户端22会不断地生成一些驱动调试命令并发送给数字示波器21,从而对数字示波器21中与该些驱动调试命令相关的软硬件进行调试。此外,数字示波器21的控制面板上往往设置一些控制按钮,用户在操作某一个控制按钮时会触发产生与该控制按钮相关的功能性调节信号,数字示波器21为实现该控制按钮对应的功能,则会生成一些驱动调节信号,从而对数字示波器21中与该些驱动调试命令相关的软硬件进行调试。
在一个具体实施例中,客户端22包括显示器(图5中未进行附图标记),那么可以在该显示器上生成图形化的行为分析列表,该行为分析列表包括每个监控对象的名称、目标地址、历史的动作信息、当前的动作信息,由此可以通过每个监控对象的历史的动作信息和当前的动作信息确定该监控对象的行为进程,从而辅助技术人员(用户)对该监控对象的行为变化进行分析。
在一个具体实施例中,客户端22和数字示波器21之间通信连接的方式为socketTCP长连接,并且,数字示波器21获取的驱动调试命令和客户端22获取的推送消息均采用预设的json数据格式。
需要说明的是,在数字示波器21和客户端22之间进行通信连接时,需要通过通信应用程序来实现信息的交互,由于TCP/IP的核心内容被封装在操作系统中,如果应用程序要使用TCP/IP,则需要通过系统提供的TCP/IP的编程接口来实现。为了支持用户面向应用的通信程序,大部分系统都提供了一组基于TCP或者UDP的应用程序编程接口(API),该接口通常以一组函数的形式出现,也称为套接字(Socket)。这里的Socket实质是一种独立于协议的网络编程接口,包括流式套接字、数据报套接字和原始套接字等类型,作用是完成两个应用程序之间的数据传输。Socket允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信,那么可以将Socket看成是两个网络应用程序进行通信时,各自通信连接中的一个端点;在通信时,其中的一个网络应用程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过网络接口卡的传输介质将这段信息发送给另一台主机的Socket中,使这段信息能传送到其他程序中。由此可见,两个应用程序之间的数据传输要通过套接字来完成,可以达到便捷组网、数据快速传输的应用目的。
本领域的技术人员可以理解,本实施例中提供的驱动调试系统2具有组成简单、监控对象灵活配置、驱动调试状态随时可查的应用优势,具体概括为:(1)本申请的驱动调试系统包括数字示波器和客户端,从而可以借助socket TCP长连接的通信连接方式来进行驱动调试命令和推送消息的传输作业,既可以对数字示波器执行自动驱动调试,也可以及时地实现驱动调试结果的回传,从而在可视化的客户端上查看数字示波器的驱动调试效果,实现主动监控线程覆盖数字示波器中所有监控对象的目的;(2)方便技术人员对诸如数字示波器的嵌入式设备进行驱动调试时,可以有条件地将监控对象的硬件配置替换掉并立即生效,不影响原始运行过程,加强嵌入式设备驱动调试的可行性。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (10)
1.一种设备端的驱动调试方法,其特征在于,包括:
响应驱动调试命令维护嵌入式设备的监控列表和响应列表;其中所述驱动调试命令包括嵌入式设备中至少一个监控对象的配置信息;所述监控列表用于记录一个或多个所述监控对象的目标地址,所述响应列表用于记录各个所述监控对象的动作信息;
在所述监控列表或所述响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出所述推送消息。
2.如权利要求1所述的驱动调试方法,其特征在于,
当所述嵌入式设备被驱动自动进行调试时,所述驱动调试命令被产生并被发送到所述嵌入式设备,以被所述嵌入式设备响应;
当所述嵌入式设备被触发其中任意一个硬件时,所述嵌入式设备产生并响应所述驱动调试命令;
其中,对于每个所述监控对象,该监控对象对应的配置信息包括添加监控、删除监控、添加响应和删除响应中的任意一者,以及包括对应的目标地址和响应值。
3.如权利要求2所述的驱动调试方法,其特征在于,所述响应驱动调试命令维护所述嵌入式设备的监控列表和响应列表,包括:
根据所述配置信息中的添加监控或删除监控更新所述监控列表中对应的所述监控对象的目标地址;
根据所述配置信息中的添加响应或删除响应重设所述响应列表中对应的所述监控对象的动作信息。
4.如权利要求3所述的驱动调试方法,其特征在于,所述在所述监控列表或所述响应列表中的任意一条记录发生改变时,生成该记录的推送消息且实时地输出所述推送消息,包括:
检测所述监控列表和所述响应列表,若判断更新所述监控列表中任意一个所述监控对象的目标地址,或者,判断重设所述响应列表中任意一个所述监控对象的动作信息,则根据该监控对象的目标地址和当前的动作信息生成推送消息;将所述推送消息实时地输出至一主机端,以使得所述主机端对每个所述监控对象的行为变化进行分析。
5.如权利要求1-4中任一项所述的驱动调试方法,其特征在于,所述监控对象为所述嵌入式设备中各个硬件的硬件地址或寄存器地址;所述驱动调试命令和所述推送消息均采用预设的json数据格式。
6.一种主机端的行为分析方法,其特征在于,包括:
获取一嵌入式设备输出的推送消息;所述嵌入式设备按照权利要求1-5中任一项所述的驱动调试方法输出所述推送消息,所述推送消息包括所述嵌入式设备中至少一个所述监控对象的目标地址和当前的动作信息;
生成图形化的行为分析列表,按照所述推送消息的时间顺序将所述监控对象的目标地址和当前的动作信息填入所述行为分析列表中,以对所述嵌入式设备中各个所述监控对象的行为变化进行分析。
7.一种驱动调试系统,其特征在于,包括:
数字示波器,包括一个或多个监控对象;
客户端,与所述数字示波器建立通信连接;
所述数字示波器用于根据所述权利要求1-5中任一项所述的驱动调试方法向所述客户端输出所述推送消息,所述推送消息包括所述数字示波器中至少一个所述监控对象的目标地址和当前的动作信息;
所述客户端用于根据权利要求6中所述的行为分析方法对所述数字示波器中各个所述监控对象的行为变化进行分析。
8.如权利要求7所述的驱动调试系统,其特征在于,所述客户端和所述数字示波器之间通信连接的方式为socket TCP长连接,且所述数字示波器获取的驱动调试命令和所述客户端获取的推送消息均采用预设的json数据格式;
在所述客户端驱动所述数字示波器自动进行调试时产生所述驱动调试命令且被发送到所述数字示波器以被所述数字示波器响应,和/或,在外部触发所述数字示波器的控制按钮时所述数字示波器产生所述驱动调试命令且被自身响应。
9.如权利要求7所述的驱动调试系统,其特征在于,所述客户端包括显示器,在所述显示器上生成图形化的行为分析列表,所述行为分析列表包括每个所述监控对象的名称、目标地址、历史的动作信息、当前的动作信息,以通过每个所述监控对象的历史的动作信息和当前的动作信息确定该监控对象的行为进程,从而对该监控对象的行为变化进行分析。
10.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849144.7A CN110554966B (zh) | 2019-09-09 | 2019-09-09 | 一种驱动调试方法、行为分析方法及驱动调试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849144.7A CN110554966B (zh) | 2019-09-09 | 2019-09-09 | 一种驱动调试方法、行为分析方法及驱动调试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110554966A true CN110554966A (zh) | 2019-12-10 |
CN110554966B CN110554966B (zh) | 2023-06-20 |
Family
ID=68739620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849144.7A Active CN110554966B (zh) | 2019-09-09 | 2019-09-09 | 一种驱动调试方法、行为分析方法及驱动调试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110554966B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865900A (zh) * | 2020-01-19 | 2020-03-06 | 南京火零信息科技有限公司 | 增强嵌入式系统健壮性的一种方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770119A (zh) * | 2004-10-29 | 2006-05-10 | 上海环达计算机科技有限公司 | 嵌入式设备调试方法及其调试工具 |
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
CN102360329A (zh) * | 2011-09-29 | 2012-02-22 | 西北工业大学 | 总线监控与调试控制装置及进行总线监控与总线调试的方法 |
US20160292057A1 (en) * | 2014-02-21 | 2016-10-06 | Segger Microcontroller Gmbh & Co. Kg | Real time terminal for debugging embedded computing systems |
WO2017012723A1 (en) * | 2015-07-20 | 2017-01-26 | Siemens Rail Automation S.A.U. | System and method for remotely debugging a device |
CN107608848A (zh) * | 2016-07-12 | 2018-01-19 | 博彦科技股份有限公司 | 测试方法和系统 |
CN110209453A (zh) * | 2019-05-28 | 2019-09-06 | 深圳市雷赛软件技术有限公司 | 基于驱动器的多对象自动刷新及显示方法及相关产品 |
-
2019
- 2019-09-09 CN CN201910849144.7A patent/CN110554966B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770119A (zh) * | 2004-10-29 | 2006-05-10 | 上海环达计算机科技有限公司 | 嵌入式设备调试方法及其调试工具 |
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
CN102360329A (zh) * | 2011-09-29 | 2012-02-22 | 西北工业大学 | 总线监控与调试控制装置及进行总线监控与总线调试的方法 |
US20160292057A1 (en) * | 2014-02-21 | 2016-10-06 | Segger Microcontroller Gmbh & Co. Kg | Real time terminal for debugging embedded computing systems |
WO2017012723A1 (en) * | 2015-07-20 | 2017-01-26 | Siemens Rail Automation S.A.U. | System and method for remotely debugging a device |
CN107608848A (zh) * | 2016-07-12 | 2018-01-19 | 博彦科技股份有限公司 | 测试方法和系统 |
CN110209453A (zh) * | 2019-05-28 | 2019-09-06 | 深圳市雷赛软件技术有限公司 | 基于驱动器的多对象自动刷新及显示方法及相关产品 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865900A (zh) * | 2020-01-19 | 2020-03-06 | 南京火零信息科技有限公司 | 增强嵌入式系统健壮性的一种方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110554966B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720804B2 (en) | Dynamic tracing framework for debugging in virtualized environments | |
TWI743853B (zh) | 設備控制方法、電子設備及儲存介質 | |
US20080209405A1 (en) | Distributed debugging for a visual programming language | |
US9118679B2 (en) | Analytics data collection with low integration cost for dynamic message passing systems | |
CN111930472B (zh) | 一种代码调试方法、装置、电子设备及存储介质 | |
CN104102578B (zh) | 测试方法及系统、操作端 | |
CN104699591A (zh) | 一种测试场景重现方法以及装置 | |
CN111124567B (zh) | 目标应用的操作录制方法和装置 | |
US8745537B1 (en) | Graphical interface for managing and monitoring the status of a graphical model | |
CN113722020A (zh) | 接口调用方法、装置和计算机可读存储介质 | |
CN106354629A (zh) | 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法 | |
CN109471621B (zh) | 一种基于大数据的Linux系统下的工具构建方法 | |
CN110554966A (zh) | 一种驱动调试方法、行为分析方法及驱动调试系统 | |
CN112667795A (zh) | 对话树构建方法和装置、对话树运行方法、装置以及系统 | |
CN116302621A (zh) | 基于qt界面库的信创环境元素拾取方法及系统 | |
CN108984238A (zh) | 应用程序的手势处理方法、装置及电子设备 | |
CN113068216B (zh) | 网络拨测方法、网络拨测系统及计算机可读存储介质 | |
US20230136504A1 (en) | Method for generating application for controlling external electronic device and electronic apparatus for supporting the same | |
CN114928566A (zh) | 客户端的功能测试方法、装置、存储介质与电子设备 | |
CN113961835A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114217927A (zh) | 一种线程调用方法、装置、计算机设备及存储介质 | |
CN112306845B (zh) | 一种并发测试方法、装置、设备及介质 | |
HUT66465A (en) | Interface system for coupling two computer environments | |
CN112214392A (zh) | Js代码调试方法、装置、终端及存储介质 | |
WO2023125219A1 (en) | Debugging method, iot device, debugging server and debugging system |
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 | ||
CB02 | Change of applicant information |
Address after: 518000, 3 floors of 4 workshops and 1-3 floors of 5 office buildings of Antongda industrial plant, 68 District, Xingdong community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province Applicant after: Shenzhen dingyang Technology Co.,Ltd. Address before: 518000, 3 floors of 4 workshops and 1-3 floors of 5 office buildings of Antongda industrial plant, 68 District, Xingdong community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province Applicant before: SIGLENT TECHNOLOGIES Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |